diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index 51873bc7..00000000
--- a/.editorconfig
+++ /dev/null
@@ -1,17 +0,0 @@
-# EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs
-# editorconfig.org
-
-root = true
-
-[*]
-indent_style = space
-indent_size = 2
-
-# We recommend you to keep these unchanged
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[*.md]
-trim_trailing_whitespace = false
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 0a4eae97..eb6ccae0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,12 +13,13 @@ log.txt
npm-debug.log*
.idea/
+.ionic/
.sourcemaps/
.sass-cache/
.tmp/
.versions/
coverage/
-dist/
+www/
node_modules/
tmp/
temp/
@@ -26,19 +27,10 @@ platforms/
plugins/
plugins/android.json
plugins/ios.json
-www/
$RECYCLE.BIN/
-lintReport.json
-lcov.info
-reports/
.DS_Store
Thumbs.db
UserInterfaceState.xcuserstate
-e2e-reports/*
-
-build.json
-exportOptions.plist
-airgap_cordova_secure_storage_deploy
-airgap_cordova_secure_storage_deploy.pub
+src/assets/libs/airgap-coin-lib.browserify.js
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index eb04f3ff..ea008343 100755
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -12,6 +12,7 @@ stages:
- test
- native_build
- qa
+
build_ionic:
stage: build
before_script:
@@ -53,7 +54,7 @@ build_android:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
script:
- sed -i -e "s/version=\"0.0.0\"/version=\"$VERSION\"/g" config.xml
- - docker build -f build/android/Dockerfile -t $IMAGE_TAG_ANDROID_CURRENT --build-arg KEYSTORE_PASSWORD="$KEYSTORE_PASSWORD" --build-arg KEYSTORE_ALIAS="$KEYSTORE_ALIAS" --build-arg BUILD_NR="$CI_PIPELINE_ID" .
+ - docker build -f build/android/Dockerfile -t $IMAGE_TAG_ANDROID_CURRENT --build-arg BUILD_NR="$CI_PIPELINE_ID" --build-arg VERSION="$VERSION" .
- docker run --name $CI_PIPELINE_ID $IMAGE_TAG_ANDROID_CURRENT echo "container ran."
- docker cp $CI_PIPELINE_ID:/app/android-release-unsigned.apk android-release-unsigned-$CI_PIPELINE_ID.apk
- docker cp $CI_PIPELINE_ID:/app/android-debug.apk android-debug-$CI_PIPELINE_ID.apk
@@ -76,6 +77,8 @@ build_ios:
- sed -i -e "s/version=\"0.0.0\"/version=\"$VERSION\"/g" config.xml
- nvm use v10.13.0
- npm install
+ - npm run disable-pure-getters
+ - npm run configure-mangle
- ionic cordova build ios --prod --release
- find ./resources/ -name "*.png" -exec convert "{}" -alpha off "{}" \;
- xcodebuild -workspace platforms/ios/AirGap\ Vault.xcworkspace -scheme "AirGap Vault" -destination generic/platform=iOS build -allowProvisioningUpdates
@@ -84,7 +87,7 @@ build_ios:
- /Applications/Xcode_10.1.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/altool --upload-app -f platforms/ios/AirGap\ Vault.ipa -u $IOS_USERNAME -p $IOS_PASSWORD
artifacts:
paths:
- - AirGap\ Vault.ipa
+ - platforms/ios/AirGap\ Vault.ipa
tags:
- ios
@@ -98,7 +101,7 @@ qa:
-Dsonar.typescript.tslint.reportPaths=lintReport.json
-Dsonar.test.inclusions=**/*.spec.ts
-Dsonar.tests=src/
- -Dsonar.exclusions=**/node_modules/**,**/*.spec.ts
+ -Dsonar.exclusions=**/node_modules/**,**/*.spec.ts,src/assets/libs/**
-Dsonar.sources=src/
-Dsonar.host.url=$SONAR_URL
-Dsonar.login=$SONAR_LOGIN
diff --git a/.prettierignore b/.prettierignore
index c0d13d92..a19df8d2 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1,13 +1 @@
-src/assets/
-
-.history/
-.vscode/
-apple/
-build/
-e2e/
-electron/
-hooks/
-node_modules/
-platforms/
-plugins/
-www/
\ No newline at end of file
+src/assets/
\ No newline at end of file
diff --git a/.prettierrc b/.prettierrc
index 03020513..c3c37e23 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -3,5 +3,6 @@
"trailingComma": "none",
"singleQuote": true,
"semi": false,
- "htmlWhitespaceSensitivity": "ignore"
+ "htmlWhitespaceSensitivity": "ignore",
+ "endOfLine": "lf"
}
diff --git a/Dockerfile b/Dockerfile
index df8056e1..759bbc1a 100755
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM node:9-slim
+FROM node:10
# See https://crbug.com/795759
RUN apt-get update && apt-get install -yq libgconf-2-4 bzip2 build-essential
@@ -17,12 +17,6 @@ RUN apt-get update && apt-get install -y wget --no-install-recommends \
&& apt-get purge --auto-remove -y curl \
&& rm -rf /src/*.deb
-# install npm
-RUN npm install -g npm@6.4.1
-
-# install static webserver
-RUN npm install -g node-static
-
# create app directory
RUN mkdir /app
WORKDIR /app
@@ -34,13 +28,22 @@ COPY package-lock.json /app
# install dependencies
RUN npm install
+# install static webserver
+RUN npm install node-static -g
+
+# browserify coin-lib
+# RUN npm run browserify-coinlib
+
# Bundle app source
COPY . /app
# set to production
RUN export NODE_ENV=production
+# post-install hook, to be safe if it got cached
+# RUN node config/patch_crypto.js
+
# build
-RUN npm run build
+RUN npm run build --prod
CMD ["static", "-p", "8100", "-a", "0.0.0.0", "www"]
diff --git a/angular.json b/angular.json
new file mode 100644
index 00000000..42b54182
--- /dev/null
+++ b/angular.json
@@ -0,0 +1,200 @@
+{
+ "$schema": "./node_modules/@angular-devkit/core/src/workspace/workspace-schema.json",
+ "version": 1,
+ "defaultProject": "app",
+ "newProjectRoot": "projects",
+ "projects": {
+ "app": {
+ "root": "",
+ "sourceRoot": "src",
+ "projectType": "application",
+ "prefix": "app",
+ "schematics": {},
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:browser",
+ "options": {
+ "outputPath": "www",
+ "index": "src/index.html",
+ "main": "src/main.ts",
+ "polyfills": "src/polyfills.ts",
+ "tsConfig": "src/tsconfig.app.json",
+ "assets": [
+ {
+ "glob": "**/*",
+ "input": "src/assets",
+ "output": "assets"
+ },
+ {
+ "glob": "**/*.svg",
+ "input": "node_modules/ionicons/dist/ionicons/svg",
+ "output": "./svg"
+ }
+ ],
+ "styles": [
+ {
+ "input": "src/theme/variables.scss"
+ },
+ {
+ "input": "src/global.scss"
+ },
+ {
+ "input": "src/app/app.scss"
+ }
+ ],
+ "scripts": [],
+ "es5BrowserSupport": true
+ },
+ "configurations": {
+ "production": {
+ "fileReplacements": [
+ {
+ "replace": "src/environments/environment.ts",
+ "with": "src/environments/environment.prod.ts"
+ }
+ ],
+ "optimization": true,
+ "outputHashing": "all",
+ "sourceMap": false,
+ "extractCss": true,
+ "namedChunks": false,
+ "aot": true,
+ "extractLicenses": true,
+ "vendorChunk": false,
+ "buildOptimizer": true,
+ "budgets": [
+ {
+ "type": "initial",
+ "maximumWarning": "2mb",
+ "maximumError": "5mb"
+ }
+ ]
+ },
+ "ci": {
+ "progress": false
+ }
+ }
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "options": {
+ "browserTarget": "app:build"
+ },
+ "configurations": {
+ "production": {
+ "browserTarget": "app:build:production"
+ },
+ "ci": {
+ "progress": false
+ }
+ }
+ },
+ "extract-i18n": {
+ "builder": "@angular-devkit/build-angular:extract-i18n",
+ "options": {
+ "browserTarget": "app:build"
+ }
+ },
+ "test": {
+ "builder": "@angular-devkit/build-angular:karma",
+ "options": {
+ "main": "src/test.ts",
+ "polyfills": "src/polyfills.ts",
+ "tsConfig": "src/tsconfig.spec.json",
+ "karmaConfig": "src/karma.conf.js",
+ "styles": [],
+ "scripts": [],
+ "assets": [
+ {
+ "glob": "favicon.ico",
+ "input": "src/",
+ "output": "/"
+ },
+ {
+ "glob": "**/*",
+ "input": "src/assets",
+ "output": "/assets"
+ }
+ ]
+ },
+ "configurations": {
+ "ci": {
+ "progress": false,
+ "watch": false
+ }
+ }
+ },
+ "lint": {
+ "builder": "@angular-devkit/build-angular:tslint",
+ "options": {
+ "tsConfig": ["src/tsconfig.app.json", "src/tsconfig.spec.json"],
+ "exclude": ["**/node_modules/**"]
+ }
+ },
+ "ionic-cordova-build": {
+ "builder": "@ionic/angular-toolkit:cordova-build",
+ "options": {
+ "browserTarget": "app:build"
+ },
+ "configurations": {
+ "production": {
+ "browserTarget": "app:build:production"
+ }
+ }
+ },
+ "ionic-cordova-serve": {
+ "builder": "@ionic/angular-toolkit:cordova-serve",
+ "options": {
+ "cordovaBuildTarget": "app:ionic-cordova-build",
+ "devServerTarget": "app:serve"
+ },
+ "configurations": {
+ "production": {
+ "cordovaBuildTarget": "app:ionic-cordova-build:production",
+ "devServerTarget": "app:serve:production"
+ }
+ }
+ }
+ }
+ },
+ "app-e2e": {
+ "root": "e2e/",
+ "projectType": "application",
+ "architect": {
+ "e2e": {
+ "builder": "@angular-devkit/build-angular:protractor",
+ "options": {
+ "protractorConfig": "e2e/protractor.conf.js",
+ "devServerTarget": "app:serve"
+ },
+ "configurations": {
+ "production": {
+ "devServerTarget": "app:serve:production"
+ },
+ "ci": {
+ "devServerTarget": "app:serve:ci"
+ }
+ }
+ },
+ "lint": {
+ "builder": "@angular-devkit/build-angular:tslint",
+ "options": {
+ "tsConfig": "e2e/tsconfig.e2e.json",
+ "exclude": ["**/node_modules/**"]
+ }
+ }
+ }
+ }
+ },
+ "cli": {
+ "defaultCollection": "@ionic/angular-toolkit"
+ },
+ "schematics": {
+ "@ionic/angular-toolkit:component": {
+ "styleext": "scss"
+ },
+ "@ionic/angular-toolkit:page": {
+ "styleext": "scss"
+ }
+ }
+}
diff --git a/build/android/Dockerfile b/build/android/Dockerfile
index 02e80ac5..34a1512b 100644
--- a/build/android/Dockerfile
+++ b/build/android/Dockerfile
@@ -1,9 +1,11 @@
FROM agileek/ionic-framework:3.19.1
-RUN apt-get update -y
-RUN apt-get install -y bzip2 build-essential
-RUN apt-get install -y pkg-config libcairo2-dev
-RUN apt-get install -y libjpeg-dev
+RUN apt-get update -y && apt-get install -y \
+ bzip2 \
+ build-essential \
+ pkg-config \
+ libcairo2-dev \
+ libjpeg-dev
# android build tools version
RUN ["/opt/tools/android-accept-licenses.sh", "android update sdk --all --no-ui --filter build-tools-26.0.2,android-27"]
@@ -12,22 +14,15 @@ RUN ["/opt/tools/android-accept-licenses.sh", "android update sdk --all --no-ui
RUN mkdir /app
WORKDIR /app
-# echo
-RUN npm install -g npm@6.4.1
-RUN npm cache verify
-
-# install ionic
-RUN npm install -g ionic@3.20.0
-
-# install cordova
-RUN npm install -g cordova@8.1.2
+# using npm 6.5.0 to fix installing certain cordova/ionic plugins
+RUN npm install -g npm@6.5.0 ionic@4.6.0
# Install app dependencies, using wildcard if package-lock exists
COPY package.json /app/package.json
COPY package-lock.json /app/package-lock.json
# install dependencies
-RUN npm install --no-optional
+RUN npm ci
# copy config.xml, ionic configs and resources to allow plugin installation
COPY config.xml /app/config.xml
@@ -39,7 +34,7 @@ RUN mkdir www
# run ionic android build
RUN ionic info
-# Bundle app source
+# Copy hooks (used to remove permissions)
COPY ./hooks /app/hooks
# add android platform
@@ -48,10 +43,19 @@ RUN ionic cordova platforms add android
# Bundle app source
COPY . /app
+# post-install hook, to be safe if it got cached
+RUN node config/patch_crypto.js
+
# set version code
ARG BUILD_NR
RUN sed -i -e "s/android-versionCode=\"1\"/android-versionCode=\"$BUILD_NR\"/g" config.xml
+# disable pure getters due to https://github.com/angular/angular-cli/issues/11439
+RUN npm run disable-pure-getters
+
+# configure mangle (keep_fnames) for bitcoinjs https://github.com/bitcoinjs/bitcoinjs-lib/issues/959
+RUN npm run configure-mangle
+
# build apk
RUN ionic cordova build android --prod --release --no-interactive
diff --git a/config.xml b/config.xml
index 59636e1d..836e9ae6 100644
--- a/config.xml
+++ b/config.xml
@@ -1,7 +1,7 @@
AirGap Vault
- An awesome Ionic/Cordova app.
+ A secure crypto wallet
Papers.ch Team
@@ -27,12 +27,22 @@
+
+
+
+
+
+
+
+
+
+
@@ -82,6 +92,10 @@
+
+
+
+
@@ -89,26 +103,26 @@
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
+
+
+
-
+
@@ -127,15 +141,15 @@
-
-
+
+
-
+
-
-
+
+
-
+
diff --git a/copy.config.js b/copy.config.js
deleted file mode 100644
index 049b1711..00000000
--- a/copy.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- copyMaterialIcons: {
- src: ['{{ROOT}}/node_modules/ionic2-material-icons/fonts/**/*'],
- dest: '{{WWW}}/assets/fonts'
- }
-}
diff --git a/e2e/app.e2e-spec.ts b/e2e/app.e2e-spec.ts
deleted file mode 100755
index 8a325c31..00000000
--- a/e2e/app.e2e-spec.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { Page } from './app.po'
-import { browser, element, by, protractor } from 'protractor'
-import * as fs from 'fs'
-
-describe('App', () => {
- let page: Page
-
- beforeEach(() => {
- page = new Page()
- })
-
- describe('Home Screen', () => {
- beforeEach(() => {
- page.navigateTo('/')
- browser.executeScript(() => {
- localStorage.clear()
- localStorage.setItem('__airgap_storage/_ionickv/DISCLAIMER_INITIAL', 'true')
- })
- })
-
- it('should have a title saying "Ionic App"', () => {
- page.getTitle().then(title => {
- expect(title).toEqual('Ionic App')
- })
- })
- })
-})
diff --git a/e2e/app.po.ts b/e2e/app.po.ts
deleted file mode 100755
index bc21f4da..00000000
--- a/e2e/app.po.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { browser } from 'protractor'
-
-export class Page {
- navigateTo(destination) {
- return browser.get(destination)
- }
-
- getTitle() {
- return browser.getTitle()
- }
-}
diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js
new file mode 100644
index 00000000..c0d8ae86
--- /dev/null
+++ b/e2e/protractor.conf.js
@@ -0,0 +1,26 @@
+// Protractor configuration file, see link for more information
+// https://github.com/angular/protractor/blob/master/lib/config.ts
+
+const { SpecReporter } = require('jasmine-spec-reporter')
+
+exports.config = {
+ allScriptsTimeout: 11000,
+ specs: ['./src/**/*.e2e-spec.ts'],
+ capabilities: {
+ browserName: 'chrome'
+ },
+ directConnect: true,
+ baseUrl: 'http://localhost:4200/',
+ framework: 'jasmine',
+ jasmineNodeOpts: {
+ showColors: true,
+ defaultTimeoutInterval: 30000,
+ print: function() {}
+ },
+ onPrepare() {
+ require('ts-node').register({
+ project: require('path').join(__dirname, './tsconfig.e2e.json')
+ })
+ jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }))
+ }
+}
diff --git a/e2e/src/app.e2e-spec.ts b/e2e/src/app.e2e-spec.ts
new file mode 100644
index 00000000..2310cce7
--- /dev/null
+++ b/e2e/src/app.e2e-spec.ts
@@ -0,0 +1,14 @@
+import { AppPage } from './app.po'
+
+describe('new App', () => {
+ let page: AppPage
+
+ beforeEach(() => {
+ page = new AppPage()
+ })
+
+ it('should display welcome message', () => {
+ page.navigateTo()
+ expect(page.getPageTitle()).toContain('Tab One')
+ })
+})
diff --git a/e2e/src/app.po.ts b/e2e/src/app.po.ts
new file mode 100644
index 00000000..8cfcbe74
--- /dev/null
+++ b/e2e/src/app.po.ts
@@ -0,0 +1,11 @@
+import { browser, by, element } from 'protractor'
+
+export class AppPage {
+ navigateTo() {
+ return browser.get('/')
+ }
+
+ getPageTitle() {
+ return element(by.css('ion-title')).getText()
+ }
+}
diff --git a/e2e/tsconfig.e2e.json b/e2e/tsconfig.e2e.json
new file mode 100644
index 00000000..22e04cb1
--- /dev/null
+++ b/e2e/tsconfig.e2e.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../out-tsc/app",
+ "module": "commonjs",
+ "target": "es5",
+ "types": ["jasmine", "jasminewd2", "node"]
+ }
+}
diff --git a/e2e/tsconfig.json b/e2e/tsconfig.json
deleted file mode 100755
index 2825d28c..00000000
--- a/e2e/tsconfig.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "compileOnSave": false,
- "compilerOptions": {
- "declaration": false,
- "emitDecoratorMetadata": true,
- "experimentalDecorators": true,
- "module": "commonjs",
- "moduleResolution": "node",
- "outDir": "../dist/out-tsc-e2e",
- "sourceMap": true,
- "target": "es2015",
- "typeRoots": ["../node_modules/@types"]
- }
-}
diff --git a/ionic.config.json b/ionic.config.json
index d9b7e2ba..5456b995 100644
--- a/ionic.config.json
+++ b/ionic.config.json
@@ -1,7 +1,7 @@
{
- "name": "ionic-boilerplate",
+ "name": "AirGap Vault",
"integrations": {
"cordova": {}
},
- "type": "ionic-angular"
+ "type": "angular"
}
diff --git a/package-lock.json b/package-lock.json
index 136247f1..bad0f100 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4,353 +4,308 @@
"lockfileVersion": 1,
"requires": true,
"dependencies": {
- "7zip-bin": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/7zip-bin/-/7zip-bin-4.1.0.tgz",
- "integrity": "sha512-AsnBZN3a8/JcNt+KPkGGODaA4c7l3W5+WpeKgGSbstSLxqWtTXqd1ieJGBQ8IFCtRg8DmmKUcSkIkUc0A4p3YA==",
- "dev": true
- },
- "@aeternity/hd-wallet": {
- "version": "github:dschoeni/hd-wallet-js#b216450e56954a6e82ace0aade9474673de5d9d5",
- "requires": {
- "@babel/runtime": "7.2.0",
- "bip32-path": "0.4.2",
- "postinstall-build": "5.0.3",
- "tweetnacl": "1.0.1",
- "tweetnacl-auth": "1.0.1"
- }
- },
- "@angular-devkit/build-optimizer": {
- "version": "0.0.35",
- "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.0.35.tgz",
- "integrity": "sha512-7JxZZAYFSCc0tP6+NrRn3b2Cd1b9d+a3+OfwVNyNsNd2unelqUMko2hm0KLbC8BXcXt/OILg1E/ZgLAXSS47nw==",
+ "@angular-devkit/architect": {
+ "version": "0.13.9",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.9.tgz",
+ "integrity": "sha512-EAFtCs9dsGhpMRC45PoYsrkiExpWz9Ax15qXfzwdDRacz5DmdOVt+QpkLW1beUOwiyj/bhFyj23eaONK2RTn/w==",
"dev": true,
"requires": {
- "loader-utils": "1.1.0",
- "source-map": "0.5.7",
- "typescript": "2.6.2",
- "webpack-sources": "1.3.0"
+ "@angular-devkit/core": "7.3.9",
+ "rxjs": "6.3.3"
},
"dependencies": {
- "loader-utils": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
- "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
"dev": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1"
+ "tslib": "1.9.3"
}
- },
- "typescript": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.6.2.tgz",
- "integrity": "sha1-PFtv1/beCRQmkCfwPAlGdY92c6Q=",
- "dev": true
}
}
},
- "@angular/common": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@angular/common/-/common-5.0.1.tgz",
- "integrity": "sha1-QwBas8i4/68Xaq+zuGupMcPkvfk=",
+ "@angular-devkit/build-angular": {
+ "version": "0.13.9",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.13.9.tgz",
+ "integrity": "sha512-onh07LhdxotDFjja0KKsDWNCwgpM/ymuRr5h0e+vT4AgklP2Uioz1CpzVOgxPIKkdVdGR9QgDinVsWAmY90J8g==",
+ "dev": true,
"requires": {
- "tslib": "1.9.3"
+ "@angular-devkit/architect": "0.13.9",
+ "@angular-devkit/build-optimizer": "0.13.9",
+ "@angular-devkit/build-webpack": "0.13.9",
+ "@angular-devkit/core": "7.3.9",
+ "@ngtools/webpack": "7.3.9",
+ "ajv": "6.9.1",
+ "autoprefixer": "9.4.6",
+ "circular-dependency-plugin": "5.0.2",
+ "clean-css": "4.2.1",
+ "copy-webpack-plugin": "4.6.0",
+ "file-loader": "3.0.1",
+ "glob": "7.1.3",
+ "istanbul-instrumenter-loader": "3.0.1",
+ "karma-source-map-support": "1.3.0",
+ "less": "3.9.0",
+ "less-loader": "4.1.0",
+ "license-webpack-plugin": "2.1.0",
+ "loader-utils": "1.2.3",
+ "mini-css-extract-plugin": "0.5.0",
+ "minimatch": "3.0.4",
+ "node-sass": "4.12.0",
+ "open": "6.0.0",
+ "parse5": "4.0.0",
+ "postcss": "7.0.14",
+ "postcss-import": "12.0.1",
+ "postcss-loader": "3.0.0",
+ "raw-loader": "1.0.0",
+ "rxjs": "6.3.3",
+ "sass-loader": "7.1.0",
+ "semver": "5.6.0",
+ "source-map-loader": "0.2.4",
+ "source-map-support": "0.5.10",
+ "speed-measure-webpack-plugin": "1.3.1",
+ "stats-webpack-plugin": "0.7.0",
+ "style-loader": "0.23.1",
+ "stylus": "0.54.5",
+ "stylus-loader": "3.0.2",
+ "terser-webpack-plugin": "1.2.2",
+ "tree-kill": "1.2.1",
+ "webpack": "4.29.0",
+ "webpack-dev-middleware": "3.5.1",
+ "webpack-dev-server": "3.1.14",
+ "webpack-merge": "4.2.1",
+ "webpack-sources": "1.3.0",
+ "webpack-subresource-integrity": "1.1.0-rc.6"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "dev": true,
+ "requires": {
+ "tslib": "1.9.3"
+ }
+ }
}
},
- "@angular/compiler": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-5.0.1.tgz",
- "integrity": "sha1-f9TH+ku770wUaWL6lGuCczCmyO0=",
+ "@angular-devkit/build-optimizer": {
+ "version": "0.13.9",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.13.9.tgz",
+ "integrity": "sha512-GQtCntthQHSBv5l1ZY5p00JOECb/WcE1qUBo5kFjp84z0fszDkhOy52M1kcWCX4PFzJaY4DKk58hbUE/2UN0jw==",
+ "dev": true,
"requires": {
- "tslib": "1.9.3"
+ "loader-utils": "1.2.3",
+ "source-map": "0.5.6",
+ "typescript": "3.2.4",
+ "webpack-sources": "1.3.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
+ "dev": true
+ },
+ "typescript": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz",
+ "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==",
+ "dev": true
+ }
}
},
- "@angular/compiler-cli": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-5.0.1.tgz",
- "integrity": "sha1-Um3BuzlPsWrZFmAe6pqgDrRLT/8=",
+ "@angular-devkit/build-webpack": {
+ "version": "0.13.9",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.13.9.tgz",
+ "integrity": "sha512-6ypu6pzNmQxzATF4rTWEhGSl5hyGQ8a/3aCZF/ux+XGc3d4hi2HW+NWlDm1UEna6ZjNtgEPlgfP4q8BKrjRmfA==",
+ "dev": true,
"requires": {
- "chokidar": "1.7.0",
- "minimist": "1.2.0",
- "reflect-metadata": "0.1.12",
- "tsickle": "0.24.1"
+ "@angular-devkit/architect": "0.13.9",
+ "@angular-devkit/core": "7.3.9",
+ "rxjs": "6.3.3"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "dev": true,
+ "requires": {
+ "tslib": "1.9.3"
+ }
+ }
}
},
- "@angular/core": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-5.0.1.tgz",
- "integrity": "sha1-pKdK/H4gWNMLgmPrbWbarOn0J7o=",
+ "@angular-devkit/core": {
+ "version": "7.3.9",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.3.9.tgz",
+ "integrity": "sha512-SaxD+nKFW3iCBKsxNR7+66J30EexW/y7tm8m5AvUH+GwSAgIj0ZYmRUzFEPggcaLVA4WnE/YWqIXZMJW5dT7gw==",
+ "dev": true,
"requires": {
- "tslib": "1.9.3"
+ "ajv": "6.9.1",
+ "chokidar": "2.0.4",
+ "fast-json-stable-stringify": "2.0.0",
+ "rxjs": "6.3.3",
+ "source-map": "0.7.3"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "dev": true,
+ "requires": {
+ "tslib": "1.9.3"
+ }
+ }
}
},
- "@angular/forms": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-5.0.1.tgz",
- "integrity": "sha1-afMDxME9o8qg3mNDdYg4i2rWKyE=",
+ "@angular-devkit/schematics": {
+ "version": "7.3.9",
+ "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-7.3.9.tgz",
+ "integrity": "sha512-xzROGCYp7aQbeJ3V6YC0MND7wKEAdWqmm/GaCufEk0dDS8ZGe0sQhcM2oBRa2nQqGQNeThFIH51kx+FayrJP0w==",
+ "dev": true,
"requires": {
- "tslib": "1.9.3"
+ "@angular-devkit/core": "7.3.9",
+ "rxjs": "6.3.3"
+ },
+ "dependencies": {
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
+ "dev": true,
+ "requires": {
+ "tslib": "1.9.3"
+ }
+ }
}
},
- "@angular/http": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@angular/http/-/http-5.0.1.tgz",
- "integrity": "sha1-NQy99jz6yJOWE9dT/wce1YpgVhs=",
+ "@angular/cli": {
+ "version": "7.3.9",
+ "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-7.3.9.tgz",
+ "integrity": "sha512-7oJj7CKDlFUbQav1x1CV4xKKcbt0pnxY4unKcm7Q1tVXhu8bU2bc3cDA0aJnbofcYb6TJcd/C2qHgCt78q7edA==",
+ "dev": true,
"requires": {
- "tslib": "1.9.3"
+ "@angular-devkit/architect": "0.13.9",
+ "@angular-devkit/core": "7.3.9",
+ "@angular-devkit/schematics": "7.3.9",
+ "@schematics/angular": "7.3.9",
+ "@schematics/update": "0.13.9",
+ "@yarnpkg/lockfile": "1.1.0",
+ "ini": "1.3.5",
+ "inquirer": "6.2.1",
+ "npm-package-arg": "6.1.0",
+ "open": "6.0.0",
+ "pacote": "9.4.0",
+ "semver": "5.6.0",
+ "symbol-observable": "1.2.0"
}
},
- "@angular/platform-browser": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-5.0.1.tgz",
- "integrity": "sha1-FIld0w7Sow7nuZx2t2R0j0bBqGI=",
+ "@angular/common": {
+ "version": "7.2.15",
+ "resolved": "https://registry.npmjs.org/@angular/common/-/common-7.2.15.tgz",
+ "integrity": "sha512-2b5JY2HWVHCf3D1GZjmde7jdAXSTXkYtmjLtA9tQkjOOTr80eHpNSujQqnzb97dk9VT9OjfjqTQd7K3pxZz8jw==",
"requires": {
"tslib": "1.9.3"
}
},
- "@angular/platform-browser-dynamic": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-5.0.1.tgz",
- "integrity": "sha1-Fttn1S1FMVY6sVQpxr3+GLwb7cg=",
+ "@angular/compiler": {
+ "version": "7.2.15",
+ "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-7.2.15.tgz",
+ "integrity": "sha512-5yb4NcLk8GuXkYf7Dcor4XkGueYp4dgihzDmMjYDUrV0NPhubKlr+SwGtLOtzgRBWJ1I2bO0S3zwa0q0OgIPOw==",
+ "dev": true,
"requires": {
"tslib": "1.9.3"
}
},
- "@babel/runtime": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.2.0.tgz",
- "integrity": "sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==",
- "requires": {
- "regenerator-runtime": "0.12.1"
- }
- },
- "@download/blockies": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@download/blockies/-/blockies-1.0.3.tgz",
- "integrity": "sha512-iGDh2M6pFuXg9kyW+U//963LKylSLFpLG5hZvUppCjhkiDwsYquQPyamxCQlLASYySS3gGKAki2eWG9qIHKCew=="
- },
- "@ionic-native/app-version": {
- "version": "4.18.0",
- "resolved": "https://registry.npmjs.org/@ionic-native/app-version/-/app-version-4.18.0.tgz",
- "integrity": "sha512-8zm0jFNk5UNLSoeNUdjIRjbC9zTMmWggsm457Tj9EfELjn3OBbOGJBT3DnkVVWoRHOjcOmERkCld6m5kgfth3Q=="
- },
- "@ionic-native/camera-preview": {
- "version": "4.17.0",
- "resolved": "https://registry.npmjs.org/@ionic-native/camera-preview/-/camera-preview-4.17.0.tgz",
- "integrity": "sha512-0b38kl3hQIzr33Q8xn0yoLRrqTeuMkbIXs3R+b4Xm/lOorMLeu17vl+QnkUQhZu73z0mf56/ExpFoQvaDsmryg=="
- },
- "@ionic-native/clipboard": {
- "version": "4.17.0",
- "resolved": "https://registry.npmjs.org/@ionic-native/clipboard/-/clipboard-4.17.0.tgz",
- "integrity": "sha512-spDY3NIPg+nDDYgy63NLwJWVs37d1iZMYHfzcf/8CAK+H+VeSnS3CDoXdsL9ga3Y/YuR6uItf3Q8xhUTUPgljA=="
- },
- "@ionic-native/core": {
- "version": "4.17.0",
- "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-4.17.0.tgz",
- "integrity": "sha512-GByYdUiQPKdDzW5iovVGxnFvDUrh8si5Fb9NescnudkiQcJCYpG47uD489HugfBoqXF+U+3FUoArJnLE9PjM8g=="
- },
- "@ionic-native/deeplinks": {
- "version": "4.20.0",
- "resolved": "https://registry.npmjs.org/@ionic-native/deeplinks/-/deeplinks-4.20.0.tgz",
- "integrity": "sha512-lBbdLkxvzpzIyNF6HCW8RwZ3N8bvosZLYi9jBgdrmr+w/PtA+FInr+5D1FmTF8ljsB2hdpbciivVjclCuuhgJg=="
- },
- "@ionic-native/device-motion": {
- "version": "4.17.0",
- "resolved": "https://registry.npmjs.org/@ionic-native/device-motion/-/device-motion-4.17.0.tgz",
- "integrity": "sha512-HOfD8ljb6n2/PUAeM33jZVhxRJXsVw+CQKI7Glyp4YiYHeUxosKDxb9XluhFDy2rSKYoEc92TYO338ZWPyQjgg=="
- },
- "@ionic-native/diagnostic": {
- "version": "4.17.0",
- "resolved": "https://registry.npmjs.org/@ionic-native/diagnostic/-/diagnostic-4.17.0.tgz",
- "integrity": "sha512-wyYq9jfEfMw24AgnhS54VWELWnXTIFaBXjkxXekJJtJ5kLk2RPWL53zftIoIIuueVIzDiQed354JATAKqc0YbQ=="
- },
- "@ionic-native/gyroscope": {
- "version": "4.17.0",
- "resolved": "https://registry.npmjs.org/@ionic-native/gyroscope/-/gyroscope-4.17.0.tgz",
- "integrity": "sha512-hjvtPAMsnPxzcFopcurub8gArPTMDRf487J8FeiWlj/Zt8Wge7kFSPMP79O+n/tODYzOJZRwkdtT22Qk1ak6GQ=="
- },
- "@ionic-native/qr-scanner": {
- "version": "4.17.0",
- "resolved": "https://registry.npmjs.org/@ionic-native/qr-scanner/-/qr-scanner-4.17.0.tgz",
- "integrity": "sha512-doKxn68rUyrnBmgQ5CvZG7sW0jHXdbamINrfMxSyPeivYe8CptC+gPqZeSUY49XlxRPkKEXzKjDevU/DRR+KdA=="
- },
- "@ionic-native/splash-screen": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-4.4.0.tgz",
- "integrity": "sha512-M/O9dp4KpMEjkp9UaCXIRE6N/Ok94JSieQ6wu1/c7wVyRlSJ0ve8Rjco1iCDxJNmtzWK0vDF5unNydKG40xAaw=="
- },
- "@ionic-native/status-bar": {
- "version": "4.17.0",
- "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-4.17.0.tgz",
- "integrity": "sha512-lFlhDRNbErvJorHl0qUzRCEmmGd2j8LHpvNZJLwD3IvKI4v+IgethSCA+R5V0pmOpN+aVSLDUgr3aJW439en0w=="
- },
- "@ionic/app-scripts": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@ionic/app-scripts/-/app-scripts-3.2.0.tgz",
- "integrity": "sha512-JZkRPg/qtOW3u3Dy/Z2EQ8D41ytK14tnuNck782JBAyL4kc6cCju589YNuiJc3DionAGu/B0Qsmv9czw/McHQg==",
+ "@angular/compiler-cli": {
+ "version": "7.2.15",
+ "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-7.2.15.tgz",
+ "integrity": "sha512-+AsfyKawmj/sa+m4Pz8VSRFbCfx/3IOjAuuEjhopbyr154YpPDSu8NTbcwzq3yfbVcPwK4/4exmbQzpsndaCTg==",
"dev": true,
"requires": {
- "@angular-devkit/build-optimizer": "0.0.35",
- "autoprefixer": "7.2.6",
- "chalk": "2.4.1",
- "chokidar": "1.7.0",
- "clean-css": "4.2.1",
- "cross-spawn": "5.1.0",
- "dotenv-webpack": "1.5.7",
- "express": "4.16.4",
- "fs-extra": "4.0.3",
- "glob": "7.1.3",
- "json-loader": "0.5.7",
- "node-sass": "4.9.0",
- "os-name": "2.0.1",
- "postcss": "6.0.23",
- "proxy-middleware": "0.15.0",
- "reflect-metadata": "0.1.12",
- "rollup": "0.50.0",
- "rollup-plugin-commonjs": "8.2.6",
- "rollup-plugin-node-resolve": "3.0.0",
+ "canonical-path": "1.0.0",
+ "chokidar": "2.1.6",
+ "convert-source-map": "1.6.0",
+ "dependency-graph": "0.7.2",
+ "magic-string": "0.25.2",
+ "minimist": "1.2.0",
+ "reflect-metadata": "0.1.13",
+ "shelljs": "0.8.3",
"source-map": "0.6.1",
- "tiny-lr": "1.1.1",
- "tslint": "5.11.0",
- "tslint-eslint-rules": "4.1.1",
- "uglify-es": "3.2.2",
- "webpack": "3.8.1",
- "ws": "3.3.2",
- "xml2js": "0.4.19"
+ "tslib": "1.9.3",
+ "yargs": "9.0.1"
},
"dependencies": {
- "ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true,
- "requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.1.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
- }
- },
- "ajv-keywords": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
- "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
- "dev": true
- },
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.3"
- }
- },
"camelcase": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
"integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
"dev": true
},
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
- }
- },
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "chokidar": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz",
+ "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==",
"dev": true,
"requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wrap-ansi": "2.1.0"
- },
- "dependencies": {
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
- "dev": true,
- "requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
- }
- }
+ "anymatch": "2.0.0",
+ "async-each": "1.0.3",
+ "braces": "2.3.2",
+ "fsevents": "1.2.9",
+ "glob-parent": "3.1.0",
+ "inherits": "2.0.3",
+ "is-binary-path": "1.0.1",
+ "is-glob": "4.0.1",
+ "normalize-path": "3.0.0",
+ "path-is-absolute": "1.0.1",
+ "readdirp": "2.2.1",
+ "upath": "1.1.2"
}
},
- "commander": {
- "version": "2.12.2",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz",
- "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==",
- "dev": true
- },
- "fast-deep-equal": {
- "version": "1.1.0",
- "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
- "dev": true
- },
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
"dev": true,
"requires": {
- "locate-path": "2.0.0"
+ "lru-cache": "4.1.5",
+ "shebang-command": "1.2.0",
+ "which": "1.3.1"
}
},
- "fs-extra": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
- "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
+ "execa": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
+ "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
"dev": true,
"requires": {
- "graceful-fs": "4.1.15",
- "jsonfile": "4.0.0",
- "universalify": "0.1.2"
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
}
},
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
},
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "requires": {
- "graceful-fs": "4.1.15"
- }
- },
"load-json-file": {
"version": "2.0.0",
- "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
"integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
"dev": true,
"requires": {
@@ -360,17 +315,27 @@
"strip-bom": "3.0.0"
}
},
- "loader-utils": {
+ "mem": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
- "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
+ "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
"dev": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1"
+ "mimic-fn": "1.2.0"
}
},
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
"os-locale": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz",
@@ -391,6 +356,12 @@
"pify": "2.3.0"
}
},
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
"read-pkg": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
@@ -398,7 +369,7 @@
"dev": true,
"requires": {
"load-json-file": "2.0.0",
- "normalize-package-data": "2.4.0",
+ "normalize-package-data": "2.5.0",
"path-type": "2.0.0"
}
},
@@ -426,23 +397,15 @@
"requires": {
"is-fullwidth-code-point": "2.0.0",
"strip-ansi": "4.0.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0"
- }
- }
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
}
},
"strip-bom": {
@@ -451,99 +414,22 @@
"integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
"dev": true
},
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
},
- "uglify-es": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.2.2.tgz",
- "integrity": "sha512-l+s5VLzFwGJfS+fbqaGf/Dfwo1MF13jLOF2ekL0PytzqEqQ6cVppvHf4jquqFok+35USMpKjqkYxy6pQyUcuug==",
- "dev": true,
- "requires": {
- "commander": "2.12.2",
- "source-map": "0.6.1"
- }
- },
- "webpack": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz",
- "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==",
- "dev": true,
- "requires": {
- "acorn": "5.7.3",
- "acorn-dynamic-import": "2.0.2",
- "ajv": "5.5.2",
- "ajv-keywords": "2.1.1",
- "async": "2.6.1",
- "enhanced-resolve": "3.4.1",
- "escope": "3.6.0",
- "interpret": "1.1.0",
- "json-loader": "0.5.7",
- "json5": "0.5.1",
- "loader-runner": "2.3.1",
- "loader-utils": "1.1.0",
- "memory-fs": "0.4.1",
- "mkdirp": "0.5.1",
- "node-libs-browser": "2.1.0",
- "source-map": "0.5.7",
- "supports-color": "4.5.0",
- "tapable": "0.2.8",
- "uglifyjs-webpack-plugin": "0.4.6",
- "watchpack": "1.6.0",
- "webpack-sources": "1.3.0",
- "yargs": "8.0.2"
- },
- "dependencies": {
- "has-flag": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz",
- "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=",
- "dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- },
- "supports-color": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz",
- "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=",
- "dev": true,
- "requires": {
- "has-flag": "2.0.0"
- }
- }
- }
- },
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
- "dev": true
- },
- "ws": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.2.tgz",
- "integrity": "sha512-t+WGpsNxhMR4v6EClXS8r8km5ZljKJzyGhJf7goJz9k5Ye3+b5Bvno5rjqPuIBn5mnn5GBb7o8IrIWHxX1qOLQ==",
- "dev": true,
- "requires": {
- "async-limiter": "1.0.0",
- "safe-buffer": "5.1.2",
- "ultron": "1.1.1"
- }
- },
- "yargs": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz",
- "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=",
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-9.0.1.tgz",
+ "integrity": "sha1-UqzCP+7Kw0BCB47njAwAf1CF20w=",
"dev": true,
"requires": {
"camelcase": "4.1.0",
@@ -572,1276 +458,1089 @@
}
}
},
- "@ionic/cli-utils": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.9.1.tgz",
- "integrity": "sha512-DAheqKm1CRWF2jokzo+lXIv6HNGfaYnICZb03VpFratJbWxpsXZxqqUu8vDRAVRSAb3XCYAZPer5js7zfE5n0w==",
- "requires": {
- "@types/gulp": "3.8.36",
- "archiver": "2.1.1",
- "chalk": "2.4.1",
- "chokidar": "1.7.0",
- "ci-info": "1.6.0",
- "cross-spawn": "5.1.0",
- "dargs": "5.1.0",
- "diff": "3.5.0",
- "elementtree": "0.1.7",
- "express": "4.16.4",
- "inquirer": "3.3.0",
- "leek": "0.0.24",
- "lodash": "4.17.11",
- "minimist": "1.2.0",
- "ncp": "2.0.0",
- "opn": "5.4.0",
- "proxy-middleware": "0.15.0",
- "semver": "5.6.0",
- "slice-ansi": "1.0.0",
- "ssh-config": "1.1.3",
- "string-width": "2.1.1",
- "strip-ansi": "4.0.0",
- "superagent": "3.8.3",
- "tar": "2.2.1",
- "tiny-lr": "1.1.1",
- "tslib": "1.9.3",
- "uuid": "3.3.2",
- "wrap-ansi": "3.0.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "requires": {
- "color-convert": "1.9.3"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "requires": {
- "ansi-regex": "3.0.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "3.0.0"
- }
- },
- "wrap-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz",
- "integrity": "sha1-KIoE2H7aXChuBg3+jxNc6NAH+Lo=",
- "requires": {
- "string-width": "2.1.1",
- "strip-ansi": "4.0.0"
- }
- }
+ "@angular/core": {
+ "version": "7.2.15",
+ "resolved": "https://registry.npmjs.org/@angular/core/-/core-7.2.15.tgz",
+ "integrity": "sha512-XsuYm0jEU/mOqwDOk2utThv8J9kESkAerfuCHClE9rB2TtHUOGCfekF7lJWqjjypu6/J9ygoPFo7hdAE058ZGg==",
+ "requires": {
+ "tslib": "1.9.3"
}
},
- "@ionic/storage": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@ionic/storage/-/storage-2.2.0.tgz",
- "integrity": "sha512-2pszrzmI+fAar2Rx0WmJDVpc15D1k5tvLkB49NLYWJ2pOMaO/3/vp7mg/mEbg3rdsPE9FRbYI6vdKjQ2pP1EWA==",
+ "@angular/forms": {
+ "version": "7.2.15",
+ "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-7.2.15.tgz",
+ "integrity": "sha512-p0kcIQLtBBC1qeTA6M3nOuXf/k91E80FKquVM9zEsO2kDjI0oZJVfFYL2UMov5samlJOPN+t6lRHEIUa7ApPsw==",
"requires": {
- "localforage": "1.7.1",
- "localforage-cordovasqlitedriver": "1.7.0",
"tslib": "1.9.3"
}
},
- "@ngx-translate/core": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-8.0.0.tgz",
- "integrity": "sha1-dR/WtRLYDzp0jS3o38lt/vopr+A="
- },
- "@sindresorhus/is": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.7.0.tgz",
- "integrity": "sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==",
- "dev": true
- },
- "@types/gulp": {
- "version": "3.8.36",
- "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-3.8.36.tgz",
- "integrity": "sha512-u6/zWPzYRNPAtvyFJ3/RSXjmBaBM1dVs5kW22/jU6J786ZGLfSndhLoNOpFI6FGQvqTA+QzFHjSMhpkAN+wxcQ==",
+ "@angular/http": {
+ "version": "7.2.15",
+ "resolved": "https://registry.npmjs.org/@angular/http/-/http-7.2.15.tgz",
+ "integrity": "sha512-TR7PEdmLWNIre3Zn8lvyb4lSrvPUJhKLystLnp4hBMcWsJqq5iK8S3bnlR4viZ9HMlf7bW7+Hm4SI6aB3tdUtw==",
"requires": {
- "@types/node": "10.12.3",
- "@types/orchestrator": "0.3.2",
- "@types/vinyl": "2.0.2"
- },
- "dependencies": {
- "@types/node": {
- "version": "10.12.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.3.tgz",
- "integrity": "sha512-sfGmOtSMSbQ/AKG8V9xD1gmjquC9awIIZ/Kj309pHb2n3bcRAcGMQv5nJ6gCXZVsneGE4+ve8DXKRCsrg3TFzg=="
- }
+ "tslib": "1.9.3"
}
},
- "@types/jasmine": {
- "version": "2.8.9",
- "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.9.tgz",
- "integrity": "sha512-8dPZwjosElZOGGYw1nwTvOEMof4gjwAWNFS93nBI091BoEfd5drnHOLRMiRF/LOPuMTn5LgEdv0bTUO8QFVuHQ==",
+ "@angular/language-service": {
+ "version": "7.2.15",
+ "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-7.2.15.tgz",
+ "integrity": "sha512-Ig5Jr7mnDelaZvSbUd9YhI5am3q1ku9xelAuwvtyDKvQJeKQj3BtTagcOgWrnQBfrJ/FsA/M5Zo48ncSsV0tqQ==",
"dev": true
},
- "@types/node": {
- "version": "9.6.36",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-9.6.36.tgz",
- "integrity": "sha512-Fbw+AdRLL01vv7Rk7bYaNPecqmKoinJHGbpKnDpbUZmUj/0vj3nLqPQ4CNBzr3q2zso6Cq/4jHoCAdH78fvJrw==",
- "dev": true
+ "@angular/platform-browser": {
+ "version": "7.2.15",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-7.2.15.tgz",
+ "integrity": "sha512-aYgmPsbC9Tvp9vmKWD8voeAp4crwCay7/D6lM3ClEe2EeK934LuEXq3/uczMrFVbnIX7BBIo8fh03Tl7wbiGPw==",
+ "requires": {
+ "tslib": "1.9.3"
+ }
},
- "@types/orchestrator": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@types/orchestrator/-/orchestrator-0.3.2.tgz",
- "integrity": "sha512-cKB4yTX0wGaRCSkdHDX2fkGQbMAA8UOshC2U7DQky1CE5o+5q2iQQ8VkbPbE/88uaTtsusvBPMcCX7dgmjxBhQ==",
+ "@angular/platform-browser-dynamic": {
+ "version": "7.2.15",
+ "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-7.2.15.tgz",
+ "integrity": "sha512-UL2PqhzXMD769NQ6Lh6pxlBDKvN9Qol3XLRFil80lwJ1GRW16ITeYbCamcafIH2GOyd88IhmYcbMfUQ/6q4MMQ==",
"requires": {
- "@types/node": "10.12.3",
- "@types/q": "1.5.1"
- },
- "dependencies": {
- "@types/node": {
- "version": "10.12.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.3.tgz",
- "integrity": "sha512-sfGmOtSMSbQ/AKG8V9xD1gmjquC9awIIZ/Kj309pHb2n3bcRAcGMQv5nJ6gCXZVsneGE4+ve8DXKRCsrg3TFzg=="
- }
+ "tslib": "1.9.3"
}
},
- "@types/q": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz",
- "integrity": "sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA=="
+ "@angular/router": {
+ "version": "7.2.15",
+ "resolved": "https://registry.npmjs.org/@angular/router/-/router-7.2.15.tgz",
+ "integrity": "sha512-qAubRJRQanguUqJQ76J9GSZ4JFtoyhJKRmX5P23ANZJXpB6YLzF2fJmOGi+E6cV8F0tKBMEq1pjxFTisx0MXwQ==",
+ "requires": {
+ "tslib": "1.9.3"
+ }
},
- "@types/selenium-webdriver": {
- "version": "3.0.13",
- "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.13.tgz",
- "integrity": "sha512-rI0LGoMiZGUM+tjDakQpwZOvcmQoubiJ7hxqrYU12VRxBuGGvOThxrBOU/QmJKlKg1WG6FMzuvcEyLffvVSsmw==",
- "dev": true
+ "@babel/code-frame": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
+ "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "7.0.0"
+ }
},
- "@types/vinyl": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.2.tgz",
- "integrity": "sha512-2iYpNuOl98SrLPBZfEN9Mh2JCJ2EI9HU35SfgBEb51DcmaHkhp8cKMblYeBqMQiwXMgAD3W60DbQ4i/UdLiXhw==",
+ "@babel/generator": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.4.4.tgz",
+ "integrity": "sha512-53UOLK6TVNqKxf7RUh8NE851EHRxOOeVXKbK2bivdb+iziMyk03Sr4eaE9OELCbyZAAafAKPDwF2TPUES5QbxQ==",
+ "dev": true,
"requires": {
- "@types/node": "10.12.3"
+ "@babel/types": "7.4.4",
+ "jsesc": "2.5.2",
+ "lodash": "4.17.11",
+ "source-map": "0.5.7",
+ "trim-right": "1.0.1"
},
"dependencies": {
- "@types/node": {
- "version": "10.12.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.3.tgz",
- "integrity": "sha512-sfGmOtSMSbQ/AKG8V9xD1gmjquC9awIIZ/Kj309pHb2n3bcRAcGMQv5nJ6gCXZVsneGE4+ve8DXKRCsrg3TFzg=="
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
}
}
},
- "@zxing/library": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/@zxing/library/-/library-0.7.0.tgz",
- "integrity": "sha512-VJ1cJaCWVF8MspnuyaZKGKlrSQLqQ5usgSap8uuCAvWGQ6W6OwN1NeGvnjhT+9hmnwkHK8XjaflvzaDBC7nKnw==",
+ "@babel/helper-function-name": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+ "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "dev": true,
"requires": {
- "text-encoding": "0.6.4",
- "ts-custom-error": "2.2.1"
+ "@babel/helper-get-function-arity": "7.0.0",
+ "@babel/template": "7.4.4",
+ "@babel/types": "7.4.4"
}
},
- "@zxing/ngx-scanner": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/@zxing/ngx-scanner/-/ngx-scanner-1.3.0.tgz",
- "integrity": "sha512-CA62X8eR+2FnF0XFzVAjhH8U//Quw5ACkUM2/WryXMWaT8v+uapBhKkpUldXfKav5L5ADCO2nv2MLcuhD55QlQ==",
+ "@babel/helper-get-function-arity": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+ "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "dev": true,
"requires": {
- "@zxing/library": "0.7.0",
- "tslib": "1.9.3"
+ "@babel/types": "7.4.4"
}
},
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ "@babel/helper-split-export-declaration": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+ "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "7.4.4"
+ }
},
- "abi-decoder": {
- "version": "github:laurentjacob/abi-decoder#a4b60b35d12af863026d6d723bec73b172c4e5b7",
- "requires": {
- "babel-core": "6.26.3",
- "babel-loader": "6.4.1",
- "babel-plugin-add-module-exports": "0.2.1",
- "babel-plugin-transform-es2015-modules-amd": "6.24.1",
- "babel-plugin-transform-runtime": "6.23.0",
- "babel-preset-es2015": "6.24.1",
- "chai": "3.5.0",
- "web3": "1.0.0-beta.30",
- "webpack": "2.7.0"
+ "@babel/highlight": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
+ "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
+ "dev": true,
+ "requires": {
+ "chalk": "2.4.2",
+ "esutils": "2.0.2",
+ "js-tokens": "4.0.0"
},
"dependencies": {
- "web3": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.30.tgz",
- "integrity": "sha1-rT52GEWusvQKd2DN51eTdzpDHs0=",
- "requires": {
- "web3-bzz": "1.0.0-beta.30",
- "web3-core": "1.0.0-beta.30",
- "web3-eth": "1.0.0-beta.30",
- "web3-eth-personal": "1.0.0-beta.30",
- "web3-net": "1.0.0-beta.30",
- "web3-shh": "1.0.0-beta.30",
- "web3-utils": "1.0.0-beta.30"
- }
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
}
}
},
- "accepts": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
- "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
+ "@babel/parser": {
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.4.5.tgz",
+ "integrity": "sha512-9mUqkL1FF5T7f0WDFfAoDdiMVPWsdD1gZYzSnaXsxUCUqzuch/8of9G3VUSNiZmMBoRxT3neyVsqeiL/ZPcjew==",
+ "dev": true
+ },
+ "@babel/template": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz",
+ "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==",
+ "dev": true,
"requires": {
- "mime-types": "2.1.21",
- "negotiator": "0.6.1"
+ "@babel/code-frame": "7.0.0",
+ "@babel/parser": "7.4.5",
+ "@babel/types": "7.4.4"
}
},
- "acorn": {
- "version": "5.7.3",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
- "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw=="
- },
- "acorn-dynamic-import": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz",
- "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=",
+ "@babel/traverse": {
+ "version": "7.4.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.4.5.tgz",
+ "integrity": "sha512-Vc+qjynwkjRmIFGxy0KYoPj4FdVDxLej89kMHFsWScq999uX+pwcX4v9mWRjW0KcAYTPAuVQl2LKP1wEVLsp+A==",
+ "dev": true,
"requires": {
- "acorn": "4.0.13"
+ "@babel/code-frame": "7.0.0",
+ "@babel/generator": "7.4.4",
+ "@babel/helper-function-name": "7.1.0",
+ "@babel/helper-split-export-declaration": "7.4.4",
+ "@babel/parser": "7.4.5",
+ "@babel/types": "7.4.4",
+ "debug": "4.1.1",
+ "globals": "11.12.0",
+ "lodash": "4.17.11"
},
"dependencies": {
- "acorn": {
- "version": "4.0.13",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
- "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c="
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.1"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
}
}
},
- "adm-zip": {
- "version": "0.4.11",
- "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz",
- "integrity": "sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA==",
- "dev": true
- },
- "aes-js": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz",
- "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0="
- },
- "after": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
- "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
- "dev": true
- },
- "agent-base": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
- "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
+ "@babel/types": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz",
+ "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==",
"dev": true,
"requires": {
- "es6-promisify": "5.0.0"
+ "esutils": "2.0.2",
+ "lodash": "4.17.11",
+ "to-fast-properties": "2.0.0"
+ },
+ "dependencies": {
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "dev": true
+ }
}
},
- "airgap-coin-lib": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/airgap-coin-lib/-/airgap-coin-lib-0.4.4.tgz",
- "integrity": "sha512-fFMyOWf2DbTtAx1mgvr6q/OPjGbyF6KQq7+Xq3uKsTDXiybiTY6tWgZw7mK4jxJlQ3B6LOSkjycgid8Bx0S1dA==",
- "requires": {
- "@aeternity/hd-wallet": "github:dschoeni/hd-wallet-js#b216450e56954a6e82ace0aade9474673de5d9d5",
- "abi-decoder": "github:laurentjacob/abi-decoder#a4b60b35d12af863026d6d723bec73b172c4e5b7",
- "axios": "0.18.0",
- "bignumber.js": "8.0.1",
- "bip39": "2.5.0",
- "bitcoinjs-lib": "3.3.2",
- "bitcoinjs-lib-zcash": "3.6.1",
- "bitgo-utxo-lib": "git+https://github.com/Groestlcoin/bitgo-utxo-lib.git#5d91049fd7a988382df81c8260e244ee56d57aac",
- "bs58check": "2.1.2",
- "create-hash": "1.2.0",
- "cryptocompare": "0.5.0",
- "ethereumjs-tx": "1.3.7",
- "ethereumjs-util": "5.2.0",
- "libsodium-wrappers": "0.7.4",
- "rlp": "2.2.3",
- "tweetnacl": "1.0.1",
- "validate.js": "0.12.0",
- "validator": "10.11.0",
- "web3": "1.0.0-beta.36"
+ "@ionic-native/core": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@ionic-native/core/-/core-5.7.0.tgz",
+ "integrity": "sha512-UjSNnS6dPZjzBXrHqY2+UWBwfm8kGctq2l8di16m0+kDZrrSblH73lgjTHeNx/wlkpmZCJoatRwmV6CwiAK4hw==",
+ "requires": {
+ "@types/cordova": "0.0.34"
}
},
- "ajv": {
- "version": "6.5.5",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz",
- "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==",
+ "@ionic-native/splash-screen": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@ionic-native/splash-screen/-/splash-screen-5.7.0.tgz",
+ "integrity": "sha512-+bWYKN6WSIlP9TwqKV/pILf0A4jdZs/sZD0EO8NyWVVq+FypwNLDsIQ0eDU0oENyu9+I/JghvcrlDExC/hyZwQ==",
"requires": {
- "fast-deep-equal": "2.0.1",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.4.1",
- "uri-js": "4.2.2"
+ "@types/cordova": "0.0.34"
}
},
- "ajv-keywords": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz",
- "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw="
- },
- "align-text": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
- "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+ "@ionic-native/status-bar": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/@ionic-native/status-bar/-/status-bar-5.7.0.tgz",
+ "integrity": "sha512-8Ak4Mm2IrX3QebaIahFyJv+SS7GZx/Lf1r3X0cEfJeZ3k04F1CFuRF27PAx2eidQYl0VaJwlxoiqGhq31LY25A==",
"requires": {
- "kind-of": "3.2.2",
- "longest": "1.0.1",
- "repeat-string": "1.6.1"
+ "@types/cordova": "0.0.34"
}
},
- "amdefine": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
- "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
- "dev": true
- },
- "angular2-template-loader": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/angular2-template-loader/-/angular2-template-loader-0.6.2.tgz",
- "integrity": "sha1-wNROkP/w+sleiyPwQ6zaf9HFHXw=",
+ "@ionic/angular": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-4.4.2.tgz",
+ "integrity": "sha512-ihjhvPFXqDS3HURvAfSH5vMlCersP08pnxfek36IOKX1sYOYq6VI/2miTv+jr7GuIZlmyZan0PibiRZPg7DIqA==",
"requires": {
- "loader-utils": "0.2.17"
+ "@ionic/core": "4.4.2",
+ "tslib": "1.9.3"
}
},
- "angular2-uuid": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/angular2-uuid/-/angular2-uuid-1.1.1.tgz",
- "integrity": "sha1-cvA81TK39AAy6x7PufhFc4S+lW4="
- },
- "angularx-qrcode": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/angularx-qrcode/-/angularx-qrcode-1.5.3.tgz",
- "integrity": "sha512-9WTsnOGNv3IvSriVSHOc7k6PIBcqqjivAQXhEF9SjDYgcio63zCkcsAC627vSaTqUoDkgE5MRoT4PO2UMROk2w==",
+ "@ionic/angular-toolkit": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/@ionic/angular-toolkit/-/angular-toolkit-1.5.1.tgz",
+ "integrity": "sha512-B5LHuzEv/lgFP7yxfOA3/wggDM/X1mDkWFX8rZtaBRZBbC0vtZwdwDu73RnkfFZ0jTFyIgtoBW8qTrrCyd5MLA==",
+ "dev": true,
"requires": {
- "qrcodejs2": "0.0.2"
+ "@schematics/angular": "7.3.9",
+ "tslib": "1.9.3",
+ "typescript": "3.3.4000",
+ "ws": "6.2.1"
+ },
+ "dependencies": {
+ "typescript": {
+ "version": "3.3.4000",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.3.4000.tgz",
+ "integrity": "sha512-jjOcCZvpkl2+z7JFn0yBOoLQyLoIkNZAs/fYJkUG6VKy6zLPHJGfQJYFHzibB6GJaF/8QrcECtlQ5cpvRHSMEA==",
+ "dev": true
+ }
}
},
- "ansi": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
- "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
+ "@ionic/core": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/@ionic/core/-/core-4.4.2.tgz",
+ "integrity": "sha512-B6cA8Nz29hB+FxRHZ78em1Zlo2r1NqTl6HfiIA8lQtfI9tj4VQe7R1mF/Qb9jaati1U2k4eaHbxiwJ50Hez/4w==",
+ "requires": {
+ "ionicons": "4.5.8"
+ }
},
- "ansi-align": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz",
- "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=",
+ "@ngtools/webpack": {
+ "version": "7.3.9",
+ "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.3.9.tgz",
+ "integrity": "sha512-+ROpqfCXLdQwfP+UNDLk4p959ZrocpStkdd2Iy9CeOJ8yDkityqpstTwQC3oHzzu/95BiyZ0hrHbM6AsPPIvJg==",
"dev": true,
"requires": {
- "string-width": "2.1.1"
+ "@angular-devkit/core": "7.3.9",
+ "enhanced-resolve": "4.1.0",
+ "rxjs": "6.3.3",
+ "tree-kill": "1.2.1",
+ "webpack-sources": "1.3.0"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
"dev": true,
"requires": {
- "ansi-regex": "3.0.0"
+ "tslib": "1.9.3"
}
}
}
},
- "ansi-escapes": {
- "version": "3.1.0",
- "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz",
- "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw=="
- },
- "ansi-gray": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
- "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
+ "@schematics/angular": {
+ "version": "7.3.9",
+ "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-7.3.9.tgz",
+ "integrity": "sha512-B3lytFtFeYNLfWdlrIzvy3ulFRccD2/zkoL0734J+DAGfUz7vbysJ50RwYL46sQUcKdZdvb48ktfu1S8yooP6Q==",
"dev": true,
"requires": {
- "ansi-wrap": "0.1.0"
+ "@angular-devkit/core": "7.3.9",
+ "@angular-devkit/schematics": "7.3.9",
+ "typescript": "3.2.4"
+ },
+ "dependencies": {
+ "typescript": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.4.tgz",
+ "integrity": "sha512-0RNDbSdEokBeEAkgNbxJ+BLwSManFy9TeXz8uW+48j/xhEXv1ePME60olyzw2XzUqUBNAYFeJadIqAgNqIACwg==",
+ "dev": true
+ }
}
},
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
- },
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "ansi-wrap": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
- "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
- "dev": true
- },
- "any-promise": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
- "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
- },
- "anymatch": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz",
- "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==",
+ "@schematics/update": {
+ "version": "0.13.9",
+ "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.13.9.tgz",
+ "integrity": "sha512-4MQcaKFxhMzZyE//+DknDh3h3duy3avg2oxSHxdwXlCZ8Q92+4lpegjJcSRiqlEwO4qeJ5XnrjrvzfIiaIZOmA==",
+ "dev": true,
"requires": {
- "micromatch": "2.3.11",
- "normalize-path": "2.1.1"
- }
- },
- "app-builder-bin": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-2.5.1.tgz",
- "integrity": "sha512-Hm+eyyfQCs5N5avLAw3w9Cf1S5TX/t6ecAfHusbzCDh/rLKLKYso2vwDWH4OQZ8uWLnuJwaAUDf3PstRcn0H+A==",
- "dev": true
- },
- "app-builder-lib": {
- "version": "20.36.2",
- "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-20.36.2.tgz",
- "integrity": "sha512-5FxLnWI13t0LLmh2QjmPx3KW/xhj67su7UxdCzQgULsUmYurdPx8yAOb9YxoX+RpR08inqt+H3GBOJlqSSrVgg==",
- "dev": true,
- "requires": {
- "7zip-bin": "4.1.0",
- "app-builder-bin": "2.5.1",
- "async-exit-hook": "2.0.1",
- "bluebird-lst": "1.0.6",
- "builder-util": "9.3.0",
- "builder-util-runtime": "8.0.2",
- "chromium-pickle-js": "0.2.0",
- "debug": "4.1.0",
- "ejs": "2.6.1",
- "electron-osx-sign": "0.4.11",
- "electron-publish": "20.36.0",
- "fs-extra-p": "7.0.0",
- "hosted-git-info": "2.7.1",
- "is-ci": "1.2.1",
- "isbinaryfile": "3.0.3",
- "js-yaml": "3.12.0",
- "lazy-val": "1.0.3",
- "minimatch": "3.0.4",
- "normalize-package-data": "2.4.0",
- "plist": "3.0.1",
- "read-config-file": "3.2.0",
- "sanitize-filename": "1.6.1",
+ "@angular-devkit/core": "7.3.9",
+ "@angular-devkit/schematics": "7.3.9",
+ "@yarnpkg/lockfile": "1.1.0",
+ "ini": "1.3.5",
+ "pacote": "9.4.0",
+ "rxjs": "6.3.3",
"semver": "5.6.0",
- "temp-file": "3.3.2"
+ "semver-intersect": "1.4.0"
},
"dependencies": {
- "debug": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
- "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
+ "rxjs": {
+ "version": "6.3.3",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
+ "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
"dev": true,
"requires": {
- "ms": "2.1.1"
+ "tslib": "1.9.3"
}
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
}
}
},
- "append-transform": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-0.4.0.tgz",
- "integrity": "sha1-126/jKlNJ24keja61EpLdKthGZE=",
+ "@types/cordova": {
+ "version": "0.0.34",
+ "resolved": "https://registry.npmjs.org/@types/cordova/-/cordova-0.0.34.tgz",
+ "integrity": "sha1-6nrd907Ow9dimCegw54smt3HPQQ="
+ },
+ "@types/jasmine": {
+ "version": "2.8.16",
+ "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-2.8.16.tgz",
+ "integrity": "sha512-056oRlBBp7MDzr+HoU5su099s/s7wjZ3KcHxLfv+Byqb9MwdLUvsfLgw1VS97hsh3ddxSPyQu+olHMnoVTUY6g==",
+ "dev": true
+ },
+ "@types/jasminewd2": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.6.tgz",
+ "integrity": "sha512-2ZOKrxb8bKRmP/po5ObYnRDgFE4i+lQiEB27bAMmtMWLgJSqlIDqlLx6S0IRorpOmOPRQ6O80NujTmQAtBkeNw==",
"dev": true,
"requires": {
- "default-require-extensions": "1.0.0"
+ "@types/jasmine": "2.8.16"
}
},
- "aproba": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
- "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "@types/node": {
+ "version": "12.0.4",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-12.0.4.tgz",
+ "integrity": "sha512-j8YL2C0fXq7IONwl/Ud5Kt0PeXw22zGERt+HSSnwbKOJVsAGkEz3sFCYwaF9IOuoG1HOtE0vKCj6sXF7Q0+Vaw==",
"dev": true
},
- "archiver": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.1.tgz",
- "integrity": "sha1-/2YrSnggFJSj7lRNOjP+dJZQnrw=",
- "requires": {
- "archiver-utils": "1.3.0",
- "async": "2.6.1",
- "buffer-crc32": "0.2.13",
- "glob": "7.1.3",
- "lodash": "4.17.11",
- "readable-stream": "2.3.6",
- "tar-stream": "1.6.2",
- "zip-stream": "1.2.0"
- }
+ "@types/normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
+ "dev": true
},
- "archiver-utils": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz",
- "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=",
- "requires": {
- "glob": "7.1.3",
- "graceful-fs": "4.1.15",
- "lazystream": "1.0.0",
- "lodash": "4.17.11",
- "normalize-path": "2.1.1",
- "readable-stream": "2.3.6"
- }
+ "@types/q": {
+ "version": "0.0.32",
+ "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
+ "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=",
+ "dev": true
},
- "are-we-there-yet": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
- "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
- "dev": true,
- "requires": {
- "delegates": "1.0.0",
- "readable-stream": "2.3.6"
- }
+ "@types/selenium-webdriver": {
+ "version": "3.0.16",
+ "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.16.tgz",
+ "integrity": "sha512-lMC2G0ItF2xv4UCiwbJGbnJlIuUixHrioOhNGHSCsYCJ8l4t9hMCUimCytvFv7qy6AfSzRxhRHoGa+UqaqwyeA==",
+ "dev": true
},
- "argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "@types/source-list-map": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
+ "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
+ "dev": true
+ },
+ "@types/webpack-sources": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.5.tgz",
+ "integrity": "sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w==",
"dev": true,
"requires": {
- "sprintf-js": "1.0.3"
+ "@types/node": "12.0.4",
+ "@types/source-list-map": "0.1.2",
+ "source-map": "0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
- "arr-diff": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz",
- "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=",
+ "@webassemblyjs/ast": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.11.tgz",
+ "integrity": "sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==",
+ "dev": true,
"requires": {
- "arr-flatten": "1.1.0"
+ "@webassemblyjs/helper-module-context": "1.7.11",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
+ "@webassemblyjs/wast-parser": "1.7.11"
}
},
- "arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
- },
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
- },
- "array-find-index": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz",
+ "integrity": "sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==",
"dev": true
},
- "array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+ "@webassemblyjs/helper-api-error": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz",
+ "integrity": "sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==",
+ "dev": true
},
- "array-slice": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
- "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
+ "@webassemblyjs/helper-buffer": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz",
+ "integrity": "sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==",
"dev": true
},
- "array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "@webassemblyjs/helper-code-frame": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz",
+ "integrity": "sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==",
"dev": true,
"requires": {
- "array-uniq": "1.0.3"
+ "@webassemblyjs/wast-printer": "1.7.11"
}
},
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "@webassemblyjs/helper-fsm": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz",
+ "integrity": "sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==",
"dev": true
},
- "array-unique": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
- "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM="
- },
- "arraybuffer.slice": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz",
- "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=",
+ "@webassemblyjs/helper-module-context": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz",
+ "integrity": "sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==",
"dev": true
},
- "arrify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
- "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz",
+ "integrity": "sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==",
"dev": true
},
- "asn1": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
- "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "@webassemblyjs/helper-wasm-section": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz",
+ "integrity": "sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==",
+ "dev": true,
"requires": {
- "safer-buffer": "2.1.2"
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/helper-buffer": "1.7.11",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
+ "@webassemblyjs/wasm-gen": "1.7.11"
}
},
- "asn1.js": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
- "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "@webassemblyjs/ieee754": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz",
+ "integrity": "sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==",
+ "dev": true,
"requires": {
- "bn.js": "4.11.8",
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.1"
+ "@xtuc/ieee754": "1.2.0"
}
},
- "assert": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
- "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
+ "@webassemblyjs/leb128": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.7.11.tgz",
+ "integrity": "sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==",
+ "dev": true,
"requires": {
- "util": "0.10.3"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
- },
- "util": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
- "requires": {
- "inherits": "2.0.1"
- }
- }
+ "@xtuc/long": "4.2.1"
}
},
- "assert-plus": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+ "@webassemblyjs/utf8": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.7.11.tgz",
+ "integrity": "sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==",
+ "dev": true
},
- "assertion-error": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
- "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw=="
+ "@webassemblyjs/wasm-edit": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz",
+ "integrity": "sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/helper-buffer": "1.7.11",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
+ "@webassemblyjs/helper-wasm-section": "1.7.11",
+ "@webassemblyjs/wasm-gen": "1.7.11",
+ "@webassemblyjs/wasm-opt": "1.7.11",
+ "@webassemblyjs/wasm-parser": "1.7.11",
+ "@webassemblyjs/wast-printer": "1.7.11"
+ }
},
- "assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
+ "@webassemblyjs/wasm-gen": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz",
+ "integrity": "sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
+ "@webassemblyjs/ieee754": "1.7.11",
+ "@webassemblyjs/leb128": "1.7.11",
+ "@webassemblyjs/utf8": "1.7.11"
+ }
},
- "ast-types": {
- "version": "0.9.6",
- "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.9.6.tgz",
- "integrity": "sha1-ECyenpAF0+fjgpvwxPok7oYu6bk="
+ "@webassemblyjs/wasm-opt": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz",
+ "integrity": "sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/helper-buffer": "1.7.11",
+ "@webassemblyjs/wasm-gen": "1.7.11",
+ "@webassemblyjs/wasm-parser": "1.7.11"
+ }
},
- "async": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
- "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
+ "@webassemblyjs/wasm-parser": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz",
+ "integrity": "sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==",
+ "dev": true,
"requires": {
- "lodash": "4.17.11"
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/helper-api-error": "1.7.11",
+ "@webassemblyjs/helper-wasm-bytecode": "1.7.11",
+ "@webassemblyjs/ieee754": "1.7.11",
+ "@webassemblyjs/leb128": "1.7.11",
+ "@webassemblyjs/utf8": "1.7.11"
}
},
- "async-each": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
- "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
+ "@webassemblyjs/wast-parser": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz",
+ "integrity": "sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/floating-point-hex-parser": "1.7.11",
+ "@webassemblyjs/helper-api-error": "1.7.11",
+ "@webassemblyjs/helper-code-frame": "1.7.11",
+ "@webassemblyjs/helper-fsm": "1.7.11",
+ "@xtuc/long": "4.2.1"
+ }
},
- "async-exit-hook": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/async-exit-hook/-/async-exit-hook-2.0.1.tgz",
- "integrity": "sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==",
- "dev": true
+ "@webassemblyjs/wast-printer": {
+ "version": "1.7.11",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz",
+ "integrity": "sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/wast-parser": "1.7.11",
+ "@xtuc/long": "4.2.1"
+ }
},
- "async-foreach": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
- "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
+ "@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
"dev": true
},
- "async-limiter": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
- "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg=="
- },
- "asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ "@xtuc/long": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.1.tgz",
+ "integrity": "sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==",
+ "dev": true
},
- "atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+ "@yarnpkg/lockfile": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
+ "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
+ "dev": true
},
- "autoprefixer": {
- "version": "7.2.6",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz",
- "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==",
+ "JSONStream": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
"dev": true,
"requires": {
- "browserslist": "2.11.3",
- "caniuse-lite": "1.0.30000910",
- "normalize-range": "0.1.2",
- "num2fraction": "1.2.2",
- "postcss": "6.0.23",
- "postcss-value-parser": "3.3.1"
+ "jsonparse": "1.3.1",
+ "through": "2.3.8"
}
},
- "aws-sign2": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
- },
- "aws4": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
- "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
- },
- "axios": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz",
- "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
- "requires": {
- "follow-redirects": "1.5.9",
- "is-buffer": "1.1.6"
- }
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
},
- "babel-code-frame": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
- "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "accepts": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+ "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+ "dev": true,
"requires": {
- "chalk": "1.1.3",
- "esutils": "2.0.2",
- "js-tokens": "3.0.2"
+ "mime-types": "2.1.24",
+ "negotiator": "0.6.2"
}
},
- "babel-core": {
- "version": "6.26.3",
- "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
- "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
- "requires": {
- "babel-code-frame": "6.26.0",
- "babel-generator": "6.26.1",
- "babel-helpers": "6.24.1",
- "babel-messages": "6.23.0",
- "babel-register": "6.26.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "convert-source-map": "1.6.0",
- "debug": "2.6.9",
- "json5": "0.5.1",
- "lodash": "4.17.11",
- "minimatch": "3.0.4",
- "path-is-absolute": "1.0.1",
- "private": "0.1.8",
- "slash": "1.0.0",
- "source-map": "0.5.7"
- }
+ "acorn": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz",
+ "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==",
+ "dev": true
},
- "babel-generator": {
- "version": "6.26.1",
- "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
- "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
- "requires": {
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "detect-indent": "4.0.0",
- "jsesc": "1.3.0",
- "lodash": "4.17.11",
- "source-map": "0.5.7",
- "trim-right": "1.0.1"
- }
+ "acorn-dynamic-import": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz",
+ "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==",
+ "dev": true
},
- "babel-helper-call-delegate": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
- "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=",
- "requires": {
- "babel-helper-hoist-variables": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
- }
+ "adm-zip": {
+ "version": "0.4.13",
+ "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz",
+ "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==",
+ "dev": true
},
- "babel-helper-define-map": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz",
- "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=",
- "requires": {
- "babel-helper-function-name": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "lodash": "4.17.11"
- }
+ "after": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
+ "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
+ "dev": true
},
- "babel-helper-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz",
- "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=",
+ "agent-base": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
+ "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
+ "dev": true,
"requires": {
- "babel-helper-get-function-arity": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
+ "es6-promisify": "5.0.0"
}
},
- "babel-helper-get-function-arity": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz",
- "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=",
+ "agentkeepalive": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz",
+ "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==",
+ "dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
+ "humanize-ms": "1.2.1"
}
},
- "babel-helper-hoist-variables": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz",
- "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=",
+ "ajv": {
+ "version": "6.9.1",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.9.1.tgz",
+ "integrity": "sha512-XDN92U311aINL77ieWHmqCcNlwjoP5cHXDxIxbf2MaPYuCXOHS7gHH8jktxeK5omgd52XbSTX6a4Piwd1pQmzA==",
+ "dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
+ "fast-deep-equal": "2.0.1",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.4.1",
+ "uri-js": "4.2.2"
}
},
- "babel-helper-optimise-call-expression": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz",
- "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
- }
+ "ajv-errors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz",
+ "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==",
+ "dev": true
},
- "babel-helper-regex": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz",
- "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "lodash": "4.17.11"
- }
+ "ajv-keywords": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.0.tgz",
+ "integrity": "sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw==",
+ "dev": true
},
- "babel-helper-replace-supers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz",
- "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=",
- "requires": {
- "babel-helper-optimise-call-expression": "6.24.1",
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
- }
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
},
- "babel-helpers": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
- "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
- }
+ "ansi": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
+ "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
},
- "babel-loader": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.4.1.tgz",
- "integrity": "sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=",
- "requires": {
- "find-cache-dir": "0.1.1",
- "loader-utils": "0.2.17",
- "mkdirp": "0.5.1",
- "object-assign": "4.1.1"
- }
+ "ansi-colors": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz",
+ "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==",
+ "dev": true
},
- "babel-messages": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
- "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
+ "ansi-escapes": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
+ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
+ "dev": true
},
- "babel-plugin-add-module-exports": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-0.2.1.tgz",
- "integrity": "sha1-mumh9KjcZ/DN7E9K7aHkOl/2XiU="
+ "ansi-html": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
+ "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
+ "dev": true
},
- "babel-plugin-check-es2015-constants": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz",
- "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
},
- "babel-plugin-transform-es2015-arrow-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz",
- "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=",
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "color-convert": "1.9.3"
}
},
- "babel-plugin-transform-es2015-block-scoped-functions": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz",
- "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=",
+ "anymatch": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+ "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+ "dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "micromatch": "3.1.10",
+ "normalize-path": "2.1.1"
}
},
- "babel-plugin-transform-es2015-block-scoping": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz",
- "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "lodash": "4.17.11"
- }
+ "app-root-path": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz",
+ "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==",
+ "dev": true
},
- "babel-plugin-transform-es2015-classes": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz",
- "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=",
+ "append-transform": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
+ "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
+ "dev": true,
"requires": {
- "babel-helper-define-map": "6.26.0",
- "babel-helper-function-name": "6.24.1",
- "babel-helper-optimise-call-expression": "6.24.1",
- "babel-helper-replace-supers": "6.24.1",
- "babel-messages": "6.23.0",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
+ "default-require-extensions": "2.0.0"
}
},
- "babel-plugin-transform-es2015-computed-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz",
- "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
- }
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+ "dev": true
},
- "babel-plugin-transform-es2015-destructuring": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz",
- "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=",
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "delegates": "1.0.0",
+ "readable-stream": "2.3.6"
}
},
- "babel-plugin-transform-es2015-duplicate-keys": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz",
- "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
- }
+ "arg": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz",
+ "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==",
+ "dev": true
},
- "babel-plugin-transform-es2015-for-of": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz",
- "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=",
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "sprintf-js": "1.0.3"
}
},
- "babel-plugin-transform-es2015-function-name": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz",
- "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=",
- "requires": {
- "babel-helper-function-name": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
- }
+ "arr-diff": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+ "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+ "dev": true
},
- "babel-plugin-transform-es2015-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz",
- "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=",
- "requires": {
- "babel-runtime": "6.26.0"
- }
+ "arr-flatten": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+ "dev": true
},
- "babel-plugin-transform-es2015-modules-amd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz",
- "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=",
- "requires": {
- "babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
- }
+ "arr-union": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+ "dev": true
},
- "babel-plugin-transform-es2015-modules-commonjs": {
- "version": "6.26.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz",
- "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==",
- "requires": {
- "babel-plugin-transform-strict-mode": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-types": "6.26.0"
- }
+ "array-differ": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-2.1.0.tgz",
+ "integrity": "sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w==",
+ "dev": true
},
- "babel-plugin-transform-es2015-modules-systemjs": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz",
- "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=",
- "requires": {
- "babel-helper-hoist-variables": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
- }
+ "array-find-index": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+ "dev": true,
+ "optional": true
},
- "babel-plugin-transform-es2015-modules-umd": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz",
- "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=",
- "requires": {
- "babel-plugin-transform-es2015-modules-amd": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0"
- }
+ "array-flatten": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
+ "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
+ "dev": true
},
- "babel-plugin-transform-es2015-object-super": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz",
- "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=",
+ "array-union": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+ "dev": true,
"requires": {
- "babel-helper-replace-supers": "6.24.1",
- "babel-runtime": "6.26.0"
+ "array-uniq": "1.0.3"
}
},
- "babel-plugin-transform-es2015-parameters": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz",
- "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=",
- "requires": {
- "babel-helper-call-delegate": "6.24.1",
- "babel-helper-get-function-arity": "6.24.1",
- "babel-runtime": "6.26.0",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0"
- }
+ "array-uniq": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+ "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+ "dev": true
},
- "babel-plugin-transform-es2015-shorthand-properties": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz",
- "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
- }
+ "array-unique": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+ "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "dev": true
},
- "babel-plugin-transform-es2015-spread": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz",
- "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=",
+ "arraybuffer.slice": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
+ "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
+ "dev": true
+ },
+ "arrify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+ "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+ "dev": true
+ },
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "dev": true,
+ "optional": true
+ },
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "safer-buffer": "2.1.2"
}
},
- "babel-plugin-transform-es2015-sticky-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz",
- "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=",
+ "asn1.js": {
+ "version": "4.10.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+ "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+ "dev": true,
"requires": {
- "babel-helper-regex": "6.26.0",
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
+ "bn.js": "4.11.8",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.1"
}
},
- "babel-plugin-transform-es2015-template-literals": {
- "version": "6.22.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz",
- "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=",
+ "assert": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
+ "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
+ "dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "object-assign": "4.1.1",
+ "util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "dev": true
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
}
},
- "babel-plugin-transform-es2015-typeof-symbol": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz",
- "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=",
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "dev": true
+ },
+ "assign-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+ "dev": true
+ },
+ "async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
+ "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
+ "dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "lodash": "4.17.11"
}
},
- "babel-plugin-transform-es2015-unicode-regex": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz",
- "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=",
+ "async-each": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
+ "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
+ "dev": true
+ },
+ "async-foreach": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
+ "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
+ "dev": true,
+ "optional": true
+ },
+ "async-limiter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
+ "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
+ "dev": true
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "dev": true
+ },
+ "atob": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+ "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+ "dev": true
+ },
+ "autoprefixer": {
+ "version": "9.4.6",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.6.tgz",
+ "integrity": "sha512-Yp51mevbOEdxDUy5WjiKtpQaecqYq9OqZSL04rSoCiry7Tc5I9FEyo3bfxiTJc1DfHeKwSFCUYbBAiOQ2VGfiw==",
+ "dev": true,
"requires": {
- "babel-helper-regex": "6.26.0",
- "babel-runtime": "6.26.0",
- "regexpu-core": "2.0.0"
+ "browserslist": "4.6.1",
+ "caniuse-lite": "1.0.30000971",
+ "normalize-range": "0.1.2",
+ "num2fraction": "1.2.2",
+ "postcss": "7.0.14",
+ "postcss-value-parser": "3.3.1"
}
},
- "babel-plugin-transform-regenerator": {
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "dev": true
+ },
+ "aws4": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
+ "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
+ "dev": true
+ },
+ "babel-code-frame": {
"version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
- "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=",
+ "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
+ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
+ "dev": true,
"requires": {
- "regenerator-transform": "0.10.1"
+ "chalk": "1.1.3",
+ "esutils": "2.0.2",
+ "js-tokens": "3.0.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
}
},
- "babel-plugin-transform-runtime": {
- "version": "6.23.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz",
- "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=",
+ "babel-generator": {
+ "version": "6.26.1",
+ "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
+ "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
+ "dev": true,
"requires": {
- "babel-runtime": "6.26.0"
+ "babel-messages": "6.23.0",
+ "babel-runtime": "6.26.0",
+ "babel-types": "6.26.0",
+ "detect-indent": "4.0.0",
+ "jsesc": "1.3.0",
+ "lodash": "4.17.11",
+ "source-map": "0.5.7",
+ "trim-right": "1.0.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
}
},
- "babel-plugin-transform-strict-mode": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz",
- "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=",
- "requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0"
- }
- },
- "babel-preset-es2015": {
- "version": "6.24.1",
- "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz",
- "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=",
- "requires": {
- "babel-plugin-check-es2015-constants": "6.22.0",
- "babel-plugin-transform-es2015-arrow-functions": "6.22.0",
- "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0",
- "babel-plugin-transform-es2015-block-scoping": "6.26.0",
- "babel-plugin-transform-es2015-classes": "6.24.1",
- "babel-plugin-transform-es2015-computed-properties": "6.24.1",
- "babel-plugin-transform-es2015-destructuring": "6.23.0",
- "babel-plugin-transform-es2015-duplicate-keys": "6.24.1",
- "babel-plugin-transform-es2015-for-of": "6.23.0",
- "babel-plugin-transform-es2015-function-name": "6.24.1",
- "babel-plugin-transform-es2015-literals": "6.22.0",
- "babel-plugin-transform-es2015-modules-amd": "6.24.1",
- "babel-plugin-transform-es2015-modules-commonjs": "6.26.2",
- "babel-plugin-transform-es2015-modules-systemjs": "6.24.1",
- "babel-plugin-transform-es2015-modules-umd": "6.24.1",
- "babel-plugin-transform-es2015-object-super": "6.24.1",
- "babel-plugin-transform-es2015-parameters": "6.24.1",
- "babel-plugin-transform-es2015-shorthand-properties": "6.24.1",
- "babel-plugin-transform-es2015-spread": "6.22.0",
- "babel-plugin-transform-es2015-sticky-regex": "6.24.1",
- "babel-plugin-transform-es2015-template-literals": "6.22.0",
- "babel-plugin-transform-es2015-typeof-symbol": "6.23.0",
- "babel-plugin-transform-es2015-unicode-regex": "6.24.1",
- "babel-plugin-transform-regenerator": "6.26.0"
- }
- },
- "babel-register": {
- "version": "6.26.0",
- "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
- "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
+ "babel-messages": {
+ "version": "6.23.0",
+ "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
+ "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
+ "dev": true,
"requires": {
- "babel-core": "6.26.3",
- "babel-runtime": "6.26.0",
- "core-js": "2.5.7",
- "home-or-tmp": "2.0.0",
- "lodash": "4.17.11",
- "mkdirp": "0.5.1",
- "source-map-support": "0.4.18"
+ "babel-runtime": "6.26.0"
}
},
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+ "dev": true,
"requires": {
- "core-js": "2.5.7",
+ "core-js": "2.6.9",
"regenerator-runtime": "0.11.1"
- },
- "dependencies": {
- "regenerator-runtime": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
- "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
- }
}
},
"babel-template": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
"integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
+ "dev": true,
"requires": {
"babel-runtime": "6.26.0",
"babel-traverse": "6.26.0",
@@ -1854,6 +1553,7 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
+ "dev": true,
"requires": {
"babel-code-frame": "6.26.0",
"babel-messages": "6.23.0",
@@ -1870,6 +1570,7 @@
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+ "dev": true,
"requires": {
"babel-runtime": "6.26.0",
"esutils": "2.0.2",
@@ -1880,7 +1581,8 @@
"babylon": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
- "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
+ "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+ "dev": true
},
"backo2": {
"version": "1.0.2",
@@ -1897,10 +1599,11 @@
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+ "dev": true,
"requires": {
"cache-base": "1.0.1",
"class-utils": "0.3.6",
- "component-emitter": "1.2.1",
+ "component-emitter": "1.3.0",
"define-property": "1.0.0",
"isobject": "3.0.1",
"mixin-deep": "1.3.1",
@@ -1911,6 +1614,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
"requires": {
"is-descriptor": "1.0.2"
}
@@ -1919,6 +1623,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
"requires": {
"kind-of": "6.0.2"
}
@@ -1927,6 +1632,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
"requires": {
"kind-of": "6.0.2"
}
@@ -1935,32 +1641,15 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
"requires": {
"is-accessor-descriptor": "1.0.0",
"is-data-descriptor": "1.0.0",
"kind-of": "6.0.2"
}
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
}
}
},
- "base-x": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.5.tgz",
- "integrity": "sha512-C3picSgzPSLE+jW3tcBzJoGwitOtazb5B+5YmAxZm2ybmTi9LNgAtDO/jjVEBZwHoXmDBZ9m/IELj3elJVRBcA==",
- "requires": {
- "safe-buffer": "5.1.2"
- }
- },
"base64-arraybuffer": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
@@ -1978,26 +1667,21 @@
"integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
"dev": true
},
+ "batch": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
+ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=",
+ "dev": true
+ },
"bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "dev": true,
"requires": {
"tweetnacl": "0.14.5"
- },
- "dependencies": {
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
- }
}
},
- "bech32": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.3.tgz",
- "integrity": "sha512-yuVFUvrNcoJi0sv5phmqc6P+Fl1HjRDRNOOkHY2X/3LBy2bIGNSFx4fZ95HMaXHupuS7cZR15AsvtmCIF4UEyg=="
- },
"better-assert": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
@@ -2008,419 +1692,105 @@
}
},
"big-integer": {
- "version": "1.6.36",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz",
- "integrity": "sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg=="
+ "version": "1.6.43",
+ "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.43.tgz",
+ "integrity": "sha512-9dULc9jsKmXl0Aeunug8wbF+58n+hQoFjqClN7WeZwGLh0XJUWyJJ9Ee+Ep+Ql/J9fRsTVaeThp8MhiCCrY0Jg=="
},
"big.js": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
- "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
- },
- "bigi": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/bigi/-/bigi-1.4.2.tgz",
- "integrity": "sha1-nGZalfiLiwj8Bc/XMfVhhZ1yWCU="
- },
- "bignumber.js": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-8.0.1.tgz",
- "integrity": "sha512-zAySveTJXkgLYCBi0b14xzfnOs+f3G6x36I8w2a1+PFQpWk/dp0mI0F+ZZK2bu+3ELewDcSyP+Cfq++NcHX7sg=="
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "dev": true
},
"binary-extensions": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
- "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg=="
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+ "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+ "dev": true
},
- "bindings": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
- "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "blob": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
+ "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
+ "dev": true
+ },
+ "block-stream": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "dev": true,
+ "optional": true,
"requires": {
- "file-uri-to-path": "1.0.0"
+ "inherits": "2.0.3"
}
},
- "binstring": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/binstring/-/binstring-0.2.1.tgz",
- "integrity": "sha1-ihdNMB9tVO/aVQ3Zi7TLUk6s110="
- },
- "bip32-path": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/bip32-path/-/bip32-path-0.4.2.tgz",
- "integrity": "sha1-XbBBataCJxLwd4NuJVe4aXwMfJk="
- },
- "bip39": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/bip39/-/bip39-2.5.0.tgz",
- "integrity": "sha512-xwIx/8JKoT2+IPJpFEfXoWdYwP7UVAoUxxLNfGCfVowaJE7yg1Y5B1BVPqlUNsBq5/nGwmFkwRJ8xDW4sX8OdA==",
+ "blocking-proxy": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz",
+ "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==",
+ "dev": true,
"requires": {
- "create-hash": "1.2.0",
- "pbkdf2": "3.0.17",
- "randombytes": "2.0.6",
- "safe-buffer": "5.1.2",
- "unorm": "1.4.1"
- }
- },
- "bip66": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/bip66/-/bip66-1.1.5.tgz",
- "integrity": "sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=",
- "requires": {
- "safe-buffer": "5.1.2"
- }
- },
- "bitcoin-ops": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz",
- "integrity": "sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow=="
- },
- "bitcoin-script": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/bitcoin-script/-/bitcoin-script-0.1.1.tgz",
- "integrity": "sha1-UsUE3dweOxMXp7ZWeoiYGz7zkpw=",
- "requires": {
- "big-integer": "1.6.36",
- "bigi": "1.4.2",
- "coinkey": "0.1.0",
- "ecdsa": "0.6.0",
- "js-beautify": "1.10.0",
- "ripemd160": "0.2.1",
- "secure-random": "1.1.2",
- "sha1": "1.1.1",
- "sha256": "0.1.1"
- },
- "dependencies": {
- "ripemd160": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.1.tgz",
- "integrity": "sha1-3uGSSKPhyBX/muo551OjN/VqJD0="
- }
- }
- },
- "bitcoinjs-lib": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-3.3.2.tgz",
- "integrity": "sha512-l5qqvbaK8wwtANPf6oEffykycg4383XgEYdia1rI7/JpGf1jfRWlOUCvx5TiTZS7kyIvY4j/UhIQ2urLsvGkzw==",
- "requires": {
- "bech32": "1.1.3",
- "bigi": "1.4.2",
- "bip66": "1.1.5",
- "bitcoin-ops": "1.4.1",
- "bs58check": "2.1.2",
- "create-hash": "1.2.0",
- "create-hmac": "1.1.7",
- "ecurve": "1.0.6",
- "merkle-lib": "2.0.10",
- "pushdata-bitcoin": "1.0.1",
- "randombytes": "2.0.6",
- "safe-buffer": "5.1.2",
- "typeforce": "1.18.0",
- "varuint-bitcoin": "1.1.0",
- "wif": "2.0.6"
- }
- },
- "bitcoinjs-lib-zcash": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/bitcoinjs-lib-zcash/-/bitcoinjs-lib-zcash-3.6.1.tgz",
- "integrity": "sha512-p09YKY2l0sNf1LjJOO82s4tgxLNdNTwOMN1yRzFm3ozGC87Odx1iq8vD6XTBs/g3nAOsXlmD2VJc2hHCHyH7xg==",
- "requires": {
- "bech32": "1.1.3",
- "bigi": "1.4.2",
- "bip66": "1.1.5",
- "bitcoin-ops": "1.4.1",
- "bitcoin-script": "0.1.1",
- "blake2b": "2.1.3",
- "bs58check": "2.1.2",
- "create-hash": "1.2.0",
- "create-hmac": "1.1.7",
- "ecurve": "1.0.6",
- "merkle-lib": "2.0.10",
- "pushdata-bitcoin": "1.0.1",
- "randombytes": "2.0.6",
- "safe-buffer": "5.1.2",
- "typeforce": "1.11.3",
- "varuint-bitcoin": "1.1.0",
- "wif": "2.0.6"
- },
- "dependencies": {
- "typeforce": {
- "version": "1.11.3",
- "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.11.3.tgz",
- "integrity": "sha512-+vllWbxe1AKLkO3KNyZPjb51NRHwRE/8bAi/cmF6TK24VqrPiQPRiHrFV19j1xHxxCHQbIvN4Zfco+skuiXSWQ==",
- "requires": {
- "inherits": "2.0.3"
- }
- }
- }
- },
- "bitgo-utxo-lib": {
- "version": "git+https://github.com/Groestlcoin/bitgo-utxo-lib.git#5d91049fd7a988382df81c8260e244ee56d57aac",
- "requires": {
- "bech32": "0.0.3",
- "bigi": "1.4.2",
- "bip66": "1.1.5",
- "bitcoin-ops": "1.4.1",
- "blake2b": "git+https://github.com/BitGo/blake2b.git#6268e6dd678661e0acc4359e9171b97eb1ebf8ac",
- "bs58check": "2.1.2",
- "create-hash": "1.2.0",
- "create-hmac": "1.1.7",
- "debug": "3.1.0",
- "ecurve": "1.0.6",
- "groestl-hash-js": "git+https://github.com/Groestlcoin/groestl-hash-js.git#ef6a04f1c4d2f0448f0882b5f213ef7a0659baee",
- "merkle-lib": "2.0.10",
- "pushdata-bitcoin": "1.0.1",
- "randombytes": "2.0.6",
- "safe-buffer": "5.1.2",
- "secp256k1": "3.7.1",
- "typeforce": "1.18.0",
- "varuint-bitcoin": "1.1.0",
- "wif": "2.0.6"
- },
- "dependencies": {
- "bech32": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/bech32/-/bech32-0.0.3.tgz",
- "integrity": "sha512-O+K1w8P/aAOLcYwwQ4sbiPYZ51ZIW95lnS4/6nE8Aib/z+OOddQIIPdu2qi94qGDp4HhYy/wJotttXKkak1lXg=="
- },
- "blake2b": {
- "version": "git+https://github.com/BitGo/blake2b.git#6268e6dd678661e0acc4359e9171b97eb1ebf8ac",
- "requires": {
- "blake2b-wasm": "git+https://github.com/BitGo/blake2b-wasm.git#193cdb71656c1a6c7f89b05d0327bb9b758d071b",
- "nanoassert": "1.1.0"
- }
- },
- "blake2b-wasm": {
- "version": "git+https://github.com/BitGo/blake2b-wasm.git#193cdb71656c1a6c7f89b05d0327bb9b758d071b",
- "requires": {
- "nanoassert": "1.1.0"
- }
- },
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "bl": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz",
- "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==",
- "requires": {
- "readable-stream": "2.3.6",
- "safe-buffer": "5.1.2"
- }
- },
- "blake2b": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/blake2b/-/blake2b-2.1.3.tgz",
- "integrity": "sha512-pkDss4xFVbMb4270aCyGD3qLv92314Et+FsKzilCLxDz5DuZ2/1g3w4nmBbu6nKApPspnjG7JcwTjGZnduB1yg==",
- "requires": {
- "blake2b-wasm": "1.1.7",
- "nanoassert": "1.1.0"
- }
- },
- "blake2b-wasm": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-1.1.7.tgz",
- "integrity": "sha512-oFIHvXhlz/DUgF0kq5B1CqxIDjIJwh9iDeUUGQUcvgiGz7Wdw03McEO7CfLBy7QKGdsydcMCgO9jFNBAFCtFcA==",
- "requires": {
- "nanoassert": "1.1.0"
- }
- },
- "blob": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
- "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=",
- "dev": true
- },
- "block-stream": {
- "version": "0.0.9",
- "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
- "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
- "requires": {
- "inherits": "2.0.3"
- }
- },
- "blocking-proxy": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz",
- "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==",
- "dev": true,
- "requires": {
- "minimist": "1.2.0"
+ "minimist": "1.2.0"
}
},
"bluebird": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz",
- "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw=="
- },
- "bluebird-lst": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/bluebird-lst/-/bluebird-lst-1.0.6.tgz",
- "integrity": "sha512-CBWFoPuUPpcvMUxfyr8DKdI5d4kjxFl1h39+VbKxP3KJWJHEsLtuT4pPLkjpxCGU6Ask21tvbnftWXdqIxYldQ==",
- "dev": true,
- "requires": {
- "bluebird": "3.5.3"
- }
+ "version": "3.5.5",
+ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
+ "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
+ "dev": true
},
"bn.js": {
"version": "4.11.8",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
- "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA=="
- },
- "body": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
- "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
- "requires": {
- "continuable-cache": "0.3.1",
- "error": "7.0.2",
- "raw-body": "1.1.7",
- "safe-json-parse": "1.0.1"
- },
- "dependencies": {
- "bytes": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
- "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g="
- },
- "raw-body": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
- "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
- "requires": {
- "bytes": "1.0.0",
- "string_decoder": "0.10.31"
- }
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
- }
- }
+ "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
+ "dev": true
},
"body-parser": {
- "version": "1.18.3",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
- "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
+ "version": "1.19.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
+ "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
+ "dev": true,
"requires": {
- "bytes": "3.0.0",
+ "bytes": "3.1.0",
"content-type": "1.0.4",
"debug": "2.6.9",
"depd": "1.1.2",
- "http-errors": "1.6.3",
- "iconv-lite": "0.4.23",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
"on-finished": "2.3.0",
- "qs": "6.5.2",
- "raw-body": "2.3.3",
- "type-is": "1.6.16"
- }
- },
- "boom": {
- "version": "2.10.1",
- "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
- "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
- "dev": true,
- "requires": {
- "hoek": "2.16.3"
- }
- },
- "boxen": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz",
- "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==",
- "dev": true,
- "requires": {
- "ansi-align": "2.0.0",
- "camelcase": "4.1.0",
- "chalk": "2.4.1",
- "cli-boxes": "1.0.0",
- "string-width": "2.1.1",
- "term-size": "1.2.0",
- "widest-line": "2.0.1"
+ "qs": "6.7.0",
+ "raw-body": "2.4.0",
+ "type-is": "1.6.18"
},
"dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.3"
- }
- },
- "camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
- "dev": true
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "bytes": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
"dev": true
},
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "qs": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
"dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
}
}
},
+ "bonjour": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz",
+ "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=",
+ "dev": true,
+ "requires": {
+ "array-flatten": "2.1.2",
+ "deep-equal": "1.0.1",
+ "dns-equal": "1.0.0",
+ "dns-txt": "2.0.2",
+ "multicast-dns": "6.2.3",
+ "multicast-dns-service-types": "1.1.0"
+ }
+ },
"bplist-creator": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.7.tgz",
@@ -2434,7 +1804,7 @@
"resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
"integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
"requires": {
- "big-integer": "1.6.36"
+ "big-integer": "1.6.43"
}
},
"brace-expansion": {
@@ -2447,41 +1817,45 @@
}
},
"braces": {
- "version": "1.8.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz",
- "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=",
- "requires": {
- "expand-range": "1.8.2",
- "preserve": "0.2.0",
- "repeat-element": "1.1.3"
- }
- },
- "brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
- },
- "browser-resolve": {
- "version": "1.11.3",
- "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
- "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"dev": true,
"requires": {
- "resolve": "1.1.7"
+ "arr-flatten": "1.1.0",
+ "array-unique": "0.3.2",
+ "extend-shallow": "2.0.1",
+ "fill-range": "4.0.0",
+ "isobject": "3.0.1",
+ "repeat-element": "1.1.3",
+ "snapdragon": "0.8.2",
+ "snapdragon-node": "2.1.1",
+ "split-string": "3.1.0",
+ "to-regex": "3.0.2"
},
"dependencies": {
- "resolve": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
- "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
- "dev": true
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
}
}
},
+ "brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+ "dev": true
+ },
"browserify-aes": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+ "dev": true,
"requires": {
"buffer-xor": "1.0.3",
"cipher-base": "1.0.4",
@@ -2495,6 +1869,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
"integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "dev": true,
"requires": {
"browserify-aes": "1.2.0",
"browserify-des": "1.0.2",
@@ -2505,6 +1880,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
"integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+ "dev": true,
"requires": {
"cipher-base": "1.0.4",
"des.js": "1.0.0",
@@ -2516,31 +1892,17 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
"integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+ "dev": true,
"requires": {
"bn.js": "4.11.8",
- "randombytes": "2.0.6"
- }
- },
- "browserify-sha3": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.4.tgz",
- "integrity": "sha1-CGxHuMgjFsnUcCLCYYWVRXbdjiY=",
- "requires": {
- "js-sha3": "0.6.1",
- "safe-buffer": "5.1.2"
- },
- "dependencies": {
- "js-sha3": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.6.1.tgz",
- "integrity": "sha1-W4n3enR3Z5h39YxKB1JAk0sflcA="
- }
+ "randombytes": "2.1.0"
}
},
"browserify-sign": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
"integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+ "dev": true,
"requires": {
"bn.js": "4.11.8",
"browserify-rsa": "4.0.1",
@@ -2548,67 +1910,54 @@
"create-hmac": "1.1.7",
"elliptic": "6.4.1",
"inherits": "2.0.3",
- "parse-asn1": "5.1.1"
+ "parse-asn1": "5.1.4"
}
},
"browserify-zlib": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
"integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "dev": true,
"requires": {
- "pako": "1.0.6"
+ "pako": "1.0.10"
}
},
"browserslist": {
- "version": "2.11.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz",
- "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==",
+ "version": "4.6.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.1.tgz",
+ "integrity": "sha512-1MC18ooMPRG2UuVFJTHFIAkk6mpByJfxCrnUyvSlu/hyQSFHMrlhM02SzNuCV+quTP4CKmqtOMAIjrifrpBJXQ==",
"dev": true,
"requires": {
- "caniuse-lite": "1.0.30000910",
- "electron-to-chromium": "1.3.84"
+ "caniuse-lite": "1.0.30000971",
+ "electron-to-chromium": "1.3.143",
+ "node-releases": "1.1.22"
}
},
"browserstack": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.1.tgz",
- "integrity": "sha512-O8VMT64P9NOLhuIoD4YngyxBURefaSdR4QdhG8l6HZ9VxtU7jc3m6jLufFwKA5gaf7fetfB2TnRJnMxyob+heg==",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.2.tgz",
+ "integrity": "sha512-+6AFt9HzhKykcPF79W6yjEUJcdvZOV0lIXdkORXMJftGrDl0OKWqRF4GHqpDNkxiceDT/uB7Fb/aDwktvXX7dg==",
"dev": true,
"requires": {
"https-proxy-agent": "2.2.1"
}
},
- "bs58": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz",
- "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=",
- "requires": {
- "base-x": "3.0.5"
- }
- },
- "bs58check": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/bs58check/-/bs58check-2.1.2.tgz",
- "integrity": "sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==",
- "requires": {
- "bs58": "4.0.1",
- "create-hash": "1.2.0",
- "safe-buffer": "5.1.2"
- }
- },
"buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
- "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
+ "version": "4.9.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
+ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "dev": true,
"requires": {
"base64-js": "1.3.0",
- "ieee754": "1.1.12"
+ "ieee754": "1.1.13",
+ "isarray": "1.0.0"
}
},
"buffer-alloc": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
"integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
+ "dev": true,
"requires": {
"buffer-alloc-unsafe": "1.1.0",
"buffer-fill": "1.0.0"
@@ -2617,17 +1966,14 @@
"buffer-alloc-unsafe": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
- "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg=="
- },
- "buffer-crc32": {
- "version": "0.2.13",
- "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
- "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI="
+ "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
+ "dev": true
},
"buffer-fill": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
- "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw="
+ "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
+ "dev": true
},
"buffer-from": {
"version": "1.1.1",
@@ -2635,155 +1981,71 @@
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
"dev": true
},
- "buffer-to-arraybuffer": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz",
- "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo="
+ "buffer-indexof": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
+ "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
+ "dev": true
},
"buffer-xor": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
- },
- "builder-util": {
- "version": "9.3.0",
- "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-9.3.0.tgz",
- "integrity": "sha512-K+kj5vWj4Mk3jOm6kVT9ZwNcECLHe449vdMxYuZpCnn7CSxRm+TeZm9P9ZFCQUID5Hww/Sy4NMFo+VVJh6+Ptw==",
- "dev": true,
- "requires": {
- "7zip-bin": "4.1.0",
- "app-builder-bin": "2.5.1",
- "bluebird-lst": "1.0.6",
- "builder-util-runtime": "8.0.2",
- "chalk": "2.4.1",
- "debug": "4.1.0",
- "fs-extra-p": "7.0.0",
- "is-ci": "1.2.1",
- "js-yaml": "3.12.0",
- "source-map-support": "0.5.9",
- "stat-mode": "0.2.2",
- "temp-file": "3.3.2"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.3"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
- }
- },
- "debug": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
- "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
- "dev": true,
- "requires": {
- "ms": "2.1.1"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "source-map-support": {
- "version": "0.5.9",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz",
- "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==",
- "dev": true,
- "requires": {
- "buffer-from": "1.1.1",
- "source-map": "0.6.1"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "builder-util-runtime": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.0.2.tgz",
- "integrity": "sha512-46AjyMQ1/yBvGnXWmqNGlg8te7jCPCs7TJ0zDC2+4vV/t5iZp2dR1H9UfVpcBxlvBq3dlAOmwb9fz1d9xZN1+Q==",
- "dev": true,
- "requires": {
- "bluebird-lst": "1.0.6",
- "debug": "4.1.0",
- "fs-extra-p": "7.0.0",
- "sax": "1.2.4"
- },
- "dependencies": {
- "debug": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz",
- "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==",
- "dev": true,
- "requires": {
- "ms": "2.1.1"
- }
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- }
- }
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+ "dev": true
},
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+ "dev": true
},
"builtin-status-codes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+ "dev": true
+ },
+ "builtins": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
+ "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
+ "dev": true
},
"bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
+ "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
+ "dev": true
+ },
+ "cacache": {
+ "version": "10.0.4",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz",
+ "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==",
+ "dev": true,
+ "requires": {
+ "bluebird": "3.5.5",
+ "chownr": "1.1.1",
+ "glob": "7.1.3",
+ "graceful-fs": "4.1.15",
+ "lru-cache": "4.1.5",
+ "mississippi": "2.0.0",
+ "mkdirp": "0.5.1",
+ "move-concurrently": "1.0.1",
+ "promise-inflight": "1.0.1",
+ "rimraf": "2.6.3",
+ "ssri": "5.3.0",
+ "unique-filename": "1.1.1",
+ "y18n": "4.0.0"
+ }
},
"cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+ "dev": true,
"requires": {
"collection-visit": "1.0.0",
- "component-emitter": "1.2.1",
+ "component-emitter": "1.3.0",
"get-value": "2.0.6",
"has-value": "1.0.0",
"isobject": "3.0.1",
@@ -2791,36 +2053,24 @@
"to-object-path": "0.3.0",
"union-value": "1.0.0",
"unset-value": "1.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
}
},
- "cacheable-request": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz",
- "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=",
+ "caller-callsite": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
+ "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
"dev": true,
"requires": {
- "clone-response": "1.0.2",
- "get-stream": "3.0.0",
- "http-cache-semantics": "3.8.1",
- "keyv": "3.0.0",
- "lowercase-keys": "1.0.0",
- "normalize-url": "2.0.1",
- "responselike": "1.0.2"
- },
- "dependencies": {
- "lowercase-keys": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz",
- "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=",
- "dev": true
- }
+ "callsites": "2.0.0"
+ }
+ },
+ "caller-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
+ "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+ "dev": true,
+ "requires": {
+ "caller-callsite": "2.0.0"
}
},
"callsite": {
@@ -2829,122 +2079,95 @@
"integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
"dev": true
},
- "camel-case": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz",
- "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=",
- "requires": {
- "no-case": "2.3.2",
- "upper-case": "1.1.3"
- }
+ "callsites": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
+ "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
+ "dev": true
},
"camelcase": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
- "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk="
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
+ "dev": true,
+ "optional": true
},
"camelcase-keys": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
"dev": true,
+ "optional": true,
"requires": {
"camelcase": "2.1.1",
"map-obj": "1.0.1"
- },
- "dependencies": {
- "camelcase": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
- "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
- "dev": true
- }
}
},
"caniuse-lite": {
- "version": "1.0.30000910",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000910.tgz",
- "integrity": "sha512-u/nxtHGAzCGZzIxt3dA/tpSPOcirBZFWKwz1EPz4aaupnBI2XR0Rbr74g0zc6Hzy41OEM4uMoZ38k56TpYAWjQ==",
+ "version": "1.0.30000971",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz",
+ "integrity": "sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g==",
"dev": true
},
- "capture-stack-trace": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz",
- "integrity": "sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw==",
+ "canonical-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz",
+ "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==",
"dev": true
},
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
- },
- "caw": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/caw/-/caw-2.0.1.tgz",
- "integrity": "sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==",
- "dev": true,
- "requires": {
- "get-proxy": "2.1.0",
- "isurl": "1.0.0",
- "tunnel-agent": "0.6.0",
- "url-to-options": "1.0.1"
- }
- },
- "center-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
- "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
- "requires": {
- "align-text": "0.1.4",
- "lazy-cache": "1.0.4"
- }
- },
- "chai": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz",
- "integrity": "sha1-TQJjewZ/6Vi9v906QOxW/vc3Mkc=",
- "requires": {
- "assertion-error": "1.1.0",
- "deep-eql": "0.1.3",
- "type-detect": "1.0.0"
- }
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "dev": true
},
"chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
"requires": {
- "ansi-styles": "2.2.1",
+ "ansi-styles": "3.2.1",
"escape-string-regexp": "1.0.5",
- "has-ansi": "2.0.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0"
+ "supports-color": "5.5.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "3.0.0"
+ }
+ }
}
},
"chardet": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
- "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I="
- },
- "charenc": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
- "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc="
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true
},
"chokidar": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz",
- "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
+ "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
+ "dev": true,
"requires": {
- "anymatch": "1.3.2",
- "async-each": "1.0.1",
- "fsevents": "1.2.4",
- "glob-parent": "2.0.0",
+ "anymatch": "2.0.0",
+ "async-each": "1.0.3",
+ "braces": "2.3.2",
+ "fsevents": "1.2.9",
+ "glob-parent": "3.1.0",
"inherits": "2.0.3",
"is-binary-path": "1.0.1",
- "is-glob": "2.0.1",
+ "is-glob": "4.0.1",
+ "lodash.debounce": "4.0.8",
+ "normalize-path": "2.1.1",
"path-is-absolute": "1.0.1",
- "readdirp": "2.2.1"
+ "readdirp": "2.2.1",
+ "upath": "1.1.2"
}
},
"chownr": {
@@ -2953,30 +2176,42 @@
"integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==",
"dev": true
},
- "chromium-pickle-js": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz",
- "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=",
- "dev": true
+ "chrome-trace-event": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz",
+ "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "1.9.3"
+ }
},
"ci-info": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz",
- "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A=="
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
},
"cipher-base": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
"integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+ "dev": true,
"requires": {
"inherits": "2.0.3",
"safe-buffer": "5.1.2"
}
},
+ "circular-dependency-plugin": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.0.2.tgz",
+ "integrity": "sha512-oC7/DVAyfcY3UWKm0sN/oVoDedQDQiw/vIiAnuTWTpE5s0zWf7l3WY417Xw/Fbi/QbAjctAkxgMiS9P0s3zkmA==",
+ "dev": true
+ },
"class-utils": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+ "dev": true,
"requires": {
"arr-union": "3.1.0",
"define-property": "0.2.5",
@@ -2988,14 +2223,10 @@
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
"requires": {
"is-descriptor": "0.1.6"
}
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
}
}
},
@@ -3003,6 +2234,7 @@
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz",
"integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
+ "dev": true,
"requires": {
"source-map": "0.6.1"
},
@@ -3010,20 +2242,16 @@
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
}
}
},
- "cli-boxes": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz",
- "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=",
- "dev": true
- },
"cli-cursor": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
"integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "dev": true,
"requires": {
"restore-cursor": "2.0.0"
}
@@ -3031,76 +2259,75 @@
"cli-width": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
- "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
+ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "dev": true
},
"cliui": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
- "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+ "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+ "dev": true,
"requires": {
- "center-align": "0.1.3",
- "right-align": "0.1.3",
- "wordwrap": "0.0.2"
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wrap-ansi": "2.1.0"
}
},
- "clone-response": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
- "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+ "dev": true
+ },
+ "clone-deep": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz",
+ "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==",
"dev": true,
"requires": {
- "mimic-response": "1.0.1"
+ "for-own": "1.0.0",
+ "is-plain-object": "2.0.4",
+ "kind-of": "6.0.2",
+ "shallow-clone": "1.0.0"
}
},
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
- "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "dev": true
},
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
- "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
- },
- "coinkey": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/coinkey/-/coinkey-0.1.0.tgz",
- "integrity": "sha1-vfKpU9z+T9cP26MADHh/82nYKUw=",
- "requires": {
- "coinstring": "0.2.0",
- "eckey": "0.4.2",
- "secure-random": "0.2.1"
- },
- "dependencies": {
- "secure-random": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/secure-random/-/secure-random-0.2.1.tgz",
- "integrity": "sha1-HC8Iy5TYwG3v9SchpgRbupb4Wpo="
- }
- }
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "dev": true
},
- "coinstring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/coinstring/-/coinstring-0.2.0.tgz",
- "integrity": "sha1-+iggSXu541t8+hFvBIIZym8/NI8=",
+ "codelyzer": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-4.5.0.tgz",
+ "integrity": "sha512-oO6vCkjqsVrEsmh58oNlnJkRXuA30hF8cdNAQV9DytEalDwyOFRvHMnlKFzmOStNerOmPGZU9GAHnBo4tGvtiQ==",
+ "dev": true,
"requires": {
- "bs58": "0.3.0",
- "crypto-hashing": "0.3.1"
+ "app-root-path": "2.2.1",
+ "css-selector-tokenizer": "0.7.1",
+ "cssauron": "1.4.0",
+ "semver-dsl": "1.0.1",
+ "source-map": "0.5.7",
+ "sprintf-js": "1.1.2"
},
"dependencies": {
- "bigi": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/bigi/-/bigi-0.2.0.tgz",
- "integrity": "sha1-i+4mNIuZxK4u0gSB+xI4TDJ5L3Q="
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
},
- "bs58": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/bs58/-/bs58-0.3.0.tgz",
- "integrity": "sha1-y0gQe/RGcn0+F7IRAtpzyokQlYg=",
- "requires": {
- "bigi": "0.2.0",
- "binstring": "0.2.1"
- }
+ "sprintf-js": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
+ "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
+ "dev": true
}
}
},
@@ -3108,6 +2335,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+ "dev": true,
"requires": {
"map-visit": "1.0.0",
"object-visit": "1.0.1"
@@ -3117,6 +2345,7 @@
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
"requires": {
"color-name": "1.1.3"
}
@@ -3124,58 +2353,40 @@
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
- },
- "color-support": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
- "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
"colors": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
- "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM="
- },
- "com.lampa.startapp": {
- "version": "6.1.6",
- "resolved": "https://registry.npmjs.org/com.lampa.startapp/-/com.lampa.startapp-6.1.6.tgz",
- "integrity": "sha1-tcmoVMn36q68zRJkCMp7Vf40p5Y="
- },
- "combine-lists": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
- "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
- "dev": true,
- "requires": {
- "lodash": "4.17.11"
- }
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
+ "dev": true
},
"combined-stream": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
- "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dev": true,
"requires": {
"delayed-stream": "1.0.0"
}
},
"commander": {
- "version": "2.8.1",
- "resolved": "http://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
- "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
- "requires": {
- "graceful-readlink": "1.0.1"
- }
+ "version": "2.20.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
+ "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==",
+ "dev": true
},
"commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs="
+ "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+ "dev": true
},
- "compare-version": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/compare-version/-/compare-version-0.1.2.tgz",
- "integrity": "sha1-AWLsLZNR9d3VmpICy6k1NmpyUIA=",
+ "compare-versions": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz",
+ "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==",
"dev": true
},
"component-bind": {
@@ -3185,9 +2396,10 @@
"dev": true
},
"component-emitter": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
- "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+ "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "dev": true
},
"component-inherit": {
"version": "0.0.3",
@@ -3195,15 +2407,28 @@
"integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
"dev": true
},
- "compress-commons": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz",
- "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=",
+ "compressible": {
+ "version": "2.0.17",
+ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
+ "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==",
+ "dev": true,
"requires": {
- "buffer-crc32": "0.2.13",
- "crc32-stream": "2.0.0",
- "normalize-path": "2.1.1",
- "readable-stream": "2.3.6"
+ "mime-db": "1.40.0"
+ }
+ },
+ "compression": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
+ "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
+ "dev": true,
+ "requires": {
+ "accepts": "1.3.7",
+ "bytes": "3.0.0",
+ "compressible": "2.0.17",
+ "debug": "2.6.9",
+ "on-headers": "1.0.2",
+ "safe-buffer": "5.1.2",
+ "vary": "1.1.2"
}
},
"concat-map": {
@@ -3223,68 +2448,29 @@
"typedarray": "0.0.6"
}
},
- "config-chain": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz",
- "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
+ "connect": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
+ "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
+ "dev": true,
"requires": {
- "ini": "1.3.5",
- "proto-list": "1.2.4"
+ "debug": "2.6.9",
+ "finalhandler": "1.1.2",
+ "parseurl": "1.3.3",
+ "utils-merge": "1.0.1"
}
},
- "configstore": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz",
- "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==",
- "dev": true,
- "requires": {
- "dot-prop": "4.2.0",
- "graceful-fs": "4.1.15",
- "make-dir": "1.3.0",
- "unique-string": "1.0.0",
- "write-file-atomic": "2.3.0",
- "xdg-basedir": "3.0.0"
- }
- },
- "connect": {
- "version": "3.6.6",
- "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
- "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "finalhandler": "1.1.0",
- "parseurl": "1.3.2",
- "utils-merge": "1.0.1"
- },
- "dependencies": {
- "finalhandler": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
- "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
- "statuses": "1.3.1",
- "unpipe": "1.0.0"
- }
- },
- "statuses": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
- "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
- "dev": true
- }
- }
+ "connect-history-api-fallback": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
+ "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
+ "dev": true
},
"console-browserify": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
"integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+ "dev": true,
"requires": {
"date-now": "0.1.4"
}
@@ -3298,1666 +2484,1184 @@
"constants-browserify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+ "dev": true
},
"content-disposition": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
- "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
+ "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
},
"content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
- },
- "continuable-cache": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
- "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8="
- },
- "conventional-commit-types": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-2.2.0.tgz",
- "integrity": "sha1-XblXOdbCEqy+e29lahG5QLqmiUY=",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
"dev": true
},
- "convert-hex": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/convert-hex/-/convert-hex-0.1.0.tgz",
- "integrity": "sha1-CMBFaJIsJ3drii6BqV05M2LqC2U="
- },
"convert-source-map": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
"integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
+ "dev": true,
"requires": {
"safe-buffer": "5.1.2"
}
},
- "convert-string": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/convert-string/-/convert-string-0.1.0.tgz",
- "integrity": "sha1-ec5BqbsNA7z3LNxqjzxW+7xkQQo="
- },
"cookie": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
- "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
+ "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
+ "dev": true
},
"cookie-signature": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
+ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
+ "dev": true
},
- "cookiejar": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz",
- "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA=="
+ "copy-concurrently": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
+ "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+ "dev": true,
+ "requires": {
+ "aproba": "1.2.0",
+ "fs-write-stream-atomic": "1.0.10",
+ "iferr": "0.1.5",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.3",
+ "run-queue": "1.0.3"
+ }
},
"copy-descriptor": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
+ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+ "dev": true
+ },
+ "copy-webpack-plugin": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz",
+ "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==",
+ "dev": true,
+ "requires": {
+ "cacache": "10.0.4",
+ "find-cache-dir": "1.0.0",
+ "globby": "7.1.1",
+ "is-glob": "4.0.1",
+ "loader-utils": "1.2.3",
+ "minimatch": "3.0.4",
+ "p-limit": "1.3.0",
+ "serialize-javascript": "1.7.0"
+ }
},
- "cordova-android": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-7.1.2.tgz",
- "integrity": "sha512-w28HJGtfAZCT96hVH9BMppWMnmDTZplKu2NRQZN2dCr5e9r7aHpay41MYy9IBkh8+7E7lMo/jZkRwBDNr4VnEg==",
+ "cordova-common": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-3.1.0.tgz",
+ "integrity": "sha512-J2MM1ioyLlBYdwdXH40OZL4hN7XEBOfurddKYifF4aTkb2PkbeM+KVORt53eyU+8ScA0QmRLuTG0EM55eLms0A==",
"requires": {
- "abbrev": "1.1.1",
- "android-versions": "1.3.0",
"ansi": "0.3.1",
- "balanced-match": "1.0.0",
- "base64-js": "1.2.0",
- "big-integer": "1.6.32",
"bplist-parser": "0.1.1",
- "brace-expansion": "1.1.11",
- "concat-map": "0.0.1",
- "cordova-common": "2.2.5",
- "cordova-registry-mapper": "1.1.15",
- "elementtree": "0.1.6",
- "glob": "5.0.15",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
+ "cross-spawn": "6.0.5",
+ "elementtree": "0.1.7",
+ "endent": "1.3.0",
+ "fs-extra": "7.0.1",
+ "glob": "7.1.3",
"minimatch": "3.0.4",
- "nopt": "3.0.1",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1",
- "plist": "2.1.0",
- "properties-parser": "0.2.3",
+ "plist": "3.0.1",
"q": "1.4.1",
- "sax": "0.3.5",
- "semver": "5.5.0",
- "shelljs": "0.5.3",
+ "strip-bom": "3.0.0",
"underscore": "1.9.1",
- "unorm": "1.4.1",
- "wrappy": "1.0.2",
- "xmlbuilder": "8.2.2",
- "xmldom": "0.1.27"
+ "which": "1.3.1"
},
"dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
- },
- "android-versions": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/android-versions/-/android-versions-1.3.0.tgz",
- "integrity": "sha512-d/i1G16Oaw/T1EvskUA7Oo1vIQVK/0ZlpQgZfYVBwg6v/9FBE3QV66g5N1/bTHpRml8tFLxh+KoTw5DokK9c+A==",
- "requires": {
- "semver": "5.5.0"
- }
- },
- "ansi": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
- "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
- },
- "balanced-match": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
- },
- "base64-js": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz",
- "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE="
- },
- "big-integer": {
- "version": "1.6.32",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.32.tgz",
- "integrity": "sha512-ljKJdR3wk9thHfLj4DtrNiOSTxvGFaMjWrG4pW75juXC4j7+XuKJVFdg4kgFMYp85PVkO05dFMj2dk2xVsH4xw=="
- },
- "bplist-parser": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
- "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
- "requires": {
- "big-integer": "1.6.32"
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "requires": {
- "balanced-match": "1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
- },
- "cordova-common": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.2.5.tgz",
- "integrity": "sha1-+TzvKtSUz8v1bEbj1hKqqctfzDI=",
- "requires": {
- "ansi": "0.3.1",
- "bplist-parser": "0.1.1",
- "cordova-registry-mapper": "1.1.15",
- "elementtree": "0.1.6",
- "glob": "5.0.15",
- "minimatch": "3.0.4",
- "plist": "2.1.0",
- "q": "1.4.1",
- "shelljs": "0.5.3",
- "underscore": "1.9.1",
- "unorm": "1.4.1"
- }
- },
- "cordova-registry-mapper": {
- "version": "1.1.15",
- "resolved": "https://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz",
- "integrity": "sha1-4kS5GFuBdUc7/2B5MkkFEV+D3Hw="
- },
- "elementtree": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz",
- "integrity": "sha1-KsTEbqMFFsjEy9teOsdBjlkt4gw=",
- "requires": {
- "sax": "0.3.5"
- }
- },
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "requires": {
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"requires": {
- "brace-expansion": "1.1.11"
+ "nice-try": "1.0.5",
+ "path-key": "2.0.1",
+ "semver": "5.6.0",
+ "shebang-command": "1.2.0",
+ "which": "1.3.1"
}
},
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
+ }
+ }
+ },
+ "cordova-ios": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/cordova-ios/-/cordova-ios-5.0.1.tgz",
+ "integrity": "sha512-JcFyDmlyzY2OQJo0eHpuFERFqvO4daHl8HL96RhUVjJVtuoqXHsOF0xTuQSAqIbefelMPEWwY3Lc/dvT4ttTwQ==",
+ "requires": {
+ "cordova-common": "3.1.0",
+ "ios-sim": "8.0.1",
+ "nopt": "4.0.1",
+ "plist": "3.0.1",
+ "q": "1.5.1",
+ "shelljs": "0.5.3",
+ "unorm": "1.5.0",
+ "xcode": "2.0.0",
+ "xml-escape": "1.1.0"
+ },
+ "dependencies": {
"nopt": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.1.tgz",
- "integrity": "sha1-vOXEJEajKR9HYio3CrvxWPu6y/0=",
- "requires": {
- "abbrev": "1.1.1"
- }
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "requires": {
- "wrappy": "1.0.2"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
- },
- "plist": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz",
- "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+ "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
"requires": {
- "base64-js": "1.2.0",
- "xmlbuilder": "8.2.2",
- "xmldom": "0.1.27"
+ "abbrev": "1.1.1",
+ "osenv": "0.1.5"
}
},
- "properties-parser": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz",
- "integrity": "sha1-91kSVfcHq7/yJ8e1a2N9uwNzoQ8="
- },
"q": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
- "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4="
- },
- "sax": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/sax/-/sax-0.3.5.tgz",
- "integrity": "sha1-iPz8H3PAyLvVt8d2ttPzUB7tBz0="
- },
- "semver": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz",
- "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA=="
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
},
"shelljs": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
"integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM="
- },
- "underscore": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
- "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
- },
- "unorm": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
- "integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA="
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- },
- "xmlbuilder": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
- "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M="
- },
- "xmldom": {
- "version": "0.1.27",
- "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
- "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
}
}
},
- "cordova-android-support-gradle-release": {
- "version": "1.4.7",
- "resolved": "https://registry.npmjs.org/cordova-android-support-gradle-release/-/cordova-android-support-gradle-release-1.4.7.tgz",
- "integrity": "sha512-3hDS3mBjSAEzKM4gZBze8G02/aNQgcww1CyUneuYPOYvleTPk3Q4OYkjmHHuE4FEgr4v9EY6j6bJqoX9pMZHgg==",
+ "core-js": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
+ "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "cosmiconfig": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz",
+ "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==",
+ "dev": true,
"requires": {
- "semver": "5.1.0",
- "xml2js": "0.4.19"
+ "is-directory": "0.3.1",
+ "js-yaml": "3.13.1",
+ "parse-json": "4.0.0",
+ "require-from-string": "2.0.2"
},
"dependencies": {
- "semver": {
- "version": "5.1.0",
- "resolved": "http://registry.npmjs.org/semver/-/semver-5.1.0.tgz",
- "integrity": "sha1-hfLPhVBGXE3wAM99hvawVBBqueU="
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.2",
+ "json-parse-better-errors": "1.0.2"
+ }
}
}
},
- "cordova-browser": {
- "version": "5.0.4",
- "resolved": "https://registry.npmjs.org/cordova-browser/-/cordova-browser-5.0.4.tgz",
- "integrity": "sha512-EDuG+9NGsaYpNSY6wF0kR34m1m38V+nRglGXxQ609fgMYrMHEYR2lg38nDr1Os4qeF0LJz8UQ7nq7Y+idg6Aig==",
+ "create-ecdh": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
+ "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
+ "dev": true,
"requires": {
- "abbrev": "1.1.1",
- "accepts": "1.3.5",
- "ansi": "0.3.1",
- "ansi-regex": "2.1.1",
- "ansi-styles": "2.2.1",
- "array-flatten": "1.1.1",
- "balanced-match": "1.0.0",
- "base64-js": "1.2.0",
- "big-integer": "1.6.32",
- "body-parser": "1.18.2",
- "bplist-parser": "0.1.1",
- "brace-expansion": "1.1.11",
- "bytes": "3.0.0",
- "chalk": "1.1.3",
- "compressible": "2.0.14",
- "compression": "1.7.2",
- "concat-map": "0.0.1",
- "content-disposition": "0.5.2",
- "content-type": "1.0.4",
- "cookie": "0.3.1",
- "cookie-signature": "1.0.6",
- "cordova-common": "2.2.5",
- "cordova-registry-mapper": "1.1.15",
- "cordova-serve": "2.0.1",
- "debug": "2.6.9",
- "depd": "1.1.2",
- "destroy": "1.0.4",
- "ee-first": "1.1.1",
- "elementtree": "0.1.6",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "escape-string-regexp": "1.0.5",
- "etag": "1.8.1",
- "express": "4.16.3",
- "finalhandler": "1.1.1",
- "forwarded": "0.1.2",
- "fresh": "0.5.2",
- "glob": "5.0.15",
- "has-ansi": "2.0.0",
- "http-errors": "1.6.3",
- "iconv-lite": "0.4.19",
- "inflight": "1.0.6",
+ "bn.js": "4.11.8",
+ "elliptic": "6.4.1"
+ }
+ },
+ "create-hash": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.4",
"inherits": "2.0.3",
- "ipaddr.js": "1.6.0",
- "is-wsl": "1.1.0",
- "media-typer": "0.3.0",
- "merge-descriptors": "1.0.1",
- "methods": "1.1.2",
- "mime": "1.4.1",
- "mime-db": "1.33.0",
- "mime-types": "2.1.18",
- "minimatch": "3.0.4",
- "ms": "2.0.0",
- "negotiator": "0.6.1",
- "nopt": "3.0.6",
- "on-finished": "2.3.0",
- "on-headers": "1.0.1",
- "once": "1.4.0",
- "opn": "5.3.0",
- "parseurl": "1.3.2",
- "path-is-absolute": "1.0.1",
- "path-to-regexp": "0.1.7",
- "plist": "2.1.0",
- "proxy-addr": "2.0.3",
- "q": "1.5.1",
- "qs": "6.5.1",
- "range-parser": "1.2.0",
- "raw-body": "2.3.2",
- "safe-buffer": "5.1.1",
- "sax": "0.3.5",
- "send": "0.16.2",
- "serve-static": "1.13.2",
- "setprototypeof": "1.1.0",
- "shelljs": "0.5.3",
- "statuses": "1.4.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0",
- "type-is": "1.6.16",
- "underscore": "1.9.1",
- "unorm": "1.4.1",
- "unpipe": "1.0.0",
- "utils-merge": "1.0.1",
- "vary": "1.1.2",
- "wrappy": "1.0.2",
- "xmlbuilder": "8.2.2",
- "xmldom": "0.1.27"
+ "md5.js": "1.3.5",
+ "ripemd160": "2.0.2",
+ "sha.js": "2.4.11"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "1.0.4",
+ "create-hash": "1.2.0",
+ "inherits": "2.0.3",
+ "ripemd160": "2.0.2",
+ "safe-buffer": "5.1.2",
+ "sha.js": "2.4.11"
+ }
+ },
+ "cross-spawn": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
+ "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "lru-cache": "4.1.5",
+ "which": "1.3.1"
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "1.0.1",
+ "browserify-sign": "4.0.4",
+ "create-ecdh": "4.0.3",
+ "create-hash": "1.2.0",
+ "create-hmac": "1.1.7",
+ "diffie-hellman": "5.0.3",
+ "inherits": "2.0.3",
+ "pbkdf2": "3.0.17",
+ "public-encrypt": "4.0.3",
+ "randombytes": "2.1.0",
+ "randomfill": "1.0.4"
+ }
+ },
+ "css-parse": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz",
+ "integrity": "sha1-Mh9s9zeCpv91ERE5D8BeLGV9jJs=",
+ "dev": true
+ },
+ "css-selector-tokenizer": {
+ "version": "0.7.1",
+ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
+ "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
+ "dev": true,
+ "requires": {
+ "cssesc": "0.1.0",
+ "fastparse": "1.1.2",
+ "regexpu-core": "1.0.0"
+ }
+ },
+ "cssauron": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz",
+ "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=",
+ "dev": true,
+ "requires": {
+ "through": "2.3.8"
+ }
+ },
+ "cssesc": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
+ "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+ "dev": true
+ },
+ "currently-unhandled": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "array-find-index": "1.0.2"
+ }
+ },
+ "custom-event": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+ "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
+ "dev": true
+ },
+ "cyclist": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
+ "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
+ "dev": true
+ },
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0"
+ }
+ },
+ "date-format": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.0.0.tgz",
+ "integrity": "sha512-M6UqVvZVgFYqZL1SfHsRGIQSz3ZL+qgbsV5Lp1Vj61LZVYuEwcMXYay7DRDtYs2HQQBK5hQtQ0fD9aEJ89V0LA==",
+ "dev": true
+ },
+ "date-now": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+ "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+ "dev": true
+ },
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "decamelize": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+ "dev": true
+ },
+ "decode-uri-component": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+ "dev": true
+ },
+ "dedent": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw="
+ },
+ "deep-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
+ },
+ "default-gateway": {
+ "version": "2.7.2",
+ "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz",
+ "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==",
+ "dev": true,
+ "requires": {
+ "execa": "0.10.0",
+ "ip-regex": "2.1.0"
+ }
+ },
+ "default-require-extensions": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
+ "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
+ "dev": true,
+ "requires": {
+ "strip-bom": "3.0.0"
},
"dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
- "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
- },
- "accepts": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
- "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
- "requires": {
- "mime-types": "2.1.18",
- "negotiator": "0.6.1"
- }
- },
- "ansi": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
- "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE="
- },
- "ansi-regex": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
- "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
- },
- "ansi-styles": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
- "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
- },
- "array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
- },
- "balanced-match": {
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ }
+ }
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "requires": {
+ "object-keys": "1.1.1"
+ }
+ },
+ "define-property": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+ "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2",
+ "isobject": "3.0.1"
+ },
+ "dependencies": {
+ "is-accessor-descriptor": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
- "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
- },
- "base64-js": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz",
- "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE="
- },
- "big-integer": {
- "version": "1.6.32",
- "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.32.tgz",
- "integrity": "sha512-ljKJdR3wk9thHfLj4DtrNiOSTxvGFaMjWrG4pW75juXC4j7+XuKJVFdg4kgFMYp85PVkO05dFMj2dk2xVsH4xw=="
- },
- "body-parser": {
- "version": "1.18.2",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
- "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
- "requires": {
- "bytes": "3.0.0",
- "content-type": "1.0.4",
- "debug": "2.6.9",
- "depd": "1.1.2",
- "http-errors": "1.6.3",
- "iconv-lite": "0.4.19",
- "on-finished": "2.3.0",
- "qs": "6.5.1",
- "raw-body": "2.3.2",
- "type-is": "1.6.16"
- }
- },
- "bplist-parser": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
- "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
"requires": {
- "big-integer": "1.6.32"
+ "kind-of": "6.0.2"
}
},
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
"requires": {
- "balanced-match": "1.0.0",
- "concat-map": "0.0.1"
+ "kind-of": "6.0.2"
}
},
- "bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
- },
- "chalk": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
- "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
"requires": {
- "ansi-styles": "2.2.1",
- "escape-string-regexp": "1.0.5",
- "has-ansi": "2.0.0",
- "strip-ansi": "3.0.1",
- "supports-color": "2.0.0"
+ "is-accessor-descriptor": "1.0.0",
+ "is-data-descriptor": "1.0.0",
+ "kind-of": "6.0.2"
}
- },
- "compressible": {
- "version": "2.0.14",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz",
- "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=",
+ }
+ }
+ },
+ "defined": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
+ },
+ "del": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz",
+ "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=",
+ "dev": true,
+ "requires": {
+ "globby": "6.1.0",
+ "is-path-cwd": "1.0.0",
+ "is-path-in-cwd": "1.0.1",
+ "p-map": "1.2.0",
+ "pify": "3.0.0",
+ "rimraf": "2.6.3"
+ },
+ "dependencies": {
+ "globby": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
+ "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
+ "dev": true,
"requires": {
- "mime-db": "1.34.0"
+ "array-union": "1.0.2",
+ "glob": "7.1.3",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
},
"dependencies": {
- "mime-db": {
- "version": "1.34.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.34.0.tgz",
- "integrity": "sha1-RS0Oz/XDA0am3B5kseruDTcZ/5o="
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
}
}
- },
- "compression": {
- "version": "1.7.2",
- "resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz",
- "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=",
- "requires": {
- "accepts": "1.3.5",
- "bytes": "3.0.0",
- "compressible": "2.0.14",
- "debug": "2.6.9",
- "on-headers": "1.0.1",
- "safe-buffer": "5.1.1",
- "vary": "1.1.2"
- }
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
- },
- "content-disposition": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
- "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
- },
- "content-type": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
- },
+ }
+ }
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "dev": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "dev": true
+ },
+ "depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+ "dev": true
+ },
+ "dependency-graph": {
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz",
+ "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==",
+ "dev": true
+ },
+ "des.js": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
+ "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.1"
+ }
+ },
+ "destroy": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+ "dev": true
+ },
+ "detect-indent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
+ "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
+ "dev": true,
+ "requires": {
+ "repeating": "2.0.1"
+ }
+ },
+ "detect-node": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
+ "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
+ "dev": true
+ },
+ "di": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+ "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
+ "dev": true
+ },
+ "diff": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz",
+ "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==",
+ "dev": true
+ },
+ "diffie-hellman": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "miller-rabin": "4.0.1",
+ "randombytes": "2.1.0"
+ }
+ },
+ "dir-glob": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
+ "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
+ "dev": true,
+ "requires": {
+ "path-type": "3.0.0"
+ }
+ },
+ "dns-equal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
+ "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=",
+ "dev": true
+ },
+ "dns-packet": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz",
+ "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==",
+ "dev": true,
+ "requires": {
+ "ip": "1.1.5",
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "dns-txt": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz",
+ "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=",
+ "dev": true,
+ "requires": {
+ "buffer-indexof": "1.1.1"
+ }
+ },
+ "dom-serialize": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+ "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
+ "dev": true,
+ "requires": {
+ "custom-event": "1.0.1",
+ "ent": "2.2.0",
+ "extend": "3.0.2",
+ "void-elements": "2.0.1"
+ }
+ },
+ "domain-browser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
+ "dev": true
+ },
+ "duplexify": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
+ "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6",
+ "stream-shift": "1.0.0"
+ }
+ },
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "dev": true,
+ "requires": {
+ "jsbn": "0.1.1",
+ "safer-buffer": "2.1.2"
+ }
+ },
+ "ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+ "dev": true
+ },
+ "electron-to-chromium": {
+ "version": "1.3.143",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.143.tgz",
+ "integrity": "sha512-J9jOpxIljQZlV6GIP2fwAWq0T69syawU0sH3EW3O2Bgxquiy+veeIT5mBDRz+i3oHUSL1tvVgRKH3/4QiQh9Pg==",
+ "dev": true
+ },
+ "elementtree": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz",
+ "integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=",
+ "requires": {
+ "sax": "1.1.4"
+ },
+ "dependencies": {
+ "sax": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz",
+ "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk="
+ }
+ }
+ },
+ "elliptic": {
+ "version": "6.4.1",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
+ "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
+ "dev": true,
+ "requires": {
+ "bn.js": "4.11.8",
+ "brorand": "1.1.0",
+ "hash.js": "1.1.7",
+ "hmac-drbg": "1.0.1",
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.1",
+ "minimalistic-crypto-utils": "1.0.1"
+ }
+ },
+ "emojis-list": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+ "dev": true
+ },
+ "encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+ "dev": true
+ },
+ "encoding": {
+ "version": "0.1.12",
+ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
+ "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+ "dev": true,
+ "requires": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "end-of-stream": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+ "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+ "dev": true,
+ "requires": {
+ "once": "1.4.0"
+ }
+ },
+ "endent": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/endent/-/endent-1.3.0.tgz",
+ "integrity": "sha512-C8AryqPPwtydqcpO5AF6k9Bd1EpFkQtvsefJqS3y3n8TG13Jy63MascDxTOULZYqrUde+dK6BjNc6LIMr3iI2A==",
+ "requires": {
+ "dedent": "0.7.0",
+ "fast-json-parse": "1.0.3",
+ "objectorarray": "1.0.3"
+ }
+ },
+ "engine.io": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz",
+ "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==",
+ "dev": true,
+ "requires": {
+ "accepts": "1.3.7",
+ "base64id": "1.0.0",
+ "cookie": "0.3.1",
+ "debug": "3.1.0",
+ "engine.io-parser": "2.1.3",
+ "ws": "3.3.3"
+ },
+ "dependencies": {
"cookie": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
- "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
+ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
+ "dev": true
},
- "cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
- },
- "cordova-common": {
- "version": "2.2.5",
- "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.2.5.tgz",
- "integrity": "sha1-+TzvKtSUz8v1bEbj1hKqqctfzDI=",
- "requires": {
- "ansi": "0.3.1",
- "bplist-parser": "0.1.1",
- "cordova-registry-mapper": "1.1.15",
- "elementtree": "0.1.6",
- "glob": "5.0.15",
- "minimatch": "3.0.4",
- "plist": "2.1.0",
- "q": "1.5.1",
- "shelljs": "0.5.3",
- "underscore": "1.9.1",
- "unorm": "1.4.1"
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
}
},
- "cordova-registry-mapper": {
- "version": "1.1.15",
- "resolved": "https://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz",
- "integrity": "sha1-4kS5GFuBdUc7/2B5MkkFEV+D3Hw="
- },
- "cordova-serve": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/cordova-serve/-/cordova-serve-2.0.1.tgz",
- "integrity": "sha512-3Xl1D5eyiQlY5ow6Kn/say0us2TqSw/zgQmyTLxbewTngQZ1CIqxmqD7EFGoCNBrB4HsdPmpiSpFCitybKQN9g==",
+ "ws": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
+ "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
+ "dev": true,
"requires": {
- "chalk": "1.1.3",
- "compression": "1.7.2",
- "express": "4.16.3",
- "opn": "5.3.0",
- "shelljs": "0.5.3"
+ "async-limiter": "1.0.0",
+ "safe-buffer": "5.1.2",
+ "ultron": "1.1.1"
}
+ }
+ }
+ },
+ "engine.io-client": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
+ "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
+ "dev": true,
+ "requires": {
+ "component-emitter": "1.2.1",
+ "component-inherit": "0.0.3",
+ "debug": "3.1.0",
+ "engine.io-parser": "2.1.3",
+ "has-cors": "1.1.0",
+ "indexof": "0.0.1",
+ "parseqs": "0.0.5",
+ "parseuri": "0.0.5",
+ "ws": "3.3.3",
+ "xmlhttprequest-ssl": "1.5.5",
+ "yeast": "0.1.2"
+ },
+ "dependencies": {
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+ "dev": true
},
"debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
"requires": {
"ms": "2.0.0"
}
},
- "depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
- },
- "destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
- },
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
- },
- "elementtree": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz",
- "integrity": "sha1-KsTEbqMFFsjEy9teOsdBjlkt4gw=",
- "requires": {
- "sax": "0.3.5"
- }
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
- },
- "express": {
- "version": "4.16.3",
- "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz",
- "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=",
- "requires": {
- "accepts": "1.3.5",
- "array-flatten": "1.1.1",
- "body-parser": "1.18.2",
- "content-disposition": "0.5.2",
- "content-type": "1.0.4",
- "cookie": "0.3.1",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "1.1.2",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "etag": "1.8.1",
- "finalhandler": "1.1.1",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "1.1.2",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "2.0.3",
- "qs": "6.5.1",
- "range-parser": "1.2.0",
- "safe-buffer": "5.1.1",
- "send": "0.16.2",
- "serve-static": "1.13.2",
- "setprototypeof": "1.1.0",
- "statuses": "1.4.0",
- "type-is": "1.6.16",
- "utils-merge": "1.0.1",
- "vary": "1.1.2"
- }
- },
- "finalhandler": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
- "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
- "statuses": "1.4.0",
- "unpipe": "1.0.0"
- }
- },
- "forwarded": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
- "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
- },
- "glob": {
- "version": "5.0.15",
- "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
- "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
- "requires": {
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
- }
- },
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "requires": {
- "ansi-regex": "2.1.1"
- }
- },
- "http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
- "requires": {
- "depd": "1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": "1.4.0"
- }
- },
- "iconv-lite": {
- "version": "0.4.19",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
- "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
- },
- "ipaddr.js": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz",
- "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs="
- },
- "is-wsl": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
- "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
- },
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
- },
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
- },
- "mime": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
- "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
- },
- "mime-db": {
- "version": "1.33.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
- "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
- },
- "mime-types": {
- "version": "2.1.18",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
- "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
- "requires": {
- "mime-db": "1.33.0"
- }
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "requires": {
- "brace-expansion": "1.1.11"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "negotiator": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
- "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
- },
- "nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
- "requires": {
- "abbrev": "1.1.1"
- }
- },
- "on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "on-headers": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
- "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c="
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "requires": {
- "wrappy": "1.0.2"
- }
- },
- "opn": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz",
- "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==",
- "requires": {
- "is-wsl": "1.1.0"
- }
- },
- "parseurl": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
- },
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
- },
- "plist": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz",
- "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=",
- "requires": {
- "base64-js": "1.2.0",
- "xmlbuilder": "8.2.2",
- "xmldom": "0.1.27"
- }
- },
- "proxy-addr": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz",
- "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==",
- "requires": {
- "forwarded": "0.1.2",
- "ipaddr.js": "1.6.0"
- }
- },
- "q": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
- },
- "qs": {
- "version": "6.5.1",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
- "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
- },
- "range-parser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
- "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
- },
- "raw-body": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
- "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
- "requires": {
- "bytes": "3.0.0",
- "http-errors": "1.6.2",
- "iconv-lite": "0.4.19",
- "unpipe": "1.0.0"
- },
- "dependencies": {
- "depd": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
- "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
- },
- "http-errors": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
- "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
- "requires": {
- "depd": "1.1.1",
- "inherits": "2.0.3",
- "setprototypeof": "1.0.3",
- "statuses": "1.4.0"
- }
- },
- "setprototypeof": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
- "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
- }
- }
- },
- "safe-buffer": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
- "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
- },
- "sax": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/sax/-/sax-0.3.5.tgz",
- "integrity": "sha1-iPz8H3PAyLvVt8d2ttPzUB7tBz0="
- },
- "send": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
- "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
- "requires": {
- "debug": "2.6.9",
- "depd": "1.1.2",
- "destroy": "1.0.4",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "etag": "1.8.1",
- "fresh": "0.5.2",
- "http-errors": "1.6.3",
- "mime": "1.4.1",
- "ms": "2.0.0",
- "on-finished": "2.3.0",
- "range-parser": "1.2.0",
- "statuses": "1.4.0"
- }
- },
- "serve-static": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
- "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
- "requires": {
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "parseurl": "1.3.2",
- "send": "0.16.2"
- }
- },
- "setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
- },
- "shelljs": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
- "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM="
- },
- "statuses": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
- },
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
- "requires": {
- "ansi-regex": "2.1.1"
- }
- },
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- },
- "type-is": {
- "version": "1.6.16",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
- "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
+ "ws": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
+ "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
+ "dev": true,
"requires": {
- "media-typer": "0.3.0",
- "mime-types": "2.1.18"
+ "async-limiter": "1.0.0",
+ "safe-buffer": "5.1.2",
+ "ultron": "1.1.1"
}
- },
- "underscore": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
- "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
- },
- "unorm": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
- "integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA="
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
- },
- "utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
- },
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
- },
- "xmlbuilder": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
- "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M="
- },
- "xmldom": {
- "version": "0.1.27",
- "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
- "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
}
}
},
- "cordova-clipboard": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/cordova-clipboard/-/cordova-clipboard-1.2.1.tgz",
- "integrity": "sha512-WTGxyQJYsgmll8wDEo0u4XevZDUH1ZH1VPoOwwNkQ8YOtCNQS8gRIIVtZ70Kan+Vo+CiUMV0oJXdNAdARb8JwQ=="
+ "engine.io-parser": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz",
+ "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==",
+ "dev": true,
+ "requires": {
+ "after": "0.8.2",
+ "arraybuffer.slice": "0.0.7",
+ "base64-arraybuffer": "0.1.5",
+ "blob": "0.0.5",
+ "has-binary2": "1.0.3"
+ }
},
- "cordova-common": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-3.1.0.tgz",
- "integrity": "sha512-J2MM1ioyLlBYdwdXH40OZL4hN7XEBOfurddKYifF4aTkb2PkbeM+KVORt53eyU+8ScA0QmRLuTG0EM55eLms0A==",
+ "enhanced-resolve": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
+ "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
+ "dev": true,
"requires": {
- "ansi": "0.3.1",
- "bplist-parser": "0.1.1",
- "cross-spawn": "6.0.5",
- "elementtree": "0.1.7",
- "endent": "1.3.0",
- "fs-extra": "7.0.1",
- "glob": "7.1.3",
- "minimatch": "3.0.4",
- "plist": "3.0.1",
- "q": "1.4.1",
- "strip-bom": "3.0.0",
- "underscore": "1.8.3",
- "which": "1.3.1"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "requires": {
- "nice-try": "1.0.5",
- "path-key": "2.0.1",
- "semver": "5.6.0",
- "shebang-command": "1.2.0",
- "which": "1.3.1"
- }
- },
- "fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "requires": {
- "graceful-fs": "4.1.15",
- "jsonfile": "4.0.0",
- "universalify": "0.1.2"
- }
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "requires": {
- "graceful-fs": "4.1.15"
- }
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
- }
+ "graceful-fs": "4.1.15",
+ "memory-fs": "0.4.1",
+ "tapable": "1.1.3"
}
},
- "cordova-ios": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/cordova-ios/-/cordova-ios-5.0.0.tgz",
- "integrity": "sha512-ImEOdi4/+qBge+m8gXB2XB7k36+8hHfRWSsoLhvHLnn/0JDyihAacyoaUruvG4bMljs8ZEn/ShsdQwevoZUHgw==",
+ "ent": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+ "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
+ "dev": true
+ },
+ "err-code": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
+ "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=",
+ "dev": true
+ },
+ "errno": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
+ "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
+ "dev": true,
"requires": {
- "cordova-common": "3.1.0",
- "ios-sim": "7.0.0",
- "nopt": "4.0.1",
- "plist": "3.0.1",
- "q": "1.5.1",
- "shelljs": "0.5.3",
- "unorm": "1.4.1",
- "xcode": "2.0.0",
- "xml-escape": "1.1.0"
- },
- "dependencies": {
- "q": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
- "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
- },
- "simple-plist": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.0.0.tgz",
- "integrity": "sha512-043L2rO80LVF7zfZ+fqhsEkoJFvW8o59rt/l4ctx1TJWoTx7/jkiS1R5TatD15Z1oYnuLJytzE7gcnnBuIPL2g==",
- "requires": {
- "bplist-creator": "0.0.7",
- "bplist-parser": "0.1.1",
- "plist": "3.0.1"
- }
- },
- "xcode": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.0.0.tgz",
- "integrity": "sha512-5xF6RCjAdDEiEsbbZaS/gBRt3jZ/177otZcpoLCjGN/u1LrfgH7/Sgeeavpr/jELpyDqN2im3AKosl2G2W8hfw==",
- "requires": {
- "simple-plist": "1.0.0",
- "uuid": "3.3.2"
- }
- }
+ "prr": "1.0.1"
}
},
- "cordova-plugin-add-swift-support": {
- "version": "1.7.2",
- "resolved": "https://registry.npmjs.org/cordova-plugin-add-swift-support/-/cordova-plugin-add-swift-support-1.7.2.tgz",
- "integrity": "sha512-4syQ0srjXvlH07sAxQlwMAAqIRTI28IWLYI44RFAKFRdYoIyopjQDqUWdieBK2ELvxgffkn6Rr0r0hMdRyGz/w=="
- },
- "cordova-plugin-airgap-secure-storage": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/cordova-plugin-airgap-secure-storage/-/cordova-plugin-airgap-secure-storage-0.1.7.tgz",
- "integrity": "sha512-5rnDc7cdcq5j5erWrcJg143u5cngtbWojEEEd8S84idC1VSdNMuxIVKBl56G+2pkKf6YsDlHl71c18Nu2BBpnA=="
- },
- "cordova-plugin-airgap-webview": {
- "version": "git+https://github.com/airgap-it/cordova-plugin-airgap-webview.git#ad0cc2824120d6373d479b38c60e7927de071107"
- },
- "cordova-plugin-android-permissions": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/cordova-plugin-android-permissions/-/cordova-plugin-android-permissions-1.0.0.tgz",
- "integrity": "sha1-nnwRa+Zo6336QUkbE9jUfalUgUk="
- },
- "cordova-plugin-app-version": {
- "version": "0.1.9",
- "resolved": "https://registry.npmjs.org/cordova-plugin-app-version/-/cordova-plugin-app-version-0.1.9.tgz",
- "integrity": "sha1-nbBgeGMzenEEiTAuX1CpBPFEm9s="
- },
- "cordova-plugin-audioinput": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cordova-plugin-audioinput/-/cordova-plugin-audioinput-1.0.1.tgz",
- "integrity": "sha512-CUCaI0mBQWHAJmF9/4n9cPk7D9y7+Iot1K2JA/7UgJouyao1i2bvLFIkIjF14x+vlfD/mhgvAs0Y9nsUcdWmqA=="
- },
- "cordova-plugin-camera-preview": {
- "version": "git+https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview.git#e3347ed9757dd07545d4ebb1f4a81cc244768d9b"
- },
- "cordova-plugin-compat": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/cordova-plugin-compat/-/cordova-plugin-compat-1.2.0.tgz",
- "integrity": "sha1-C8ZXVyduvZIMASzpIOJ0F3V2Nz4="
- },
- "cordova-plugin-device": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-1.1.7.tgz",
- "integrity": "sha1-/JQRG+aTJijGaGiTjd89yCyfv+Y="
- },
- "cordova-plugin-device-motion": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/cordova-plugin-device-motion/-/cordova-plugin-device-motion-2.0.1.tgz",
- "integrity": "sha1-f22XTE64/Frljpqt1j2fpQLt7G0="
- },
- "cordova-plugin-gyroscope": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/cordova-plugin-gyroscope/-/cordova-plugin-gyroscope-0.1.4.tgz",
- "integrity": "sha1-1OQ+fI54qLTZCQRgvme1FhgWglk="
- },
- "cordova-plugin-ionic-keyboard": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/cordova-plugin-ionic-keyboard/-/cordova-plugin-ionic-keyboard-2.1.3.tgz",
- "integrity": "sha512-6ucQ6FdlLdBm8kJfFnzozmBTjru/0xekHP/dAhjoCZggkGRlgs8TsUJFkxa/bV+qi7Dlo50JjmpE4UMWAO+aOQ=="
- },
- "cordova-plugin-ios-camera-permissions": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/cordova-plugin-ios-camera-permissions/-/cordova-plugin-ios-camera-permissions-1.2.0.tgz",
- "integrity": "sha1-lGEsfeX9z1m4YwBXtQc5tJCeCsk="
- },
- "cordova-plugin-jailbreak-detection": {
- "version": "git+https://github.com/leecrossley/cordova-plugin-jailbreak-detection.git#d436992c2fc164d3da9558623b6bb37b70dadd58"
- },
- "cordova-plugin-qrscanner": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/cordova-plugin-qrscanner/-/cordova-plugin-qrscanner-2.6.2.tgz",
- "integrity": "sha512-wUdgNgjDMNQPFEi47Ft3SRFD8eIS8pCnnIijzIRZaoVj/nhixfI/Dtna8u3IYPX4lOMdlo9GX4/7lz/Q6C0Yhw==",
+ "error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
"requires": {
- "qrcode-reader": "1.0.4",
- "webrtc-adapter": "3.4.3"
+ "is-arrayish": "0.2.1"
}
},
- "cordova-plugin-root-detection": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/cordova-plugin-root-detection/-/cordova-plugin-root-detection-0.1.1.tgz",
- "integrity": "sha1-75Fu96AKMOMR6lWT17L0q1TSzq8="
- },
- "cordova-plugin-splashscreen": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cordova-plugin-splashscreen/-/cordova-plugin-splashscreen-4.1.0.tgz",
- "integrity": "sha1-gQKKt2Q+YVWT0n8q0CRFYR8ZRrY="
- },
- "cordova-plugin-statusbar": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/cordova-plugin-statusbar/-/cordova-plugin-statusbar-2.4.2.tgz",
- "integrity": "sha1-/B+9wNjXAzp+jh8ff/FnrJvU+vY="
- },
- "cordova-plugin-whitelist": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.3.tgz",
- "integrity": "sha1-tehezbv+Wu3tQKG/TuI3LmfZb7Q="
- },
- "cordova-sqlite-storage": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/cordova-sqlite-storage/-/cordova-sqlite-storage-2.5.1.tgz",
- "integrity": "sha512-RMZcheSs9ihxcXUEmcAg8inG0UHZ5rQKQZqLY40jFES8rpiH5/sYeqaTmnuATx5w2apGB7fFLQHWMG2qaxAVtw==",
+ "es-abstract": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
+ "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
"requires": {
- "cordova-sqlite-storage-dependencies": "1.2.0"
+ "es-to-primitive": "1.2.0",
+ "function-bind": "1.1.1",
+ "has": "1.0.3",
+ "is-callable": "1.1.4",
+ "is-regex": "1.0.4",
+ "object-keys": "1.1.1"
}
},
- "cordova-sqlite-storage-dependencies": {
+ "es-to-primitive": {
"version": "1.2.0",
- "resolved": "https://registry.npmjs.org/cordova-sqlite-storage-dependencies/-/cordova-sqlite-storage-dependencies-1.2.0.tgz",
- "integrity": "sha512-lJl5uJFrCWrCYYGhpSEXe6sepjgOOzbeh8fFur3LqaSRvx+xFNYtfMYumE0+xqZwSmPODzex+y6I7ixwcBn73Q=="
- },
- "cordova.plugins.diagnostic": {
- "version": "4.0.10",
- "resolved": "https://registry.npmjs.org/cordova.plugins.diagnostic/-/cordova.plugins.diagnostic-4.0.10.tgz",
- "integrity": "sha512-t+3+s/7oD3gn0E5hXVmpkttIi70rvicMzYpYAjyzZD6orROYw5lNsG3qOI2VIxBJxd2S+kMBm7cYkcdRHqYU6g==",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
+ "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
"requires": {
- "colors": "1.1.2",
- "elementtree": "0.1.7",
- "minimist": "1.2.0"
+ "is-callable": "1.1.4",
+ "is-date-object": "1.0.1",
+ "is-symbol": "1.0.2"
}
},
- "core-js": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
- "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
- },
- "core-util-is": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ "es6-promise": {
+ "version": "4.2.6",
+ "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz",
+ "integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==",
+ "dev": true
},
- "cors": {
- "version": "2.8.5",
- "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
- "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+ "es6-promisify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+ "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+ "dev": true,
"requires": {
- "object-assign": "4.1.1",
- "vary": "1.1.2"
+ "es6-promise": "4.2.6"
}
},
- "crc": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz",
- "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==",
- "requires": {
- "buffer": "5.2.1"
- }
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+ "dev": true
},
- "crc32-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz",
- "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=",
- "requires": {
- "crc": "3.8.0",
- "readable-stream": "2.3.6"
- }
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
},
- "create-ecdh": {
+ "eslint-scope": {
"version": "4.0.3",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
- "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
- "requires": {
- "bn.js": "4.11.8",
- "elliptic": "6.4.1"
- }
- },
- "create-error-class": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
- "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
+ "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
"dev": true,
"requires": {
- "capture-stack-trace": "1.0.1"
- }
- },
- "create-hash": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
- "requires": {
- "cipher-base": "1.0.4",
- "inherits": "2.0.3",
- "md5.js": "1.3.5",
- "ripemd160": "2.0.2",
- "sha.js": "2.4.11"
- }
- },
- "create-hmac": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
- "requires": {
- "cipher-base": "1.0.4",
- "create-hash": "1.2.0",
- "inherits": "2.0.3",
- "ripemd160": "2.0.2",
- "safe-buffer": "5.1.2",
- "sha.js": "2.4.11"
- }
- },
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "requires": {
- "lru-cache": "4.1.3",
- "shebang-command": "1.2.0",
- "which": "1.3.1"
+ "esrecurse": "4.2.1",
+ "estraverse": "4.2.0"
}
},
- "crypt": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
- "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs="
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
},
- "cryptiles": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
- "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
+ "esrecurse": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
+ "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
"dev": true,
"requires": {
- "boom": "2.10.1"
+ "estraverse": "4.2.0"
}
},
- "crypto-browserify": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "requires": {
- "browserify-cipher": "1.0.1",
- "browserify-sign": "4.0.4",
- "create-ecdh": "4.0.3",
- "create-hash": "1.2.0",
- "create-hmac": "1.1.7",
- "diffie-hellman": "5.0.3",
- "inherits": "2.0.3",
- "pbkdf2": "3.0.17",
- "public-encrypt": "4.0.3",
- "randombytes": "2.0.6",
- "randomfill": "1.0.4"
- }
+ "estraverse": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+ "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+ "dev": true
},
- "crypto-hashing": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/crypto-hashing/-/crypto-hashing-0.3.1.tgz",
- "integrity": "sha1-AZVUjbi971CqnVJlFMxUbh5i+84=",
- "requires": {
- "binstring": "0.2.1",
- "ripemd160": "0.2.1"
- },
- "dependencies": {
- "ripemd160": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.1.tgz",
- "integrity": "sha1-3uGSSKPhyBX/muo551OjN/VqJD0="
- }
- }
+ "esutils": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
},
- "crypto-random-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
- "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=",
+ "etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"dev": true
},
- "cryptocompare": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cryptocompare/-/cryptocompare-0.5.0.tgz",
- "integrity": "sha512-n6+5VgegBe+b6hG2IUT3oeUFMEofLrhh5Q1mNrj7O3M39kE+rncXxsRiZvgyprGiYAu+fXNs+j26yvGpvbPkAA=="
+ "eventemitter3": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
+ "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
+ "dev": true
},
- "currently-unhandled": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+ "events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
+ "integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==",
+ "dev": true
+ },
+ "eventsource": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz",
+ "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==",
"dev": true,
"requires": {
- "array-find-index": "1.0.2"
+ "original": "1.0.2"
}
},
- "custom-event": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
- "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
- "dev": true
- },
- "cz-conventional-changelog": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-2.1.0.tgz",
- "integrity": "sha1-L0vHOQ4yROTfKT5ro1Hkx0Cnx2Q=",
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
"dev": true,
"requires": {
- "conventional-commit-types": "2.2.0",
- "lodash.map": "4.6.0",
- "longest": "1.0.1",
- "right-pad": "1.0.1",
- "word-wrap": "1.2.3"
+ "md5.js": "1.3.5",
+ "safe-buffer": "5.1.2"
}
},
- "d": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
- "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
+ "execa": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
+ "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
"dev": true,
"requires": {
- "es5-ext": "0.10.46"
+ "cross-spawn": "6.0.5",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "1.0.5",
+ "path-key": "2.0.1",
+ "semver": "5.6.0",
+ "shebang-command": "1.2.0",
+ "which": "1.3.1"
+ }
+ }
}
},
- "dargs": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/dargs/-/dargs-5.1.0.tgz",
- "integrity": "sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk="
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "dev": true
},
- "dashdash": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
- "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "expand-brackets": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "dev": true,
"requires": {
- "assert-plus": "1.0.0"
- }
- },
- "date-now": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
- "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs="
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "decamelize": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
- "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
- },
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
- },
- "decompress": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz",
- "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=",
- "requires": {
- "decompress-tar": "4.1.1",
- "decompress-tarbz2": "4.1.1",
- "decompress-targz": "4.1.1",
- "decompress-unzip": "4.0.1",
- "graceful-fs": "4.1.15",
- "make-dir": "1.3.0",
- "pify": "2.3.0",
- "strip-dirs": "2.1.0"
- }
- },
- "decompress-response": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
- "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
- "requires": {
- "mimic-response": "1.0.1"
- }
- },
- "decompress-tar": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz",
- "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==",
- "requires": {
- "file-type": "5.2.0",
- "is-stream": "1.1.0",
- "tar-stream": "1.6.2"
- }
- },
- "decompress-tarbz2": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz",
- "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==",
- "requires": {
- "decompress-tar": "4.1.1",
- "file-type": "6.2.0",
- "is-stream": "1.1.0",
- "seek-bzip": "1.0.5",
- "unbzip2-stream": "1.3.1"
- },
- "dependencies": {
- "file-type": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz",
- "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg=="
- }
- }
- },
- "decompress-targz": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz",
- "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==",
- "requires": {
- "decompress-tar": "4.1.1",
- "file-type": "5.2.0",
- "is-stream": "1.1.0"
- }
- },
- "decompress-unzip": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz",
- "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=",
- "requires": {
- "file-type": "3.9.0",
- "get-stream": "2.3.1",
- "pify": "2.3.0",
- "yauzl": "2.10.0"
+ "debug": "2.6.9",
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "posix-character-classes": "0.1.1",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
},
"dependencies": {
- "file-type": {
- "version": "3.9.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz",
- "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek="
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
},
- "get-stream": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz",
- "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=",
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
- "object-assign": "4.1.1",
- "pinkie-promise": "2.0.1"
+ "is-extendable": "0.1.1"
}
}
}
},
- "dedent": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
- "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw="
- },
- "deep-eql": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
- "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
+ "express": {
+ "version": "4.17.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
+ "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
+ "dev": true,
"requires": {
- "type-detect": "0.1.1"
+ "accepts": "1.3.7",
+ "array-flatten": "1.1.1",
+ "body-parser": "1.19.0",
+ "content-disposition": "0.5.3",
+ "content-type": "1.0.4",
+ "cookie": "0.4.0",
+ "cookie-signature": "1.0.6",
+ "debug": "2.6.9",
+ "depd": "1.1.2",
+ "encodeurl": "1.0.2",
+ "escape-html": "1.0.3",
+ "etag": "1.8.1",
+ "finalhandler": "1.1.2",
+ "fresh": "0.5.2",
+ "merge-descriptors": "1.0.1",
+ "methods": "1.1.2",
+ "on-finished": "2.3.0",
+ "parseurl": "1.3.3",
+ "path-to-regexp": "0.1.7",
+ "proxy-addr": "2.0.5",
+ "qs": "6.7.0",
+ "range-parser": "1.2.1",
+ "safe-buffer": "5.1.2",
+ "send": "0.17.1",
+ "serve-static": "1.14.1",
+ "setprototypeof": "1.1.1",
+ "statuses": "1.5.0",
+ "type-is": "1.6.18",
+ "utils-merge": "1.0.1",
+ "vary": "1.1.2"
},
"dependencies": {
- "type-detect": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
- "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI="
+ "array-flatten": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
+ "dev": true
+ },
+ "qs": {
+ "version": "6.7.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+ "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
+ "dev": true
}
}
},
- "deep-equal": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
- "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
- },
- "deep-extend": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
- "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"dev": true
},
- "default-require-extensions": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-1.0.0.tgz",
- "integrity": "sha1-836hXT4T/9m0N9M+GnW1+5eHTLg=",
+ "extend-shallow": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+ "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
"dev": true,
"requires": {
- "strip-bom": "2.0.0"
- }
- },
- "define-properties": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
- "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
- "requires": {
- "object-keys": "1.1.1"
+ "assign-symbols": "1.0.0",
+ "is-extendable": "1.0.1"
},
"dependencies": {
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dev": true,
+ "requires": {
+ "is-plain-object": "2.0.4"
+ }
}
}
},
- "define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+ "external-editor": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz",
+ "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==",
+ "dev": true,
"requires": {
- "is-descriptor": "1.0.2",
- "isobject": "3.0.1"
+ "chardet": "0.7.0",
+ "iconv-lite": "0.4.24",
+ "tmp": "0.0.33"
+ }
+ },
+ "extglob": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "dev": true,
+ "requires": {
+ "array-unique": "0.3.2",
+ "define-property": "1.0.0",
+ "expand-brackets": "2.1.4",
+ "extend-shallow": "2.0.1",
+ "fragment-cache": "0.2.1",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
},
"dependencies": {
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ },
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
"requires": {
"kind-of": "6.0.2"
}
@@ -4966,6 +3670,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
"requires": {
"kind-of": "6.0.2"
}
@@ -4974,10750 +3679,7464 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
"requires": {
"is-accessor-descriptor": "1.0.0",
"is-data-descriptor": "1.0.0",
"kind-of": "6.0.2"
}
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
}
}
},
- "defined": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
- "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "dev": true
},
- "del": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
- "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
- "dev": true,
- "requires": {
- "globby": "5.0.0",
- "is-path-cwd": "1.0.0",
- "is-path-in-cwd": "1.0.1",
- "object-assign": "4.1.1",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1",
- "rimraf": "2.6.2"
- }
+ "fast-deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
+ "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+ "dev": true
},
- "delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ "fast-json-parse": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz",
+ "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw=="
},
- "delegates": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
- "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
+ "fast-json-stable-stringify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
"dev": true
},
- "depd": {
+ "fastparse": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+ "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
+ "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
+ "dev": true
},
- "des.js": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
- "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
+ "faye-websocket": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+ "dev": true,
"requires": {
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.1"
+ "websocket-driver": "0.7.0"
}
},
- "destroy": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
- "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+ "figgy-pudding": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
+ "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
+ "dev": true
},
- "detect-indent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
- "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
- "requires": {
- "repeating": "2.0.1"
- }
- },
- "detect-libc": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
- "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
- "dev": true
- },
- "di": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
- "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
- "dev": true
+ "figures": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+ "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "dev": true,
+ "requires": {
+ "escape-string-regexp": "1.0.5"
+ }
},
- "diff": {
- "version": "3.5.0",
- "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
- "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA=="
+ "file-loader": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz",
+ "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "1.2.3",
+ "schema-utils": "1.0.0"
+ }
},
- "diffie-hellman": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "fileset": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
+ "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
+ "dev": true,
"requires": {
- "bn.js": "4.11.8",
- "miller-rabin": "4.0.1",
- "randombytes": "2.0.6"
+ "glob": "7.1.3",
+ "minimatch": "3.0.4"
}
},
- "dmg-builder": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-6.4.0.tgz",
- "integrity": "sha512-q84fMrMm9mXh2qH0Sb3+o0gCvfeJRBI+46y+CpQystqgRyB+3bZB11WqCf5d8+qsENhzpi786jR82xbHG1Vvag==",
+ "fill-range": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"dev": true,
"requires": {
- "app-builder-lib": "20.36.2",
- "bluebird-lst": "1.0.6",
- "builder-util": "9.3.0",
- "fs-extra-p": "7.0.0",
- "iconv-lite": "0.4.24",
- "js-yaml": "3.12.0",
- "parse-color": "1.0.0",
- "sanitize-filename": "1.6.1"
+ "extend-shallow": "2.0.1",
+ "is-number": "3.0.0",
+ "repeat-string": "1.6.1",
+ "to-regex-range": "2.1.1"
},
"dependencies": {
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
- "safer-buffer": "2.1.2"
+ "is-extendable": "0.1.1"
}
}
}
},
- "doctrine": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz",
- "integrity": "sha1-fLhgNZujvpDgQLJrcpzkv6ZUxSM=",
+ "finalhandler": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+ "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
"dev": true,
"requires": {
- "esutils": "1.1.6",
- "isarray": "0.0.1"
- },
- "dependencies": {
- "esutils": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz",
- "integrity": "sha1-wBzKqa5LiXxtDD4hCuUvPHqEQ3U=",
- "dev": true
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- }
+ "debug": "2.6.9",
+ "encodeurl": "1.0.2",
+ "escape-html": "1.0.3",
+ "on-finished": "2.3.0",
+ "parseurl": "1.3.3",
+ "statuses": "1.5.0",
+ "unpipe": "1.0.0"
}
},
- "dom-serialize": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
- "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
+ "find-cache-dir": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz",
+ "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=",
"dev": true,
"requires": {
- "custom-event": "1.0.1",
- "ent": "2.2.0",
- "extend": "3.0.2",
- "void-elements": "2.0.1"
+ "commondir": "1.0.1",
+ "make-dir": "1.3.0",
+ "pkg-dir": "2.0.0"
}
},
- "dom-walk": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz",
- "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg="
- },
- "domain-browser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
- "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
- },
- "dot-prop": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
- "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
"dev": true,
"requires": {
- "is-obj": "1.0.1"
+ "locate-path": "2.0.0"
}
},
- "dotenv": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-6.1.0.tgz",
- "integrity": "sha512-/veDn2ztgRlB7gKmE3i9f6CmDIyXAy6d5nBq+whO9SLX+Zs1sXEgFLPi+aSuWqUuusMfbi84fT8j34fs1HaYUw==",
- "dev": true
- },
- "dotenv-expand": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz",
- "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=",
+ "flatted": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz",
+ "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==",
"dev": true
},
- "dotenv-webpack": {
- "version": "1.5.7",
- "resolved": "https://registry.npmjs.org/dotenv-webpack/-/dotenv-webpack-1.5.7.tgz",
- "integrity": "sha1-xEOVqyHR/SjXmpCUKnsUsd69FF8=",
+ "flush-write-stream": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
+ "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
"dev": true,
"requires": {
- "dotenv": "5.0.1"
- },
- "dependencies": {
- "dotenv": {
- "version": "5.0.1",
- "resolved": "http://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz",
- "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==",
- "dev": true
- }
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6"
}
},
- "download": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/download/-/download-7.0.0.tgz",
- "integrity": "sha512-0Fe/CAjKycx12IG9We9gYlLP03BEcWTpttg7P5mwfOiQTg584kpuHqP7F61RkUJM+mfEdEU9TJonm0PJp5rQLw==",
+ "follow-redirects": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz",
+ "integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==",
"dev": true,
"requires": {
- "caw": "2.0.1",
- "content-disposition": "0.5.2",
- "decompress": "4.2.0",
- "ext-name": "5.0.0",
- "file-type": "7.7.1",
- "filenamify": "2.1.0",
- "get-stream": "3.0.0",
- "got": "8.3.2",
- "make-dir": "1.3.0",
- "p-event": "1.3.0",
- "pify": "3.0.0"
+ "debug": "3.2.6"
},
"dependencies": {
- "file-type": {
- "version": "7.7.1",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-7.7.1.tgz",
- "integrity": "sha512-bTrKkzzZI6wH+NXhyD3SOXtb2zXTw2SbwI2RxUlRcXVsnN7jNL5hJzVQLYv7FOQhxFkK4XWdAflEaWFpaLLWpQ==",
- "dev": true
- },
- "got": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/got/-/got-8.3.2.tgz",
- "integrity": "sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==",
- "dev": true,
- "requires": {
- "@sindresorhus/is": "0.7.0",
- "cacheable-request": "2.1.4",
- "decompress-response": "3.3.0",
- "duplexer3": "0.1.4",
- "get-stream": "3.0.0",
- "into-stream": "3.1.0",
- "is-retry-allowed": "1.1.0",
- "isurl": "1.0.0",
- "lowercase-keys": "1.0.1",
- "mimic-response": "1.0.1",
- "p-cancelable": "0.4.1",
- "p-timeout": "2.0.1",
- "pify": "3.0.0",
- "safe-buffer": "5.1.2",
- "timed-out": "4.0.1",
- "url-parse-lax": "3.0.0",
- "url-to-options": "1.0.1"
- }
- },
- "p-cancelable": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.4.1.tgz",
- "integrity": "sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==",
- "dev": true
- },
- "p-timeout": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-2.0.1.tgz",
- "integrity": "sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==",
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"dev": true,
"requires": {
- "p-finally": "1.0.0"
+ "ms": "2.1.1"
}
},
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- },
- "prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true
- },
- "url-parse-lax": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
- "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
- "dev": true,
- "requires": {
- "prepend-http": "2.0.0"
- }
}
}
},
- "drbg.js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/drbg.js/-/drbg.js-1.0.1.tgz",
- "integrity": "sha1-Pja2xCs3BDgjzbwzLVjzHiRFSAs=",
+ "for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
"requires": {
- "browserify-aes": "1.2.0",
- "create-hash": "1.2.0",
- "create-hmac": "1.1.7"
+ "is-callable": "1.1.4"
}
},
- "duplexer3": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
- "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "dev": true
},
- "ecc-jsbn": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
- "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "for-own": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+ "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+ "dev": true,
"requires": {
- "jsbn": "0.1.1",
- "safer-buffer": "2.1.2"
+ "for-in": "1.0.2"
}
},
- "ecdsa": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/ecdsa/-/ecdsa-0.6.0.tgz",
- "integrity": "sha1-NemIe29Bjse5g4AXAzTcJ2Omsxc=",
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "dev": true
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "dev": true,
"requires": {
- "bigi": "1.4.2",
- "ecurve": "1.0.6"
+ "asynckit": "0.4.0",
+ "combined-stream": "1.0.8",
+ "mime-types": "2.1.24"
}
},
- "eckey": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/eckey/-/eckey-0.4.2.tgz",
- "integrity": "sha1-zqU7fVKeQhaPLIWXp+jTK8njlDY=",
+ "forwarded": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
+ "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
+ "dev": true
+ },
+ "fragment-cache": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+ "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+ "dev": true,
"requires": {
- "bigi": "0.2.0",
- "ecurve": "0.3.2",
- "ecurve-names": "0.3.0"
- },
- "dependencies": {
- "bigi": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/bigi/-/bigi-0.2.0.tgz",
- "integrity": "sha1-i+4mNIuZxK4u0gSB+xI4TDJ5L3Q="
- },
- "ecurve": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/ecurve/-/ecurve-0.3.2.tgz",
- "integrity": "sha1-ut7/nvlTme6i4X0bUz8BBIQkC1A=",
- "requires": {
- "bigi": "0.2.0"
- }
- }
+ "map-cache": "0.2.2"
}
},
- "ecurve": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/ecurve/-/ecurve-1.0.6.tgz",
- "integrity": "sha512-/BzEjNfiSuB7jIWKcS/z8FK9jNjmEWvUV2YZ4RLSmcDtP7Lq0m6FvDuSnJpBlDpGRpfRQeTLGLBI8H+kEv0r+w==",
+ "fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+ "dev": true
+ },
+ "from2": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+ "dev": true,
"requires": {
- "bigi": "1.4.2",
- "safe-buffer": "5.1.2"
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6"
}
},
- "ecurve-names": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/ecurve-names/-/ecurve-names-0.3.0.tgz",
- "integrity": "sha1-+VJeQD9Eo197wXVX/35BCRkx1Zw=",
+ "fs-access": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
+ "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
+ "dev": true,
"requires": {
- "bigi": "0.2.0",
- "ecurve": "0.3.2"
- },
- "dependencies": {
- "bigi": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/bigi/-/bigi-0.2.0.tgz",
- "integrity": "sha1-i+4mNIuZxK4u0gSB+xI4TDJ5L3Q="
- },
- "ecurve": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/ecurve/-/ecurve-0.3.2.tgz",
- "integrity": "sha1-ut7/nvlTme6i4X0bUz8BBIQkC1A=",
- "requires": {
- "bigi": "0.2.0"
- }
- }
+ "null-check": "1.0.0"
}
},
- "editorconfig": {
- "version": "0.15.3",
- "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz",
- "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==",
+ "fs-extra": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
+ "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
"requires": {
- "commander": "2.20.0",
- "lru-cache": "4.1.5",
- "semver": "5.6.0",
- "sigmund": "1.0.1"
- },
- "dependencies": {
- "commander": {
- "version": "2.20.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
- "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ=="
- },
- "lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
- "requires": {
- "pseudomap": "1.0.2",
- "yallist": "2.1.2"
- }
- }
+ "graceful-fs": "4.1.15",
+ "jsonfile": "4.0.0",
+ "universalify": "0.1.2"
}
},
- "ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
- },
- "ejs": {
- "version": "2.6.1",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz",
- "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==",
- "dev": true
+ "fs-minipass": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.6.tgz",
+ "integrity": "sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==",
+ "dev": true,
+ "requires": {
+ "minipass": "2.3.5"
+ }
},
- "electron": {
- "version": "3.0.10",
- "resolved": "https://registry.npmjs.org/electron/-/electron-3.0.10.tgz",
- "integrity": "sha512-I39IeQP3NOlbjKzTDK8uK2JdiHDfhV5SruCS2Gttkn2MaKCY+yIzQ6Wr4DyBXLeTEkL1sbZxbqQVhCavAliv5w==",
+ "fs-write-stream-atomic": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
+ "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
"dev": true,
"requires": {
- "@types/node": "8.10.38",
- "electron-download": "4.1.1",
- "extract-zip": "1.6.7"
- },
- "dependencies": {
- "@types/node": {
- "version": "8.10.38",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.38.tgz",
- "integrity": "sha512-EibsnbJerd0hBFaDjJStFrVbVBAtOy4dgL8zZFw0uOvPqzBAX59Ci8cgjg3+RgJIWhsB5A4c+pi+D4P9tQQh/A==",
- "dev": true
- }
+ "graceful-fs": "4.1.15",
+ "iferr": "0.1.5",
+ "imurmurhash": "0.1.4",
+ "readable-stream": "2.3.6"
}
},
- "electron-builder": {
- "version": "20.36.2",
- "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-20.36.2.tgz",
- "integrity": "sha512-xPJNt3ZBn5IYlp3pCP0Rvi00JYAKdTeOSLWFrkST1xqWfRZxXrI4uisVD9HQjzRN8hBHhTgTfXtb9uhWPha9eA==",
- "dev": true,
- "requires": {
- "app-builder-lib": "20.36.2",
- "bluebird-lst": "1.0.6",
- "builder-util": "9.3.0",
- "builder-util-runtime": "8.0.2",
- "chalk": "2.4.1",
- "dmg-builder": "6.4.0",
- "fs-extra-p": "7.0.0",
- "is-ci": "1.2.1",
- "lazy-val": "1.0.3",
- "read-config-file": "3.2.0",
- "sanitize-filename": "1.6.1",
- "update-notifier": "2.5.0",
- "yargs": "12.0.5"
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ },
+ "fsevents": {
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
+ "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "nan": "2.14.0",
+ "node-pre-gyp": "0.12.0"
},
"dependencies": {
+ "abbrev": {
+ "version": "1.1.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
"ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "version": "2.1.1",
+ "bundled": true,
"dev": true
},
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "aproba": {
+ "version": "1.2.0",
+ "bundled": true,
"dev": true,
+ "optional": true
+ },
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
"requires": {
- "color-convert": "1.9.3"
+ "delegates": "1.0.0",
+ "readable-stream": "2.3.6"
}
},
- "camelcase": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz",
- "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==",
+ "balanced-match": {
+ "version": "1.0.0",
+ "bundled": true,
"dev": true
},
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "brace-expansion": {
+ "version": "1.1.11",
+ "bundled": true,
"dev": true,
"requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
+ "balanced-match": "1.0.0",
+ "concat-map": "0.0.1"
}
},
- "cliui": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
- "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "chownr": {
+ "version": "1.1.1",
+ "bundled": true,
"dev": true,
- "requires": {
- "string-width": "2.1.1",
- "strip-ansi": "4.0.0",
- "wrap-ansi": "2.1.0"
- }
+ "optional": true
},
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "1.0.5",
- "path-key": "2.0.1",
- "semver": "5.6.0",
- "shebang-command": "1.2.0",
- "which": "1.3.1"
- }
+ "code-point-at": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
},
- "execa": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz",
- "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==",
+ "concat-map": {
+ "version": "0.0.1",
+ "bundled": true,
+ "dev": true
+ },
+ "console-control-strings": {
+ "version": "1.1.0",
+ "bundled": true,
+ "dev": true
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "bundled": true,
"dev": true,
- "requires": {
- "cross-spawn": "6.0.5",
- "get-stream": "3.0.0",
- "is-stream": "1.1.0",
- "npm-run-path": "2.0.2",
- "p-finally": "1.0.0",
- "signal-exit": "3.0.2",
- "strip-eof": "1.0.0"
- }
+ "optional": true
},
- "find-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
- "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "debug": {
+ "version": "4.1.1",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "locate-path": "3.0.0"
+ "ms": "2.1.1"
}
},
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
+ "deep-extend": {
+ "version": "0.6.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
},
- "invert-kv": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
- "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
- "dev": true
+ "delegates": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
},
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
+ "detect-libc": {
+ "version": "1.0.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true
},
- "lcid": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
- "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "fs-minipass": {
+ "version": "1.2.5",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "invert-kv": "2.0.0"
+ "minipass": "2.3.5"
}
},
- "locate-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
- "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "fs.realpath": {
+ "version": "1.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "gauge": {
+ "version": "2.7.4",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "p-locate": "3.0.0",
- "path-exists": "3.0.0"
+ "aproba": "1.2.0",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.3"
}
},
- "mem": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz",
- "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==",
+ "glob": {
+ "version": "7.1.3",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "map-age-cleaner": "0.1.3",
- "mimic-fn": "1.2.0",
- "p-is-promise": "1.1.0"
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
}
},
- "os-locale": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz",
- "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==",
+ "has-unicode": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "execa": "0.10.0",
- "lcid": "2.0.0",
- "mem": "4.0.0"
+ "safer-buffer": "2.1.2"
}
},
- "p-limit": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
- "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
+ "ignore-walk": {
+ "version": "3.0.1",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "p-try": "2.0.0"
+ "minimatch": "3.0.4"
}
},
- "p-locate": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
- "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "inflight": {
+ "version": "1.0.6",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "p-limit": "2.0.0"
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
}
},
- "p-try": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz",
- "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
+ "inherits": {
+ "version": "2.0.3",
+ "bundled": true,
"dev": true
},
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
+ "ini": {
+ "version": "1.3.5",
+ "bundled": true,
+ "dev": true,
+ "optional": true
},
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "bundled": true,
"dev": true,
"requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
+ "number-is-nan": "1.0.1"
}
},
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "isarray": {
+ "version": "1.0.0",
+ "bundled": true,
"dev": true,
- "requires": {
- "ansi-regex": "3.0.0"
- }
+ "optional": true
},
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "minimatch": {
+ "version": "3.0.4",
+ "bundled": true,
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "brace-expansion": "1.1.11"
}
},
- "which-module": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
- "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "minimist": {
+ "version": "0.0.8",
+ "bundled": true,
"dev": true
},
- "yargs": {
- "version": "12.0.5",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
- "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
+ "minipass": {
+ "version": "2.3.5",
+ "bundled": true,
"dev": true,
"requires": {
- "cliui": "4.1.0",
- "decamelize": "1.2.0",
- "find-up": "3.0.0",
- "get-caller-file": "1.0.3",
- "os-locale": "3.0.1",
- "require-directory": "2.1.1",
- "require-main-filename": "1.0.1",
- "set-blocking": "2.0.0",
- "string-width": "2.1.1",
- "which-module": "2.0.0",
- "y18n": "3.2.1",
- "yargs-parser": "11.1.1"
- }
- },
- "yargs-parser": {
- "version": "11.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
- "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
- "dev": true,
- "requires": {
- "camelcase": "5.0.0",
- "decamelize": "1.2.0"
- }
- }
- }
- },
- "electron-download": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/electron-download/-/electron-download-4.1.1.tgz",
- "integrity": "sha512-FjEWG9Jb/ppK/2zToP+U5dds114fM1ZOJqMAR4aXXL5CvyPE9fiqBK/9YcwC9poIFQTEJk/EM/zyRwziziRZrg==",
- "dev": true,
- "requires": {
- "debug": "3.2.6",
- "env-paths": "1.0.0",
- "fs-extra": "4.0.3",
- "minimist": "1.2.0",
- "nugget": "2.0.1",
- "path-exists": "3.0.0",
- "rc": "1.2.8",
- "semver": "5.6.0",
- "sumchecker": "2.0.2"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.1"
+ "safe-buffer": "5.1.2",
+ "yallist": "3.0.3"
}
},
- "fs-extra": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz",
- "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==",
+ "minizlib": {
+ "version": "1.2.1",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "graceful-fs": "4.1.15",
- "jsonfile": "4.0.0",
- "universalify": "0.1.2"
+ "minipass": "2.3.5"
}
},
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "mkdirp": {
+ "version": "0.5.1",
+ "bundled": true,
"dev": true,
"requires": {
- "graceful-fs": "4.1.15"
+ "minimist": "0.0.8"
}
},
"ms": {
"version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
+ "bundled": true,
+ "dev": true,
+ "optional": true
},
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
- }
- }
- },
- "electron-osx-sign": {
- "version": "0.4.11",
- "resolved": "https://registry.npmjs.org/electron-osx-sign/-/electron-osx-sign-0.4.11.tgz",
- "integrity": "sha512-VVd40nrnVqymvFrY9ZkOYgHJOvexHHYTR3di/SN+mjJ0OWhR1I8BRVj3U+Yamw6hnkZZNKZp52rqL5EFAAPFkQ==",
- "dev": true,
- "requires": {
- "bluebird": "3.5.3",
- "compare-version": "0.1.2",
- "debug": "2.6.9",
- "isbinaryfile": "3.0.3",
- "minimist": "1.2.0",
- "plist": "3.0.1"
- }
- },
- "electron-publish": {
- "version": "20.36.0",
- "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-20.36.0.tgz",
- "integrity": "sha512-LjJ4KoApSLtKyGWotv0B+PoTzpLEdHHXzDF9HLxatPlfoZCmrOexqm7Qiv1ODuYWPac7Zpf2OHitJp8WIOcZRQ==",
- "dev": true,
- "requires": {
- "bluebird-lst": "1.0.6",
- "builder-util": "9.3.0",
- "builder-util-runtime": "8.0.2",
- "chalk": "2.4.1",
- "fs-extra-p": "7.0.0",
- "lazy-val": "1.0.3",
- "mime": "2.3.1"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "needle": {
+ "version": "2.3.0",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "color-convert": "1.9.3"
+ "debug": "4.1.1",
+ "iconv-lite": "0.4.24",
+ "sax": "1.2.4"
}
},
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "node-pre-gyp": {
+ "version": "0.12.0",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
+ "detect-libc": "1.0.3",
+ "mkdirp": "0.5.1",
+ "needle": "2.3.0",
+ "nopt": "4.0.1",
+ "npm-packlist": "1.4.1",
+ "npmlog": "4.1.2",
+ "rc": "1.2.8",
+ "rimraf": "2.6.3",
+ "semver": "5.7.0",
+ "tar": "4.4.8"
}
},
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "mime": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz",
- "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "nopt": {
+ "version": "4.0.1",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "has-flag": "3.0.0"
+ "abbrev": "1.1.1",
+ "osenv": "0.1.5"
}
- }
- }
- },
- "electron-to-chromium": {
- "version": "1.3.84",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.84.tgz",
- "integrity": "sha512-IYhbzJYOopiTaNWMBp7RjbecUBsbnbDneOP86f3qvS0G0xfzwNSvMJpTrvi5/Y1gU7tg2NAgeg8a8rCYvW9Whw==",
- "dev": true
- },
- "elementtree": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.7.tgz",
- "integrity": "sha1-mskb5uUvtuYkTE5UpKw+2K6OKcA=",
- "requires": {
- "sax": "1.1.4"
- },
- "dependencies": {
- "sax": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.1.4.tgz",
- "integrity": "sha1-dLbTPJrh4AFRDxeakRaFiPGu2qk="
- }
- }
- },
- "elliptic": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz",
- "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==",
- "requires": {
- "bn.js": "4.11.8",
- "brorand": "1.1.0",
- "hash.js": "1.1.5",
- "hmac-drbg": "1.0.1",
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.1",
- "minimalistic-crypto-utils": "1.0.1"
- }
- },
- "emojis-list": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
- "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k="
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
- },
- "end-of-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
- "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
- "requires": {
- "once": "1.4.0"
- }
- },
- "endent": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/endent/-/endent-1.3.0.tgz",
- "integrity": "sha512-C8AryqPPwtydqcpO5AF6k9Bd1EpFkQtvsefJqS3y3n8TG13Jy63MascDxTOULZYqrUde+dK6BjNc6LIMr3iI2A==",
- "requires": {
- "dedent": "0.7.0",
- "fast-json-parse": "1.0.3",
- "objectorarray": "1.0.3"
- }
- },
- "engine.io": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.8.3.tgz",
- "integrity": "sha1-jef5eJXSDTm4X4ju7nd7K9QrE9Q=",
- "dev": true,
- "requires": {
- "accepts": "1.3.3",
- "base64id": "1.0.0",
- "cookie": "0.3.1",
- "debug": "2.3.3",
- "engine.io-parser": "1.3.2",
- "ws": "1.1.2"
- },
- "dependencies": {
- "accepts": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
- "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
+ },
+ "npm-bundled": {
+ "version": "1.0.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "npm-packlist": {
+ "version": "1.4.1",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "mime-types": "2.1.21",
- "negotiator": "0.6.1"
+ "ignore-walk": "3.0.1",
+ "npm-bundled": "1.0.6"
}
},
- "debug": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
- "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "npmlog": {
+ "version": "4.1.2",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "ms": "0.7.2"
+ "are-we-there-yet": "1.1.5",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
}
},
- "ms": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
- "dev": true
- },
- "ultron": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
- "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
+ "number-is-nan": {
+ "version": "1.0.1",
+ "bundled": true,
"dev": true
},
- "ws": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz",
- "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=",
+ "object-assign": {
+ "version": "4.1.1",
+ "bundled": true,
"dev": true,
- "requires": {
- "options": "0.0.6",
- "ultron": "1.0.2"
- }
- }
- }
- },
- "engine.io-client": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.8.3.tgz",
- "integrity": "sha1-F5jtk0USRkU9TG9jXXogH+lA1as=",
- "dev": true,
- "requires": {
- "component-emitter": "1.2.1",
- "component-inherit": "0.0.3",
- "debug": "2.3.3",
- "engine.io-parser": "1.3.2",
- "has-cors": "1.1.0",
- "indexof": "0.0.1",
- "parsejson": "0.0.3",
- "parseqs": "0.0.5",
- "parseuri": "0.0.5",
- "ws": "1.1.2",
- "xmlhttprequest-ssl": "1.5.3",
- "yeast": "0.1.2"
- },
- "dependencies": {
- "debug": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
- "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
+ "optional": true
+ },
+ "once": {
+ "version": "1.4.0",
+ "bundled": true,
"dev": true,
"requires": {
- "ms": "0.7.2"
+ "wrappy": "1.0.2"
}
},
- "ms": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
- "dev": true
+ "os-homedir": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
},
- "ultron": {
+ "os-tmpdir": {
"version": "1.0.2",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
- "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
- "dev": true
+ "bundled": true,
+ "dev": true,
+ "optional": true
},
- "ws": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.2.tgz",
- "integrity": "sha1-iiRPoFJAHgjJiGz0SoUYnh/UBn8=",
+ "osenv": {
+ "version": "0.1.5",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "options": "0.0.6",
- "ultron": "1.0.2"
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
}
- }
- }
- },
- "engine.io-parser": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.3.2.tgz",
- "integrity": "sha1-k3sHnwAH0Ik+xW1GyyILjLQ1Igo=",
- "dev": true,
- "requires": {
- "after": "0.8.2",
- "arraybuffer.slice": "0.0.6",
- "base64-arraybuffer": "0.1.5",
- "blob": "0.0.4",
- "has-binary": "0.1.7",
- "wtf-8": "1.0.0"
- }
- },
- "enhanced-resolve": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz",
- "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=",
- "requires": {
- "graceful-fs": "4.1.15",
- "memory-fs": "0.4.1",
- "object-assign": "4.1.1",
- "tapable": "0.2.8"
- }
- },
- "ent": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
- "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
- "dev": true
- },
- "env-paths": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz",
- "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=",
- "dev": true
- },
- "errno": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
- "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "requires": {
- "prr": "1.0.1"
- }
- },
- "error": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
- "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=",
- "requires": {
- "string-template": "0.2.1",
- "xtend": "4.0.1"
- }
- },
- "error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "requires": {
- "is-arrayish": "0.2.1"
- }
- },
- "es-abstract": {
- "version": "1.13.0",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
- "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
- "requires": {
- "es-to-primitive": "1.2.0",
- "function-bind": "1.1.1",
- "has": "1.0.3",
- "is-callable": "1.1.4",
- "is-regex": "1.0.4",
- "object-keys": "1.1.1"
- },
- "dependencies": {
- "object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
- }
- }
- },
- "es-to-primitive": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
- "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
- "requires": {
- "is-callable": "1.1.4",
- "is-date-object": "1.0.1",
- "is-symbol": "1.0.2"
- }
- },
- "es5-ext": {
- "version": "0.10.46",
- "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz",
- "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==",
- "dev": true,
- "requires": {
- "es6-iterator": "2.0.3",
- "es6-symbol": "3.1.1",
- "next-tick": "1.0.0"
- }
- },
- "es6-iterator": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
- "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
- "dev": true,
- "requires": {
- "d": "1.0.0",
- "es5-ext": "0.10.46",
- "es6-symbol": "3.1.1"
- }
- },
- "es6-map": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
- "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
- "dev": true,
- "requires": {
- "d": "1.0.0",
- "es5-ext": "0.10.46",
- "es6-iterator": "2.0.3",
- "es6-set": "0.1.5",
- "es6-symbol": "3.1.1",
- "event-emitter": "0.3.5"
- }
- },
- "es6-promise": {
- "version": "4.2.5",
- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
- "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
- "dev": true
- },
- "es6-promise-plugin": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/es6-promise-plugin/-/es6-promise-plugin-4.2.2.tgz",
- "integrity": "sha512-uoA4aVplXI9oqUYJFBAVRwAqIN9/n9JgrTAUGX3qPbnSZVE5yY1+6/MsoN5f4xsaPO62WjPHOdtts6okMN6tNA=="
- },
- "es6-promisify": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
- "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
- "dev": true,
- "requires": {
- "es6-promise": "4.2.5"
- }
- },
- "es6-set": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
- "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
- "dev": true,
- "requires": {
- "d": "1.0.0",
- "es5-ext": "0.10.46",
- "es6-iterator": "2.0.3",
- "es6-symbol": "3.1.1",
- "event-emitter": "0.3.5"
- }
- },
- "es6-symbol": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
- "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
- "dev": true,
- "requires": {
- "d": "1.0.0",
- "es5-ext": "0.10.46"
- }
- },
- "es6-templates": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/es6-templates/-/es6-templates-0.2.3.tgz",
- "integrity": "sha1-XLmsn7He1usSOTQrgdeSu7QHjuQ=",
- "requires": {
- "recast": "0.11.23",
- "through": "2.3.8"
- }
- },
- "es6-weak-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
- "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
- "dev": true,
- "requires": {
- "d": "1.0.0",
- "es5-ext": "0.10.46",
- "es6-iterator": "2.0.3",
- "es6-symbol": "3.1.1"
- }
- },
- "escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
- },
- "escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
- },
- "escope": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
- "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
- "dev": true,
- "requires": {
- "es6-map": "0.1.5",
- "es6-weak-map": "2.0.2",
- "esrecurse": "4.2.1",
- "estraverse": "4.2.0"
- }
- },
- "esprima": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
- "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM="
- },
- "esrecurse": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
- "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
- "dev": true,
- "requires": {
- "estraverse": "4.2.0"
- }
- },
- "estraverse": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
- "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
- "dev": true
- },
- "estree-walker": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz",
- "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==",
- "dev": true
- },
- "esutils": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
- },
- "eth-ens-namehash": {
- "version": "2.0.8",
- "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz",
- "integrity": "sha1-IprEbsqG1S4MmR58sq74P/D2i88=",
- "requires": {
- "idna-uts46-hx": "2.3.1",
- "js-sha3": "0.5.7"
- },
- "dependencies": {
- "js-sha3": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz",
- "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc="
- }
- }
- },
- "eth-lib": {
- "version": "0.1.27",
- "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.1.27.tgz",
- "integrity": "sha512-B8czsfkJYzn2UIEMwjc7Mbj+Cy72V+/OXH/tb44LV8jhrjizQJJ325xMOMyk3+ETa6r6oi0jsUY14+om8mQMWA==",
- "requires": {
- "bn.js": "4.11.8",
- "elliptic": "6.4.1",
- "keccakjs": "0.2.3",
- "nano-json-stream-parser": "0.1.2",
- "servify": "0.1.12",
- "ws": "3.3.3",
- "xhr-request-promise": "0.1.2"
- }
- },
- "ethereum-common": {
- "version": "0.0.18",
- "resolved": "https://registry.npmjs.org/ethereum-common/-/ethereum-common-0.0.18.tgz",
- "integrity": "sha1-L9w1dvIykDNYl26znaeDIT/5Uj8="
- },
- "ethereumjs-tx": {
- "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.2.0"
- }
- },
- "ethereumjs-util": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz",
- "integrity": "sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA==",
- "requires": {
- "bn.js": "4.11.8",
- "create-hash": "1.2.0",
- "ethjs-util": "0.1.6",
- "keccak": "1.4.0",
- "rlp": "2.2.3",
- "safe-buffer": "5.1.2",
- "secp256k1": "3.7.1"
- }
- },
- "ethers": {
- "version": "4.0.0-beta.1",
- "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.0-beta.1.tgz",
- "integrity": "sha512-SoYhktEbLxf+fiux5SfCEwdzWENMvgIbMZD90I62s4GZD9nEjgEWy8ZboI3hck193Vs0bDoTohDISx84f2H2tw==",
- "requires": {
- "@types/node": "10.12.26",
- "aes-js": "3.0.0",
- "bn.js": "4.11.8",
- "elliptic": "6.3.3",
- "hash.js": "1.1.3",
- "js-sha3": "0.5.7",
- "scrypt-js": "2.0.3",
- "setimmediate": "1.0.4",
- "uuid": "2.0.1",
- "xmlhttprequest": "1.8.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "10.12.26",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.26.tgz",
- "integrity": "sha512-nMRqS+mL1TOnIJrL6LKJcNZPB8V3eTfRo9FQA2b5gDvrHurC8XbSA86KNe0dShlEL7ReWJv/OU9NL7Z0dnqWTg=="
},
- "elliptic": {
- "version": "6.3.3",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz",
- "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=",
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "rc": {
+ "version": "1.2.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
"requires": {
- "bn.js": "4.11.8",
- "brorand": "1.1.0",
- "hash.js": "1.1.3",
- "inherits": "2.0.3"
+ "deep-extend": "0.6.0",
+ "ini": "1.3.5",
+ "minimist": "1.2.0",
+ "strip-json-comments": "2.0.1"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "1.2.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ }
}
},
- "hash.js": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz",
- "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==",
+ "readable-stream": {
+ "version": "2.3.6",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
"requires": {
+ "core-util-is": "1.0.2",
"inherits": "2.0.3",
- "minimalistic-assert": "1.0.1"
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
}
- },
- "js-sha3": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz",
- "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc="
- },
- "setimmediate": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz",
- "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48="
- },
- "uuid": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz",
- "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w="
- }
- }
- },
- "ethjs-unit": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz",
- "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=",
- "requires": {
- "bn.js": "4.11.6",
- "number-to-bn": "1.7.0"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU="
- }
- }
- },
- "ethjs-util": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/ethjs-util/-/ethjs-util-0.1.6.tgz",
- "integrity": "sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==",
- "requires": {
- "is-hex-prefixed": "1.0.0",
- "strip-hex-prefix": "1.0.0"
- }
- },
- "event-emitter": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
- "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
- "dev": true,
- "requires": {
- "d": "1.0.0",
- "es5-ext": "0.10.46"
- }
- },
- "eventemitter3": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.1.1.tgz",
- "integrity": "sha1-R3hr2qCHyvext15zq8XH1UAVjNA="
- },
- "events": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
- "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ="
- },
- "evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "requires": {
- "md5.js": "1.3.5",
- "safe-buffer": "5.1.2"
- }
- },
- "execa": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz",
- "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=",
- "dev": true,
- "requires": {
- "cross-spawn": "5.1.0",
- "get-stream": "3.0.0",
- "is-stream": "1.1.0",
- "npm-run-path": "2.0.2",
- "p-finally": "1.0.0",
- "signal-exit": "3.0.2",
- "strip-eof": "1.0.0"
- }
- },
- "exit": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
- "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
- "dev": true
- },
- "expand-braces": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
- "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
- "dev": true,
- "requires": {
- "array-slice": "0.2.3",
- "array-unique": "0.2.1",
- "braces": "0.1.5"
- },
- "dependencies": {
- "braces": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
- "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
- "dev": true,
- "requires": {
- "expand-range": "0.1.1"
- }
- },
- "expand-range": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
- "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
- "dev": true,
- "requires": {
- "is-number": "0.1.1",
- "repeat-string": "0.2.2"
- }
- },
- "is-number": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
- "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",
- "dev": true
- },
- "repeat-string": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
- "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",
- "dev": true
- }
- }
- },
- "expand-brackets": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz",
- "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=",
- "requires": {
- "is-posix-bracket": "0.1.1"
- }
- },
- "expand-range": {
- "version": "1.8.2",
- "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
- "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
- "requires": {
- "fill-range": "2.2.4"
- }
- },
- "express": {
- "version": "4.16.4",
- "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz",
- "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==",
- "requires": {
- "accepts": "1.3.5",
- "array-flatten": "1.1.1",
- "body-parser": "1.18.3",
- "content-disposition": "0.5.2",
- "content-type": "1.0.4",
- "cookie": "0.3.1",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "1.1.2",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "etag": "1.8.1",
- "finalhandler": "1.1.1",
- "fresh": "0.5.2",
- "merge-descriptors": "1.0.1",
- "methods": "1.1.2",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "2.0.4",
- "qs": "6.5.2",
- "range-parser": "1.2.0",
- "safe-buffer": "5.1.2",
- "send": "0.16.2",
- "serve-static": "1.13.2",
- "setprototypeof": "1.1.0",
- "statuses": "1.4.0",
- "type-is": "1.6.16",
- "utils-merge": "1.0.1",
- "vary": "1.1.2"
- },
- "dependencies": {
- "statuses": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
- }
- }
- },
- "ext-list": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-2.2.2.tgz",
- "integrity": "sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==",
- "dev": true,
- "requires": {
- "mime-db": "1.37.0"
- }
- },
- "ext-name": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-5.0.0.tgz",
- "integrity": "sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==",
- "dev": true,
- "requires": {
- "ext-list": "2.2.2",
- "sort-keys-length": "1.0.1"
- }
- },
- "extend": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
- },
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "requires": {
- "assign-symbols": "1.0.0",
- "is-extendable": "1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "requires": {
- "is-plain-object": "2.0.4"
- }
- }
- }
- },
- "external-editor": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
- "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
- "requires": {
- "chardet": "0.4.2",
- "iconv-lite": "0.4.23",
- "tmp": "0.0.33"
- }
- },
- "extglob": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz",
- "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=",
- "requires": {
- "is-extglob": "1.0.0"
- }
- },
- "extract-zip": {
- "version": "1.6.7",
- "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
- "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
- "dev": true,
- "requires": {
- "concat-stream": "1.6.2",
- "debug": "2.6.9",
- "mkdirp": "0.5.1",
- "yauzl": "2.4.1"
- },
- "dependencies": {
- "fd-slicer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
- "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
- "dev": true,
- "requires": {
- "pend": "1.2.0"
- }
- },
- "yauzl": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
- "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
- "dev": true,
- "requires": {
- "fd-slicer": "1.0.1"
- }
- }
- }
- },
- "extsprintf": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
- },
- "fancy-log": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
- "integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
- "dev": true,
- "requires": {
- "ansi-gray": "0.1.1",
- "color-support": "1.1.3",
- "time-stamp": "1.1.0"
- },
- "dependencies": {
- "time-stamp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
- "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
- "dev": true
- }
- }
- },
- "fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
- },
- "fast-json-parse": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz",
- "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw=="
- },
- "fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
- },
- "fastparse": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
- "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ=="
- },
- "faye-websocket": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
- "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
- "requires": {
- "websocket-driver": "0.7.0"
- }
- },
- "fd-slicer": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
- "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
- "requires": {
- "pend": "1.2.0"
- }
- },
- "figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
- "requires": {
- "escape-string-regexp": "1.0.5"
- }
- },
- "file-type": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz",
- "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY="
- },
- "file-uri-to-path": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
- "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
- },
- "filename-regex": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
- "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY="
- },
- "filename-reserved-regex": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
- "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=",
- "dev": true
- },
- "filenamify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-2.1.0.tgz",
- "integrity": "sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==",
- "dev": true,
- "requires": {
- "filename-reserved-regex": "2.0.0",
- "strip-outer": "1.0.1",
- "trim-repeated": "1.0.0"
- }
- },
- "fileset": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
- "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
- "dev": true,
- "requires": {
- "glob": "7.1.3",
- "minimatch": "3.0.4"
- }
- },
- "fill-range": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
- "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
- "requires": {
- "is-number": "2.1.0",
- "isobject": "2.1.0",
- "randomatic": "3.1.1",
- "repeat-element": "1.1.3",
- "repeat-string": "1.6.1"
- }
- },
- "finalhandler": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
- "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "on-finished": "2.3.0",
- "parseurl": "1.3.2",
- "statuses": "1.4.0",
- "unpipe": "1.0.0"
- },
- "dependencies": {
- "statuses": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
- }
- }
- },
- "find-cache-dir": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz",
- "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=",
- "requires": {
- "commondir": "1.0.1",
- "mkdirp": "0.5.1",
- "pkg-dir": "1.0.0"
- }
- },
- "find-up": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
- "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
- "requires": {
- "path-exists": "2.1.0",
- "pinkie-promise": "2.0.1"
- }
- },
- "follow-redirects": {
- "version": "1.5.9",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz",
- "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==",
- "requires": {
- "debug": "3.1.0"
- },
- "dependencies": {
- "debug": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
- "requires": {
- "ms": "2.0.0"
- }
- }
- }
- },
- "for-each": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
- "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
- "requires": {
- "is-callable": "1.1.4"
- }
- },
- "for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
- },
- "for-own": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz",
- "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=",
- "requires": {
- "for-in": "1.0.2"
- }
- },
- "forever-agent": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
- },
- "form-data": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
- "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.7",
- "mime-types": "2.1.21"
- }
- },
- "formidable": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.1.tgz",
- "integrity": "sha512-Fs9VRguL0gqGHkXS5GQiMCr1VhZBxz0JnJs4JmMp/2jL18Fmbzvv7vOFRU+U8TBkHEE/CX1qDXzJplVULgsLeg=="
- },
- "forwarded": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
- "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
- },
- "fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "requires": {
- "map-cache": "0.2.2"
- }
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
- },
- "from2": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
- "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
- "dev": true,
- "requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.3.6"
- }
- },
- "fs-access": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
- "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
- "dev": true,
- "requires": {
- "null-check": "1.0.0"
- }
- },
- "fs-constants": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
- "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="
- },
- "fs-extra": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz",
- "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=",
- "requires": {
- "graceful-fs": "4.1.15",
- "jsonfile": "2.4.0"
- }
- },
- "fs-extra-p": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/fs-extra-p/-/fs-extra-p-7.0.0.tgz",
- "integrity": "sha512-5tg5jBOd0xIXjwj4PDnafOXL5TyPVzjxLby4DPKev53wurEXp7IsojBaD4Lj5M5w7jxw0pbkEU0fFEPmcKoMnA==",
- "dev": true,
- "requires": {
- "bluebird-lst": "1.0.6",
- "fs-extra": "7.0.1"
- },
- "dependencies": {
- "fs-extra": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
- "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
- "dev": true,
- "requires": {
- "graceful-fs": "4.1.15",
- "jsonfile": "4.0.0",
- "universalify": "0.1.2"
- }
- },
- "jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
- "dev": true,
- "requires": {
- "graceful-fs": "4.1.15"
- }
- }
- }
- },
- "fs-minipass": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz",
- "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==",
- "dev": true,
- "requires": {
- "minipass": "2.3.5"
- }
- },
- "fs-promise": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/fs-promise/-/fs-promise-2.0.3.tgz",
- "integrity": "sha1-9k5PhUvPaJqovdy6JokW2z20aFQ=",
- "requires": {
- "any-promise": "1.3.0",
- "fs-extra": "2.1.2",
- "mz": "2.7.0",
- "thenify-all": "1.6.0"
- },
- "dependencies": {
- "fs-extra": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-2.1.2.tgz",
- "integrity": "sha1-BGxwFjzvmq1GsOSn+kZ/si1x3jU=",
- "requires": {
- "graceful-fs": "4.1.15",
- "jsonfile": "2.4.0"
- }
- },
- "jsonfile": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
- "requires": {
- "graceful-fs": "4.1.15"
- }
- }
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
- },
- "fsevents": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
- "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
- "optional": true,
- "requires": {
- "nan": "2.11.1",
- "node-pre-gyp": "0.10.0"
- },
- "dependencies": {
- "abbrev": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true
- },
- "ansi-regex": {
- "version": "2.1.1",
- "bundled": true
- },
- "aproba": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true
- },
- "are-we-there-yet": {
- "version": "1.1.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "delegates": "1.0.0",
- "readable-stream": "2.3.6"
- }
- },
- "balanced-match": {
- "version": "1.0.0",
- "bundled": true
- },
- "brace-expansion": {
- "version": "1.1.11",
- "bundled": true,
- "requires": {
- "balanced-match": "1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "chownr": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true
- },
- "code-point-at": {
- "version": "1.1.0",
- "bundled": true
- },
- "concat-map": {
- "version": "0.0.1",
- "bundled": true
- },
- "console-control-strings": {
- "version": "1.1.0",
- "bundled": true
- },
- "core-util-is": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "debug": {
- "version": "2.6.9",
- "bundled": true,
- "optional": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "deep-extend": {
- "version": "0.5.1",
- "bundled": true,
- "optional": true
- },
- "delegates": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "detect-libc": {
- "version": "1.0.3",
- "bundled": true,
- "optional": true
- },
- "fs-minipass": {
- "version": "1.2.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "minipass": "2.2.4"
- }
- },
- "fs.realpath": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "gauge": {
- "version": "2.7.4",
- "bundled": true,
- "optional": true,
- "requires": {
- "aproba": "1.2.0",
- "console-control-strings": "1.1.0",
- "has-unicode": "2.0.1",
- "object-assign": "4.1.1",
- "signal-exit": "3.0.2",
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wide-align": "1.1.2"
- }
- },
- "glob": {
- "version": "7.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
- }
- },
- "has-unicode": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "iconv-lite": {
- "version": "0.4.21",
- "bundled": true,
- "optional": true,
- "requires": {
- "safer-buffer": "2.1.2"
- }
- },
- "ignore-walk": {
- "version": "3.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "minimatch": "3.0.4"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "bundled": true
- },
- "ini": {
- "version": "1.3.5",
- "bundled": true,
- "optional": true
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "bundled": true,
- "requires": {
- "number-is-nan": "1.0.1"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "bundled": true,
- "optional": true
- },
- "minimatch": {
- "version": "3.0.4",
- "bundled": true,
- "requires": {
- "brace-expansion": "1.1.11"
- }
- },
- "minimist": {
- "version": "0.0.8",
- "bundled": true
- },
- "minipass": {
- "version": "2.2.4",
- "bundled": true,
- "requires": {
- "safe-buffer": "5.1.1",
- "yallist": "3.0.2"
- }
- },
- "minizlib": {
- "version": "1.1.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "minipass": "2.2.4"
- }
- },
- "mkdirp": {
- "version": "0.5.1",
- "bundled": true,
- "requires": {
- "minimist": "0.0.8"
- }
- },
- "ms": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "needle": {
- "version": "2.2.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "debug": "2.6.9",
- "iconv-lite": "0.4.21",
- "sax": "1.2.4"
- }
- },
- "node-pre-gyp": {
- "version": "0.10.0",
- "bundled": true,
- "optional": true,
- "requires": {
- "detect-libc": "1.0.3",
- "mkdirp": "0.5.1",
- "needle": "2.2.0",
- "nopt": "4.0.1",
- "npm-packlist": "1.1.10",
- "npmlog": "4.1.2",
- "rc": "1.2.7",
- "rimraf": "2.6.2",
- "semver": "5.5.0",
- "tar": "4.4.1"
- }
- },
- "nopt": {
- "version": "4.0.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "abbrev": "1.1.1",
- "osenv": "0.1.5"
- }
- },
- "npm-bundled": {
- "version": "1.0.3",
- "bundled": true,
- "optional": true
- },
- "npm-packlist": {
- "version": "1.1.10",
- "bundled": true,
- "optional": true,
- "requires": {
- "ignore-walk": "3.0.1",
- "npm-bundled": "1.0.3"
- }
- },
- "npmlog": {
- "version": "4.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "are-we-there-yet": "1.1.4",
- "console-control-strings": "1.1.0",
- "gauge": "2.7.4",
- "set-blocking": "2.0.0"
- }
- },
- "number-is-nan": {
- "version": "1.0.1",
- "bundled": true
- },
- "object-assign": {
- "version": "4.1.1",
- "bundled": true,
- "optional": true
- },
- "once": {
- "version": "1.4.0",
- "bundled": true,
- "requires": {
- "wrappy": "1.0.2"
- }
- },
- "os-homedir": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "os-tmpdir": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "osenv": {
- "version": "0.1.5",
- "bundled": true,
- "optional": true,
- "requires": {
- "os-homedir": "1.0.2",
- "os-tmpdir": "1.0.2"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "bundled": true,
- "optional": true
- },
- "process-nextick-args": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "rc": {
- "version": "1.2.7",
- "bundled": true,
- "optional": true,
- "requires": {
- "deep-extend": "0.5.1",
- "ini": "1.3.5",
- "minimist": "1.2.0",
- "strip-json-comments": "2.0.1"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "bundled": true,
- "optional": true
- }
- }
- },
- "readable-stream": {
- "version": "2.3.6",
- "bundled": true,
- "optional": true,
- "requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "2.0.0",
- "safe-buffer": "5.1.1",
- "string_decoder": "1.1.1",
- "util-deprecate": "1.0.2"
- }
- },
- "rimraf": {
- "version": "2.6.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "glob": "7.1.2"
- }
- },
- "safe-buffer": {
- "version": "5.1.1",
- "bundled": true
- },
- "safer-buffer": {
- "version": "2.1.2",
- "bundled": true,
- "optional": true
- },
- "sax": {
- "version": "1.2.4",
- "bundled": true,
- "optional": true
- },
- "semver": {
- "version": "5.5.0",
- "bundled": true,
- "optional": true
- },
- "set-blocking": {
- "version": "2.0.0",
- "bundled": true,
- "optional": true
- },
- "signal-exit": {
- "version": "3.0.2",
- "bundled": true,
- "optional": true
- },
- "string-width": {
- "version": "1.0.2",
- "bundled": true,
- "requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
- }
- },
- "string_decoder": {
- "version": "1.1.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "safe-buffer": "5.1.1"
- }
- },
- "strip-ansi": {
- "version": "3.0.1",
- "bundled": true,
- "requires": {
- "ansi-regex": "2.1.1"
- }
- },
- "strip-json-comments": {
- "version": "2.0.1",
- "bundled": true,
- "optional": true
- },
- "tar": {
- "version": "4.4.1",
- "bundled": true,
- "optional": true,
- "requires": {
- "chownr": "1.0.1",
- "fs-minipass": "1.2.5",
- "minipass": "2.2.4",
- "minizlib": "1.1.0",
- "mkdirp": "0.5.1",
- "safe-buffer": "5.1.1",
- "yallist": "3.0.2"
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "bundled": true,
- "optional": true
- },
- "wide-align": {
- "version": "1.1.2",
- "bundled": true,
- "optional": true,
- "requires": {
- "string-width": "1.0.2"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "bundled": true
- },
- "yallist": {
- "version": "3.0.2",
- "bundled": true
- }
- }
- },
- "fstream": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
- "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
- "requires": {
- "graceful-fs": "4.1.15",
- "inherits": "2.0.3",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2"
- }
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "gauge": {
- "version": "2.7.4",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
- "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
- "dev": true,
- "requires": {
- "aproba": "1.2.0",
- "console-control-strings": "1.1.0",
- "has-unicode": "2.0.1",
- "object-assign": "4.1.1",
- "signal-exit": "3.0.2",
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wide-align": "1.1.3"
- }
- },
- "gaze": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
- "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
- "dev": true,
- "requires": {
- "globule": "1.2.1"
- }
- },
- "generate-function": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
- "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
- "dev": true,
- "requires": {
- "is-property": "1.0.2"
- }
- },
- "generate-object-property": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
- "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=",
- "dev": true,
- "requires": {
- "is-property": "1.0.2"
- }
- },
- "get-caller-file": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
- "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
- },
- "get-proxy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/get-proxy/-/get-proxy-2.1.0.tgz",
- "integrity": "sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==",
- "dev": true,
- "requires": {
- "npm-conf": "1.1.3"
- }
- },
- "get-stdin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
- "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
- "dev": true
- },
- "get-stream": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
- "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ="
- },
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
- },
- "getpass": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
- "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "requires": {
- "assert-plus": "1.0.0"
- }
- },
- "glob": {
- "version": "7.1.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
- "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
- "requires": {
- "fs.realpath": "1.0.0",
- "inflight": "1.0.6",
- "inherits": "2.0.3",
- "minimatch": "3.0.4",
- "once": "1.4.0",
- "path-is-absolute": "1.0.1"
- }
- },
- "glob-base": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz",
- "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=",
- "requires": {
- "glob-parent": "2.0.0",
- "is-glob": "2.0.1"
- }
- },
- "glob-parent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz",
- "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=",
- "requires": {
- "is-glob": "2.0.1"
- }
- },
- "global": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz",
- "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=",
- "requires": {
- "min-document": "2.19.0",
- "process": "0.5.2"
- }
- },
- "global-dirs": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
- "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
- "dev": true,
- "requires": {
- "ini": "1.3.5"
- }
- },
- "globals": {
- "version": "9.18.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
- "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ=="
- },
- "globby": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
- "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
- "dev": true,
- "requires": {
- "array-union": "1.0.2",
- "arrify": "1.0.1",
- "glob": "7.1.3",
- "object-assign": "4.1.1",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1"
- }
- },
- "globule": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
- "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
- "dev": true,
- "requires": {
- "glob": "7.1.3",
- "lodash": "4.17.11",
- "minimatch": "3.0.4"
- }
- },
- "got": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz",
- "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==",
- "requires": {
- "decompress-response": "3.3.0",
- "duplexer3": "0.1.4",
- "get-stream": "3.0.0",
- "is-plain-obj": "1.1.0",
- "is-retry-allowed": "1.1.0",
- "is-stream": "1.1.0",
- "isurl": "1.0.0",
- "lowercase-keys": "1.0.1",
- "p-cancelable": "0.3.0",
- "p-timeout": "1.2.1",
- "safe-buffer": "5.1.2",
- "timed-out": "4.0.1",
- "url-parse-lax": "1.0.0",
- "url-to-options": "1.0.1"
- }
- },
- "graceful-fs": {
- "version": "4.1.15",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
- "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
- },
- "graceful-readlink": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
- "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU="
- },
- "groestl-hash-js": {
- "version": "git+https://github.com/Groestlcoin/groestl-hash-js.git#ef6a04f1c4d2f0448f0882b5f213ef7a0659baee"
- },
- "handlebars": {
- "version": "4.0.12",
- "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz",
- "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==",
- "dev": true,
- "requires": {
- "async": "2.6.1",
- "optimist": "0.6.1",
- "source-map": "0.6.1",
- "uglify-js": "3.4.9"
- },
- "dependencies": {
- "commander": {
- "version": "2.17.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
- "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
- "dev": true,
- "optional": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "uglify-js": {
- "version": "3.4.9",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
- "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
- "dev": true,
- "optional": true,
- "requires": {
- "commander": "2.17.1",
- "source-map": "0.6.1"
- }
- }
- }
- },
- "har-schema": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
- },
- "har-validator": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
- "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "requires": {
- "ajv": "6.5.5",
- "har-schema": "2.0.0"
- }
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "requires": {
- "function-bind": "1.1.1"
- }
- },
- "has-ansi": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
- "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
- "requires": {
- "ansi-regex": "2.1.1"
- }
- },
- "has-binary": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz",
- "integrity": "sha1-aOYesWIQyVRaClzOBqhzkS/h5ow=",
- "dev": true,
- "requires": {
- "isarray": "0.0.1"
- },
- "dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- }
- }
- },
- "has-cors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
- "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
- "dev": true
- },
- "has-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
- "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo="
- },
- "has-symbol-support-x": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz",
- "integrity": "sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw=="
- },
- "has-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
- "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q="
- },
- "has-to-string-tag-x": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz",
- "integrity": "sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==",
- "requires": {
- "has-symbol-support-x": "1.4.2"
- }
- },
- "has-unicode": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
- "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
- "dev": true
- },
- "has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "requires": {
- "get-value": "2.0.6",
- "has-values": "1.0.0",
- "isobject": "3.0.1"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
- },
- "has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "requires": {
- "is-number": "3.0.0",
- "kind-of": "4.0.0"
- },
- "dependencies": {
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "hash-base": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
- "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
- "requires": {
- "inherits": "2.0.3",
- "safe-buffer": "5.1.2"
- }
- },
- "hash.js": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz",
- "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==",
- "requires": {
- "inherits": "2.0.3",
- "minimalistic-assert": "1.0.1"
- }
- },
- "hat": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz",
- "integrity": "sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo=",
- "dev": true
- },
- "hawk": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
- "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
- "dev": true,
- "requires": {
- "boom": "2.10.1",
- "cryptiles": "2.0.5",
- "hoek": "2.16.3",
- "sntp": "1.0.9"
- }
- },
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
- },
- "hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
- "requires": {
- "hash.js": "1.1.5",
- "minimalistic-assert": "1.0.1",
- "minimalistic-crypto-utils": "1.0.1"
- }
- },
- "hoek": {
- "version": "2.16.3",
- "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
- "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
- "dev": true
- },
- "home-or-tmp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
- "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
- "requires": {
- "os-homedir": "1.0.2",
- "os-tmpdir": "1.0.2"
- }
- },
- "homedir-polyfill": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
- "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
- "dev": true,
- "requires": {
- "parse-passwd": "1.0.0"
- }
- },
- "hosted-git-info": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
- "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w=="
- },
- "html-loader": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-0.5.5.tgz",
- "integrity": "sha512-7hIW7YinOYUpo//kSYcPB6dCKoceKLmOwjEMmhIobHuWGDVl0Nwe4l68mdG/Ru0wcUxQjVMEoZpkalZ/SE7zog==",
- "requires": {
- "es6-templates": "0.2.3",
- "fastparse": "1.1.2",
- "html-minifier": "3.5.21",
- "loader-utils": "1.1.0",
- "object-assign": "4.1.1"
- },
- "dependencies": {
- "loader-utils": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
- "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
- "requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1"
- }
- }
- }
- },
- "html-minifier": {
- "version": "3.5.21",
- "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz",
- "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==",
- "requires": {
- "camel-case": "3.0.0",
- "clean-css": "4.2.1",
- "commander": "2.17.1",
- "he": "1.2.0",
- "param-case": "2.1.1",
- "relateurl": "0.2.7",
- "uglify-js": "3.4.9"
- },
- "dependencies": {
- "commander": {
- "version": "2.17.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
- "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg=="
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
- "uglify-js": {
- "version": "3.4.9",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
- "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
- "requires": {
- "commander": "2.17.1",
- "source-map": "0.6.1"
- }
- }
- }
- },
- "http-cache-semantics": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
- "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
- "dev": true
- },
- "http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
- "requires": {
- "depd": "1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": "1.5.0"
- }
- },
- "http-https": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/http-https/-/http-https-1.0.0.tgz",
- "integrity": "sha1-L5CN1fHbQGjAWM1ubUzjkskTOJs="
- },
- "http-parser-js": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
- "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w=="
- },
- "http-proxy": {
- "version": "1.17.0",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
- "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
- "dev": true,
- "requires": {
- "eventemitter3": "3.1.0",
- "follow-redirects": "1.5.9",
- "requires-port": "1.0.0"
- },
- "dependencies": {
- "eventemitter3": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
- "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==",
- "dev": true
- }
- }
- },
- "http-signature": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
- "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "requires": {
- "assert-plus": "1.0.0",
- "jsprim": "1.4.1",
- "sshpk": "1.15.2"
- }
- },
- "https-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
- },
- "https-proxy-agent": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
- "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
- "dev": true,
- "requires": {
- "agent-base": "4.2.1",
- "debug": "3.2.6"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "requires": {
- "ms": "2.1.1"
- }
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- }
- }
- },
- "iconv-lite": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
- "requires": {
- "safer-buffer": "2.1.2"
- }
- },
- "idna-uts46-hx": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz",
- "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==",
- "requires": {
- "punycode": "2.1.0"
- },
- "dependencies": {
- "punycode": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz",
- "integrity": "sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0="
- }
- }
- },
- "ieee754": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz",
- "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA=="
- },
- "ignore": {
- "version": "3.3.10",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
- "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
- "dev": true
- },
- "ignore-walk": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
- "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
- "dev": true,
- "requires": {
- "minimatch": "3.0.4"
- }
- },
- "immediate": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
- "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps="
- },
- "immutable": {
- "version": "3.8.2",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz",
- "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=",
- "dev": true
- },
- "import-lazy": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
- "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
- "dev": true
- },
- "imurmurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
- "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
- "dev": true
- },
- "in-publish": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
- "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
- "dev": true
- },
- "indent-string": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
- "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
- "dev": true,
- "requires": {
- "repeating": "2.0.1"
- }
- },
- "indexof": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
- "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "requires": {
- "once": "1.4.0",
- "wrappy": "1.0.2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
- },
- "ini": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
- },
- "inquirer": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
- "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
- "requires": {
- "ansi-escapes": "3.1.0",
- "chalk": "2.4.1",
- "cli-cursor": "2.1.0",
- "cli-width": "2.2.0",
- "external-editor": "2.2.0",
- "figures": "2.0.0",
- "lodash": "4.17.11",
- "mute-stream": "0.0.7",
- "run-async": "2.3.0",
- "rx-lite": "4.0.8",
- "rx-lite-aggregates": "4.0.8",
- "string-width": "2.1.1",
- "strip-ansi": "4.0.0",
- "through": "2.3.8"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
- },
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "requires": {
- "color-convert": "1.9.3"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "requires": {
- "ansi-regex": "3.0.0"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "interpret": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
- "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ="
- },
- "into-stream": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz",
- "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=",
- "dev": true,
- "requires": {
- "from2": "2.3.0",
- "p-is-promise": "1.1.0"
- }
- },
- "invariant": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
- "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
- "requires": {
- "loose-envify": "1.4.0"
- }
- },
- "invert-kv": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
- "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
- },
- "ionic": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/ionic/-/ionic-3.9.1.tgz",
- "integrity": "sha512-VJ2kx+nmOvRjUMYRuU6/XFmrnL/0A/+dt0ZPRvEx2f/StUOHRpoVG8wQJl69tvrlvSeT0OJ58GGEdYDJS/PVxw==",
- "requires": {
- "@ionic/cli-utils": "1.9.1",
- "chalk": "2.4.1",
- "opn": "5.4.0",
- "os-name": "2.0.1",
- "rimraf": "2.6.2",
- "semver": "5.6.0",
- "tslib": "1.9.3"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "requires": {
- "color-convert": "1.9.3"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "3.0.0"
- }
- }
- }
- },
- "ionic-angular": {
- "version": "3.9.2",
- "resolved": "https://registry.npmjs.org/ionic-angular/-/ionic-angular-3.9.2.tgz",
- "integrity": "sha512-BEZ6magY1i5GwM9ki/MOpszUz62+g518HsGICtw9TE1D4v9Eb6n/o7e+X0vtvpK4TdouFjQ8r5XA9VPAKW9/+Q=="
- },
- "ionic-mocks": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/ionic-mocks/-/ionic-mocks-1.3.0.tgz",
- "integrity": "sha1-OYuuJeAfI6sxttN5dU7p08S/sGY=",
- "dev": true
- },
- "ionic-plugin-deeplinks": {
- "version": "git+https://github.com/airgap-it/ionic-plugin-deeplinks.git#99ed0482b4d3992742f9b297fdb3ef4ca10a7fbd",
- "requires": {
- "mkpath": "1.0.0",
- "node-version-compare": "1.0.2",
- "plist": "3.0.1",
- "xml2js": "0.4.19"
- }
- },
- "ionic2-material-icons": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/ionic2-material-icons/-/ionic2-material-icons-1.0.3.tgz",
- "integrity": "sha1-VfZ2ofOl2YMMiIDWZgQj3EF6UjE="
- },
- "ionicons": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-3.0.0.tgz",
- "integrity": "sha1-QLja9P16MRUL0AIWD2ZJbiKpjDw="
- },
- "ios-sim": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/ios-sim/-/ios-sim-7.0.0.tgz",
- "integrity": "sha512-VloxT+AARztnhkGQcfxPjMU8puewPULVA+qzAOrK5JspiWTvi7JhBV8t19x42It+tsX35ZabF1WyUZhorLDbvQ==",
- "requires": {
- "bplist-parser": "0.0.6",
- "nopt": "1.0.9",
- "plist": "3.0.1",
- "simctl": "1.1.1"
- },
- "dependencies": {
- "bplist-parser": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz",
- "integrity": "sha1-ONo0cYF9+dRKs4kuJ3B7u9daEbk="
- },
- "nopt": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.9.tgz",
- "integrity": "sha1-O8DXy6e/sNWmdtvtfA6+SKT9RU4=",
- "requires": {
- "abbrev": "1.1.1"
- }
- }
- }
- },
- "ipaddr.js": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz",
- "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4="
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "requires": {
- "kind-of": "3.2.2"
- }
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
- },
- "is-binary-path": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
- "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
- "requires": {
- "binary-extensions": "1.12.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-builtin-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
- "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
- "requires": {
- "builtin-modules": "1.1.1"
- }
- },
- "is-callable": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
- "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
- },
- "is-ci": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz",
- "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==",
- "dev": true,
- "requires": {
- "ci-info": "1.6.0"
- }
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "requires": {
- "kind-of": "3.2.2"
- }
- },
- "is-date-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
- "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- }
- }
- },
- "is-dotfile": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz",
- "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE="
- },
- "is-equal-shallow": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz",
- "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=",
- "requires": {
- "is-primitive": "2.0.0"
- }
- },
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
- },
- "is-extglob": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz",
- "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA="
- },
- "is-finite": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
- "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
- "requires": {
- "number-is-nan": "1.0.1"
- }
- },
- "is-fullwidth-code-point": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
- "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
- "requires": {
- "number-is-nan": "1.0.1"
- }
- },
- "is-function": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz",
- "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU="
- },
- "is-glob": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz",
- "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=",
- "requires": {
- "is-extglob": "1.0.0"
- }
- },
- "is-hex-prefixed": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz",
- "integrity": "sha1-fY035q135dEnFIkTxXPggtd39VQ="
- },
- "is-installed-globally": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz",
- "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=",
- "dev": true,
- "requires": {
- "global-dirs": "0.1.1",
- "is-path-inside": "1.0.1"
- }
- },
- "is-module": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
- "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
- "dev": true
- },
- "is-my-ip-valid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz",
- "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==",
- "dev": true
- },
- "is-my-json-valid": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz",
- "integrity": "sha512-mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q==",
- "dev": true,
- "requires": {
- "generate-function": "2.3.1",
- "generate-object-property": "1.2.0",
- "is-my-ip-valid": "1.0.0",
- "jsonpointer": "4.0.1",
- "xtend": "4.0.1"
- }
- },
- "is-natural-number": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz",
- "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg="
- },
- "is-npm": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz",
- "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=",
- "dev": true
- },
- "is-number": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
- "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=",
- "requires": {
- "kind-of": "3.2.2"
- }
- },
- "is-obj": {
- "version": "1.0.1",
- "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
- "dev": true
- },
- "is-object": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz",
- "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA="
- },
- "is-path-cwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
- "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
- "dev": true
- },
- "is-path-in-cwd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
- "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
- "dev": true,
- "requires": {
- "is-path-inside": "1.0.1"
- }
- },
- "is-path-inside": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
- "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
- "dev": true,
- "requires": {
- "path-is-inside": "1.0.2"
- }
- },
- "is-plain-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "requires": {
- "isobject": "3.0.1"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
- },
- "is-posix-bracket": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz",
- "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q="
- },
- "is-primitive": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz",
- "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU="
- },
- "is-promise": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
- },
- "is-property": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
- "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=",
- "dev": true
- },
- "is-redirect": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz",
- "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=",
- "dev": true
- },
- "is-regex": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
- "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
- "requires": {
- "has": "1.0.3"
- }
- },
- "is-retry-allowed": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz",
- "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ="
- },
- "is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
- },
- "is-symbol": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
- "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
- "requires": {
- "has-symbols": "1.0.0"
- }
- },
- "is-typedarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
- },
- "is-utf8": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
- "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
- },
- "is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
- },
- "is-wsl": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
- "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0="
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
- },
- "isbinaryfile": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
- "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
- "dev": true,
- "requires": {
- "buffer-alloc": "1.2.0"
- }
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
- },
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- },
- "isstream": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
- },
- "istanbul-api": {
- "version": "1.3.7",
- "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.3.7.tgz",
- "integrity": "sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==",
- "dev": true,
- "requires": {
- "async": "2.6.1",
- "fileset": "2.0.3",
- "istanbul-lib-coverage": "1.2.1",
- "istanbul-lib-hook": "1.2.2",
- "istanbul-lib-instrument": "1.10.2",
- "istanbul-lib-report": "1.1.5",
- "istanbul-lib-source-maps": "1.2.6",
- "istanbul-reports": "1.5.1",
- "js-yaml": "3.12.0",
- "mkdirp": "0.5.1",
- "once": "1.4.0"
- }
- },
- "istanbul-instrumenter-loader": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz",
- "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==",
- "dev": true,
- "requires": {
- "convert-source-map": "1.6.0",
- "istanbul-lib-instrument": "1.10.2",
- "loader-utils": "1.1.0",
- "schema-utils": "0.3.0"
- },
- "dependencies": {
- "loader-utils": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
- "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
+ },
+ "rimraf": {
+ "version": "2.6.3",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1"
+ "glob": "7.1.3"
}
- }
- }
- },
- "istanbul-lib-coverage": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz",
- "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==",
- "dev": true
- },
- "istanbul-lib-hook": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz",
- "integrity": "sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==",
- "dev": true,
- "requires": {
- "append-transform": "0.4.0"
- }
- },
- "istanbul-lib-instrument": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz",
- "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==",
- "dev": true,
- "requires": {
- "babel-generator": "6.26.1",
- "babel-template": "6.26.0",
- "babel-traverse": "6.26.0",
- "babel-types": "6.26.0",
- "babylon": "6.18.0",
- "istanbul-lib-coverage": "1.2.1",
- "semver": "5.6.0"
- }
- },
- "istanbul-lib-report": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz",
- "integrity": "sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==",
- "dev": true,
- "requires": {
- "istanbul-lib-coverage": "1.2.1",
- "mkdirp": "0.5.1",
- "path-parse": "1.0.6",
- "supports-color": "3.2.3"
- },
- "dependencies": {
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "bundled": true,
+ "dev": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "sax": {
+ "version": "1.2.4",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "semver": {
+ "version": "5.7.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "set-blocking": {
+ "version": "2.0.0",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "signal-exit": {
+ "version": "3.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "bundled": true,
"dev": true,
"requires": {
- "has-flag": "1.0.0"
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
}
- }
- }
- },
- "istanbul-lib-source-maps": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz",
- "integrity": "sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==",
- "dev": true,
- "requires": {
- "debug": "3.2.6",
- "istanbul-lib-coverage": "1.2.1",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2",
- "source-map": "0.5.7"
- },
- "dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "bundled": true,
"dev": true,
+ "optional": true,
"requires": {
- "ms": "2.1.1"
+ "safe-buffer": "5.1.2"
}
},
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "strip-ansi": {
+ "version": "3.0.1",
+ "bundled": true,
+ "dev": true,
+ "requires": {
+ "ansi-regex": "2.1.1"
+ }
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "tar": {
+ "version": "4.4.8",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chownr": "1.1.1",
+ "fs-minipass": "1.2.5",
+ "minipass": "2.3.5",
+ "minizlib": "1.2.1",
+ "mkdirp": "0.5.1",
+ "safe-buffer": "5.1.2",
+ "yallist": "3.0.3"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true,
+ "optional": true
+ },
+ "wide-align": {
+ "version": "1.1.3",
+ "bundled": true,
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "string-width": "1.0.2"
+ }
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "bundled": true,
+ "dev": true
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "bundled": true,
"dev": true
}
}
},
- "istanbul-reports": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.5.1.tgz",
- "integrity": "sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==",
- "dev": true,
- "requires": {
- "handlebars": "4.0.12"
- }
- },
- "isurl": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isurl/-/isurl-1.0.0.tgz",
- "integrity": "sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==",
- "requires": {
- "has-to-string-tag-x": "1.4.1",
- "is-object": "1.0.1"
- }
- },
- "jasmine": {
- "version": "2.99.0",
- "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.99.0.tgz",
- "integrity": "sha1-jKctEC5jm4Z8ZImFbg4YqceqQrc=",
- "dev": true,
- "requires": {
- "exit": "0.1.2",
- "glob": "7.1.3",
- "jasmine-core": "2.99.1"
- }
- },
- "jasmine-core": {
- "version": "2.99.1",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz",
- "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=",
- "dev": true
- },
- "jasmine-spec-reporter": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz",
- "integrity": "sha512-FZBoZu7VE5nR7Nilzy+Np8KuVIOxF4oXDPDknehCYBDE080EnlPu0afdZNmpGDBRCUBv3mj5qgqCRmk6W/K8vg==",
+ "fstream": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
+ "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
"dev": true,
"requires": {
- "colors": "1.1.2"
- }
- },
- "jasminewd2": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz",
- "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=",
- "dev": true
- },
- "js-base64": {
- "version": "2.4.9",
- "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz",
- "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==",
- "dev": true
- },
- "js-beautify": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.10.0.tgz",
- "integrity": "sha512-OMwf/tPDpE/BLlYKqZOhqWsd3/z2N3KOlyn1wsCRGFwViE8LOQTcDtathQvHvZc+q+zWmcNAbwKSC+iJoMaH2Q==",
- "requires": {
- "config-chain": "1.1.12",
- "editorconfig": "0.15.3",
- "glob": "7.1.3",
+ "graceful-fs": "4.1.15",
+ "inherits": "2.0.3",
"mkdirp": "0.5.1",
- "nopt": "4.0.1"
+ "rimraf": "2.6.3"
}
},
- "js-sha3": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.7.0.tgz",
- "integrity": "sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA=="
- },
- "js-tokens": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
- "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
},
- "js-yaml": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
- "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
"dev": true,
"requires": {
- "argparse": "1.0.10",
- "esprima": "4.0.1"
- },
- "dependencies": {
- "esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
- }
+ "aproba": "1.2.0",
+ "console-control-strings": "1.1.0",
+ "has-unicode": "2.0.1",
+ "object-assign": "4.1.1",
+ "signal-exit": "3.0.2",
+ "string-width": "1.0.2",
+ "strip-ansi": "3.0.1",
+ "wide-align": "1.1.3"
}
},
- "jsbn": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
- },
- "jsesc": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
- "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s="
- },
- "json-buffer": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
- "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
- "dev": true
- },
- "json-loader": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz",
- "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w=="
- },
- "json-schema": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
- },
- "json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
- },
- "json-stable-stringify": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
- "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+ "gaze": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
+ "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+ "dev": true,
+ "optional": true,
"requires": {
- "jsonify": "0.0.0"
+ "globule": "1.2.1"
}
},
- "json-stringify-safe": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
- },
- "json3": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz",
- "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
+ "genfun": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
+ "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==",
"dev": true
},
- "json5": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
- "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE="
+ "get-caller-file": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+ "dev": true
},
- "jsonfile": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
- "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
- "requires": {
- "graceful-fs": "4.1.15"
- }
+ "get-stdin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
+ "dev": true
},
- "jsonify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
- "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+ "get-stream": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
+ "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=",
+ "dev": true
},
- "jsonpointer": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz",
- "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=",
+ "get-value": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
"dev": true
},
- "jsprim": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
- "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "dev": true,
"requires": {
- "assert-plus": "1.0.0",
- "extsprintf": "1.3.0",
- "json-schema": "0.2.3",
- "verror": "1.10.0"
+ "assert-plus": "1.0.0"
}
},
- "jszip": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz",
- "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==",
- "dev": true,
+ "glob": {
+ "version": "7.1.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+ "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
"requires": {
- "core-js": "2.3.0",
- "es6-promise": "3.0.2",
- "lie": "3.1.1",
- "pako": "1.0.6",
- "readable-stream": "2.0.6"
- },
- "dependencies": {
- "core-js": {
- "version": "2.3.0",
- "resolved": "https://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",
- "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=",
- "dev": true
- },
- "process-nextick-args": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
- "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
- "dev": true
- },
- "readable-stream": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
- "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
- "dev": true,
- "requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "1.0.7",
- "string_decoder": "0.10.31",
- "util-deprecate": "1.0.2"
- }
- },
- "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
- }
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
}
},
- "karma": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/karma/-/karma-1.7.1.tgz",
- "integrity": "sha512-k5pBjHDhmkdaUccnC7gE3mBzZjcxyxYsYVaqiL2G5AqlfLyBO5nw2VdNK+O16cveEPd/gIOWULH7gkiYYwVNHg==",
+ "glob-parent": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+ "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
"dev": true,
"requires": {
- "bluebird": "3.5.3",
- "body-parser": "1.18.3",
- "chokidar": "1.7.0",
- "colors": "1.1.2",
- "combine-lists": "1.0.1",
- "connect": "3.6.6",
- "core-js": "2.5.7",
- "di": "0.0.1",
- "dom-serialize": "2.2.1",
- "expand-braces": "0.1.2",
- "glob": "7.1.3",
- "graceful-fs": "4.1.15",
- "http-proxy": "1.17.0",
- "isbinaryfile": "3.0.3",
- "lodash": "3.10.1",
- "log4js": "0.6.38",
- "mime": "1.4.1",
- "minimatch": "3.0.4",
- "optimist": "0.6.1",
- "qjobs": "1.2.0",
- "range-parser": "1.2.0",
- "rimraf": "2.6.2",
- "safe-buffer": "5.1.2",
- "socket.io": "1.7.3",
- "source-map": "0.5.7",
- "tmp": "0.0.31",
- "useragent": "2.3.0"
+ "is-glob": "3.1.0",
+ "path-dirname": "1.0.2"
},
"dependencies": {
- "lodash": {
- "version": "3.10.1",
- "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
- "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
- "dev": true
- },
- "tmp": {
- "version": "0.0.31",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz",
- "integrity": "sha1-jzirlDjhcxXl29izZX6L+yd65Kc=",
+ "is-glob": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+ "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": {
- "os-tmpdir": "1.0.2"
+ "is-extglob": "2.1.1"
}
}
}
},
- "karma-chrome-launcher": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
- "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
+ "globals": {
+ "version": "9.18.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
+ "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
+ "dev": true
+ },
+ "globby": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
+ "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
"dev": true,
"requires": {
- "fs-access": "1.0.1",
- "which": "1.3.1"
+ "array-union": "1.0.2",
+ "dir-glob": "2.2.2",
+ "glob": "7.1.3",
+ "ignore": "3.3.10",
+ "pify": "3.0.0",
+ "slash": "1.0.0"
}
},
- "karma-coverage-istanbul-reporter": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-1.4.3.tgz",
- "integrity": "sha1-O13/RmT6W41RlrmInj9hwforgNk=",
+ "globule": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
+ "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
"dev": true,
+ "optional": true,
"requires": {
- "istanbul-api": "1.3.7",
+ "glob": "7.1.3",
+ "lodash": "4.17.11",
"minimatch": "3.0.4"
}
},
- "karma-jasmine": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz",
- "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=",
- "dev": true
- },
- "karma-sourcemap-loader": {
- "version": "0.3.7",
- "resolved": "https://registry.npmjs.org/karma-sourcemap-loader/-/karma-sourcemap-loader-0.3.7.tgz",
- "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=",
- "dev": true,
- "requires": {
- "graceful-fs": "4.1.15"
- }
+ "graceful-fs": {
+ "version": "4.1.15",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+ "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
},
- "karma-spec-reporter": {
- "version": "0.0.31",
- "resolved": "https://registry.npmjs.org/karma-spec-reporter/-/karma-spec-reporter-0.0.31.tgz",
- "integrity": "sha1-SDDccUihVcfXoYbmMjOaDYD63sM=",
- "dev": true,
- "requires": {
- "colors": "1.1.2"
- }
+ "handle-thing": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz",
+ "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==",
+ "dev": true
},
- "karma-webpack": {
- "version": "2.0.13",
- "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-2.0.13.tgz",
- "integrity": "sha512-2cyII34jfrAabbI2+4Rk4j95Nazl98FvZQhgSiqKUDarT317rxfv/EdzZ60CyATN4PQxJdO5ucR5bOOXkEVrXw==",
+ "handlebars": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz",
+ "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==",
"dev": true,
"requires": {
- "async": "2.6.1",
- "babel-runtime": "6.26.0",
- "loader-utils": "1.1.0",
- "lodash": "4.17.11",
- "source-map": "0.5.7",
- "webpack-dev-middleware": "1.12.2"
+ "neo-async": "2.6.1",
+ "optimist": "0.6.1",
+ "source-map": "0.6.1",
+ "uglify-js": "3.6.0"
},
"dependencies": {
- "loader-utils": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
- "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
- "dev": true,
- "requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1"
- }
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
}
}
},
- "keccak": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz",
- "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==",
- "requires": {
- "bindings": "1.5.0",
- "inherits": "2.0.3",
- "nan": "2.11.1",
- "safe-buffer": "5.1.2"
- }
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "dev": true
},
- "keccakjs": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.3.tgz",
- "integrity": "sha512-BjLkNDcfaZ6l8HBG9tH0tpmDv3sS2mA7FNQxFHpCdzP3Gb2MVruXBSuoM66SnVxKJpAr5dKGdkHD+bDokt8fTg==",
+ "har-validator": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+ "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+ "dev": true,
"requires": {
- "browserify-sha3": "0.0.4",
- "sha3": "1.2.2"
+ "ajv": "6.9.1",
+ "har-schema": "2.0.0"
}
},
- "keyv": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.0.0.tgz",
- "integrity": "sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==",
- "dev": true,
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"requires": {
- "json-buffer": "3.0.0"
+ "function-bind": "1.1.1"
}
},
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
"requires": {
- "is-buffer": "1.1.6"
+ "ansi-regex": "2.1.1"
}
},
- "latest-version": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz",
- "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=",
+ "has-binary2": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
+ "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==",
"dev": true,
"requires": {
- "package-json": "4.0.1"
+ "isarray": "2.0.1"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
+ "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
+ "dev": true
+ }
}
},
- "lazy-cache": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
- "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4="
+ "has-cors": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+ "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
+ "dev": true
},
- "lazy-val": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/lazy-val/-/lazy-val-1.0.3.tgz",
- "integrity": "sha512-pjCf3BYk+uv3ZcPzEVM0BFvO9Uw58TmlrU0oG5tTrr9Kcid3+kdKxapH8CjdYmVa2nO5wOoZn2rdvZx2PKj/xg==",
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "has-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q="
+ },
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
"dev": true
},
- "lazystream": {
+ "has-value": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
- "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+ "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+ "dev": true,
"requires": {
- "readable-stream": "2.3.6"
+ "get-value": "2.0.6",
+ "has-values": "1.0.0",
+ "isobject": "3.0.1"
+ }
+ },
+ "has-values": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+ "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+ "dev": true,
+ "requires": {
+ "is-number": "3.0.0",
+ "kind-of": "4.0.0"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+ "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
}
},
- "lcid": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
- "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "hash-base": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+ "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+ "dev": true,
"requires": {
- "invert-kv": "1.0.0"
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.2"
}
},
- "leek": {
- "version": "0.0.24",
- "resolved": "https://registry.npmjs.org/leek/-/leek-0.0.24.tgz",
- "integrity": "sha1-5ADlfw5g2O8r1NBo3EKKVDRdvNo=",
+ "hash.js": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
+ "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+ "dev": true,
"requires": {
- "debug": "2.6.9",
- "lodash.assign": "3.2.0",
- "rsvp": "3.6.2"
+ "inherits": "2.0.3",
+ "minimalistic-assert": "1.0.1"
}
},
- "libsodium": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.4.tgz",
- "integrity": "sha512-fTU3vUdrxQzhPAAjmTSqKk4LzYbR0OtcYjp1P92AlH50JIxXZFEIXWh1yryCmU6RLGfwS2IzBdZjbmpYf/TlyQ=="
- },
- "libsodium-wrappers": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.4.tgz",
- "integrity": "sha512-axKkW01L0q+urLeE7UMSZKWwk4LrRbi6s5pjKBAvbgDBYnsSaolK1oN/Syilm1dqJFkJQNi6qodwOp8dzSoc9Q==",
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "dev": true,
"requires": {
- "libsodium": "0.7.4"
+ "hash.js": "1.1.7",
+ "minimalistic-assert": "1.0.1",
+ "minimalistic-crypto-utils": "1.0.1"
}
},
- "lie": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
- "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=",
+ "hosted-git-info": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
+ "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
+ "dev": true
+ },
+ "hpack.js": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
+ "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=",
+ "dev": true,
"requires": {
- "immediate": "3.0.6"
+ "inherits": "2.0.3",
+ "obuf": "1.1.2",
+ "readable-stream": "2.3.6",
+ "wbuf": "1.7.3"
}
},
- "livereload-js": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz",
- "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw=="
+ "html-entities": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz",
+ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=",
+ "dev": true
},
- "load-json-file": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
- "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
- "requires": {
- "graceful-fs": "4.1.15",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1",
- "strip-bom": "2.0.0"
- }
+ "http-cache-semantics": {
+ "version": "3.8.1",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
+ "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
+ "dev": true
},
- "loader-runner": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz",
- "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw=="
+ "http-deceiver": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
+ "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=",
+ "dev": true
},
- "loader-utils": {
- "version": "0.2.17",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz",
- "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=",
+ "http-errors": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
+ "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+ "dev": true,
"requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1",
- "object-assign": "4.1.1"
+ "depd": "1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.1",
+ "statuses": "1.5.0",
+ "toidentifier": "1.0.0"
}
},
- "localforage": {
- "version": "1.7.1",
- "resolved": "http://registry.npmjs.org/localforage/-/localforage-1.7.1.tgz",
- "integrity": "sha1-5JJ+BCMCuGTbMPMhHxO1xvDell0=",
- "requires": {
- "lie": "3.1.1"
- }
+ "http-parser-js": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz",
+ "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==",
+ "dev": true
},
- "localforage-cordovasqlitedriver": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/localforage-cordovasqlitedriver/-/localforage-cordovasqlitedriver-1.7.0.tgz",
- "integrity": "sha1-i5OVd1nuaI06WNW6fAR39sy1ODg=",
+ "http-proxy": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
+ "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
+ "dev": true,
"requires": {
- "localforage": "1.7.1"
+ "eventemitter3": "3.1.2",
+ "follow-redirects": "1.7.0",
+ "requires-port": "1.0.0"
}
},
- "locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "http-proxy-agent": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
+ "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
"dev": true,
"requires": {
- "p-locate": "2.0.0",
- "path-exists": "3.0.0"
+ "agent-base": "4.2.1",
+ "debug": "3.1.0"
},
"dependencies": {
- "path-exists": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
- "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
- "dev": true
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
}
}
},
- "lodash": {
- "version": "4.17.11",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
- "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg=="
- },
- "lodash._baseassign": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz",
- "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
+ "http-proxy-middleware": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz",
+ "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==",
+ "dev": true,
"requires": {
- "lodash._basecopy": "3.0.1",
- "lodash.keys": "3.1.2"
+ "http-proxy": "1.17.0",
+ "is-glob": "4.0.1",
+ "lodash": "4.17.11",
+ "micromatch": "3.1.10"
}
},
- "lodash._basecopy": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
- "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY="
- },
- "lodash._bindcallback": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz",
- "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4="
- },
- "lodash._createassigner": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz",
- "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=",
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "dev": true,
"requires": {
- "lodash._bindcallback": "3.0.1",
- "lodash._isiterateecall": "3.0.9",
- "lodash.restparam": "3.6.1"
+ "assert-plus": "1.0.0",
+ "jsprim": "1.4.1",
+ "sshpk": "1.16.1"
}
},
- "lodash._getnative": {
- "version": "3.9.1",
- "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
- "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U="
- },
- "lodash._isiterateecall": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
- "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw="
+ "https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
+ "dev": true
},
- "lodash.assign": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz",
- "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=",
+ "https-proxy-agent": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
+ "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
+ "dev": true,
"requires": {
- "lodash._baseassign": "3.2.0",
- "lodash._createassigner": "3.1.1",
- "lodash.keys": "3.1.2"
+ "agent-base": "4.2.1",
+ "debug": "3.2.6"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
+ }
}
},
- "lodash.clonedeep": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
- "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
- "dev": true
- },
- "lodash.debounce": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
- },
- "lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=",
- "dev": true
- },
- "lodash.isarguments": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
- "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo="
- },
- "lodash.isarray": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
- "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U="
- },
- "lodash.keys": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
- "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
+ "humanize-ms": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
+ "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
+ "dev": true,
"requires": {
- "lodash._getnative": "3.9.1",
- "lodash.isarguments": "3.1.0",
- "lodash.isarray": "3.0.4"
+ "ms": "2.0.0"
}
},
- "lodash.map": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz",
- "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=",
- "dev": true
- },
- "lodash.mergewith": {
- "version": "4.6.1",
- "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
- "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
- "dev": true
- },
- "lodash.restparam": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
- "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU="
- },
- "lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
- "dev": true
- },
- "log4js": {
- "version": "0.6.38",
- "resolved": "https://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz",
- "integrity": "sha1-LElBFmldb7JUgJQ9P8hy5mKlIv0=",
+ "husky": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/husky/-/husky-2.3.0.tgz",
+ "integrity": "sha512-A/ZQSEILoq+mQM3yC3RIBSaw1bYXdkKnyyKVSUiJl+iBjVZc5LQEXdGY1ZjrDxC4IzfRPiJ0IqzEQGCN5TQa/A==",
"dev": true,
"requires": {
- "readable-stream": "1.0.34",
- "semver": "4.3.6"
+ "cosmiconfig": "5.2.1",
+ "execa": "1.0.0",
+ "find-up": "3.0.0",
+ "get-stdin": "7.0.0",
+ "is-ci": "2.0.0",
+ "pkg-dir": "4.2.0",
+ "please-upgrade-node": "3.1.1",
+ "read-pkg": "5.1.1",
+ "run-node": "1.0.0",
+ "slash": "3.0.0"
},
"dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "cosmiconfig": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
+ "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
+ "dev": true,
+ "requires": {
+ "import-fresh": "2.0.0",
+ "is-directory": "0.3.1",
+ "js-yaml": "3.13.1",
+ "parse-json": "4.0.0"
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "1.0.5",
+ "path-key": "2.0.1",
+ "semver": "5.6.0",
+ "shebang-command": "1.2.0",
+ "which": "1.3.1"
+ }
+ },
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "6.0.5",
+ "get-stream": "4.1.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "3.0.0"
+ }
+ },
+ "get-stdin": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
+ "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
+ "dev": true
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "3.0.0",
+ "path-exists": "3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
+ "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
+ "dev": true,
+ "requires": {
+ "p-try": "2.2.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "2.2.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"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=",
+ "parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "error-ex": "1.3.2",
+ "json-parse-better-errors": "1.0.2"
}
},
- "semver": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
- "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
- "dev": true
+ "pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "requires": {
+ "find-up": "4.0.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.0.0.tgz",
+ "integrity": "sha512-zoH7ZWPkRdgwYCDVoQTzqjG8JSPANhtvLhh4KVUHyKnaUJJrNeFmWIkTcNuJmR3GLMEmGYEf2S2bjgx26JTF+Q==",
+ "dev": true,
+ "requires": {
+ "locate-path": "5.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "requires": {
+ "p-locate": "4.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "requires": {
+ "p-limit": "2.2.0"
+ }
+ }
+ }
},
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "once": "1.4.0"
+ }
+ },
+ "read-pkg": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.1.1.tgz",
+ "integrity": "sha512-dFcTLQi6BZ+aFUaICg7er+/usEoqFdQxiEBsEMNGoipenihtxxtdrQuBXvyANCEI8VuUIVYFgeHGx9sLLvim4w==",
+ "dev": true,
+ "requires": {
+ "@types/normalize-package-data": "2.4.0",
+ "normalize-package-data": "2.5.0",
+ "parse-json": "4.0.0",
+ "type-fest": "0.4.1"
+ }
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true
}
}
},
- "longest": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
- "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc="
- },
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
"requires": {
- "js-tokens": "3.0.2"
+ "safer-buffer": "2.1.2"
}
},
- "loud-rejection": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "ieee754": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
+ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
+ "dev": true
+ },
+ "iferr": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
+ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
+ "dev": true
+ },
+ "ignore": {
+ "version": "3.3.10",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
+ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
+ "dev": true
+ },
+ "ignore-walk": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz",
+ "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==",
"dev": true,
"requires": {
- "currently-unhandled": "0.4.1",
- "signal-exit": "3.0.2"
+ "minimatch": "3.0.4"
}
},
- "lower-case": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz",
- "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw="
+ "image-size": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+ "dev": true,
+ "optional": true
},
- "lowercase-keys": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
- "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
+ "immediate": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+ "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=",
+ "dev": true
},
- "lru-cache": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
- "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
+ "import-cwd": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
+ "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=",
+ "dev": true,
"requires": {
- "pseudomap": "1.0.2",
- "yallist": "2.1.2"
+ "import-from": "2.1.0"
}
},
- "macos-release": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz",
- "integrity": "sha512-mmLbumEYMi5nXReB9js3WGsB8UE6cDBWyIO62Z4DNx6GbRhDxHNjA1MlzSpJ2S2KM1wyiPRA0d19uHWYYvMHjA=="
+ "import-fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+ "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+ "dev": true,
+ "requires": {
+ "caller-path": "2.0.0",
+ "resolve-from": "3.0.0"
+ }
},
- "magic-string": {
- "version": "0.22.5",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz",
- "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==",
+ "import-from": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz",
+ "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=",
"dev": true,
"requires": {
- "vlq": "0.2.3"
+ "resolve-from": "3.0.0"
}
},
- "make-dir": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
- "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+ "import-local": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz",
+ "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==",
+ "dev": true,
"requires": {
- "pify": "3.0.0"
+ "pkg-dir": "3.0.0",
+ "resolve-cwd": "2.0.0"
},
"dependencies": {
- "pify": {
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "3.0.0",
+ "path-exists": "3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
+ "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
+ "dev": true,
+ "requires": {
+ "p-try": "2.2.0"
+ }
+ },
+ "p-locate": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "2.2.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "dev": true,
+ "requires": {
+ "find-up": "3.0.0"
+ }
}
}
},
- "make-error": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
- "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==",
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"dev": true
},
- "map-age-cleaner": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
- "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+ "in-publish": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
+ "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
+ "dev": true,
+ "optional": true
+ },
+ "indent-string": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
"dev": true,
+ "optional": true,
"requires": {
- "p-defer": "1.0.0"
+ "repeating": "2.0.1"
}
},
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
- },
- "map-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
- "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "indexof": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
"dev": true
},
- "map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"requires": {
- "object-visit": "1.0.1"
+ "once": "1.4.0",
+ "wrappy": "1.0.2"
}
},
- "math-random": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz",
- "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w="
+ "inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
- "md5.js": {
+ "ini": {
"version": "1.3.5",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
- "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+ "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+ "dev": true
+ },
+ "inquirer": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz",
+ "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==",
+ "dev": true,
"requires": {
- "hash-base": "3.0.4",
- "inherits": "2.0.3",
- "safe-buffer": "5.1.2"
+ "ansi-escapes": "3.2.0",
+ "chalk": "2.4.2",
+ "cli-cursor": "2.1.0",
+ "cli-width": "2.2.0",
+ "external-editor": "3.0.3",
+ "figures": "2.0.0",
+ "lodash": "4.17.11",
+ "mute-stream": "0.0.7",
+ "run-async": "2.3.0",
+ "rxjs": "6.5.2",
+ "string-width": "2.1.1",
+ "strip-ansi": "5.2.0",
+ "through": "2.3.8"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
+ "requires": {
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+ "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "4.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+ "dev": true
+ }
+ }
+ }
}
},
- "media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
- },
- "mem": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz",
- "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=",
+ "internal-ip": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz",
+ "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==",
"dev": true,
"requires": {
- "mimic-fn": "1.2.0"
+ "default-gateway": "2.7.2",
+ "ipaddr.js": "1.9.0"
}
},
- "memory-fs": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
- "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
- "requires": {
- "errno": "0.1.7",
- "readable-stream": "2.3.6"
- }
+ "interpret": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
+ "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
+ "dev": true
},
- "meow": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
- "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
"dev": true,
"requires": {
- "camelcase-keys": "2.1.0",
- "decamelize": "1.2.0",
- "loud-rejection": "1.6.0",
- "map-obj": "1.0.1",
- "minimist": "1.2.0",
- "normalize-package-data": "2.4.0",
- "object-assign": "4.1.1",
- "read-pkg-up": "1.0.1",
- "redent": "1.0.0",
- "trim-newlines": "1.0.0"
+ "loose-envify": "1.4.0"
}
},
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
- },
- "merkle-lib": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/merkle-lib/-/merkle-lib-2.0.10.tgz",
- "integrity": "sha1-grjbrnXieneFOItz+ddyXQ9vMyY="
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+ "invert-kv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
+ "dev": true
},
- "micromatch": {
- "version": "2.3.11",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz",
- "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=",
- "requires": {
- "arr-diff": "2.0.0",
- "array-unique": "0.2.1",
- "braces": "1.8.5",
- "expand-brackets": "0.1.5",
- "extglob": "0.3.2",
- "filename-regex": "2.0.1",
- "is-extglob": "1.0.0",
- "is-glob": "2.0.1",
- "kind-of": "3.2.2",
- "normalize-path": "2.1.1",
- "object.omit": "2.0.1",
- "parse-glob": "3.0.4",
- "regex-cache": "0.4.4"
- }
+ "ionicons": {
+ "version": "4.5.8",
+ "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-4.5.8.tgz",
+ "integrity": "sha512-Zib/fFGHt+r9tWrvZnrxVj22cO4NVj+ZOb76v5yiOyvb0LSTbbReECDg7lEU8e+YR69qCtWHruStJ+b4G/OWxg=="
},
- "miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "ios-sim": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/ios-sim/-/ios-sim-8.0.1.tgz",
+ "integrity": "sha512-BdDMehHmLxbbOWAi98OZRquctkfpcVWBt3wu7FQHJ5RSuN4drY4tvhOtOzQMRy127irReTpyN4WY5kHF9iC9Ig==",
"requires": {
- "bn.js": "4.11.8",
- "brorand": "1.1.0"
+ "bplist-parser": "0.0.6",
+ "nopt": "1.0.9",
+ "plist": "3.0.1",
+ "simctl": "2.0.0"
+ },
+ "dependencies": {
+ "bplist-parser": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz",
+ "integrity": "sha1-ONo0cYF9+dRKs4kuJ3B7u9daEbk="
+ },
+ "nopt": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.9.tgz",
+ "integrity": "sha1-O8DXy6e/sNWmdtvtfA6+SKT9RU4=",
+ "requires": {
+ "abbrev": "1.1.1"
+ }
+ }
}
},
- "mime": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
- "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
+ "ip": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
+ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
+ "dev": true
},
- "mime-db": {
- "version": "1.37.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
- "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
+ "ip-regex": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz",
+ "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=",
+ "dev": true
},
- "mime-types": {
- "version": "2.1.21",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
- "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
+ "ipaddr.js": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz",
+ "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==",
+ "dev": true
+ },
+ "is-accessor-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+ "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+ "dev": true,
"requires": {
- "mime-db": "1.37.0"
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
}
},
- "mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="
+ "is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+ "dev": true
},
- "mimic-response": {
+ "is-binary-path": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
- "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
- },
- "min-document": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
- "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+ "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+ "dev": true,
"requires": {
- "dom-walk": "0.1.1"
+ "binary-extensions": "1.13.1"
}
},
- "minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true
},
- "minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
+ "is-callable": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
},
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "is-ci": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "dev": true,
"requires": {
- "brace-expansion": "1.1.11"
+ "ci-info": "2.0.0"
}
},
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+ "is-data-descriptor": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+ "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
+ "requires": {
+ "is-buffer": "1.1.6"
+ }
+ }
+ }
},
- "minipass": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz",
- "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
+ "is-date-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
+ },
+ "is-descriptor": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+ "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
"dev": true,
"requires": {
- "safe-buffer": "5.1.2",
- "yallist": "3.0.3"
+ "is-accessor-descriptor": "0.1.6",
+ "is-data-descriptor": "0.1.4",
+ "kind-of": "5.1.0"
},
"dependencies": {
- "yallist": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
- "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
"dev": true
}
}
},
- "minizlib": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.1.tgz",
- "integrity": "sha512-TrfjCjk4jLhcJyGMYymBH6oTXcWjYbUAXTHDbtnWHjZC25h0cdajHuPE1zxb4DVmu8crfh+HwH/WMuyLG0nHBg==",
+ "is-directory": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+ "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
+ "dev": true
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "is-finite": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
"dev": true,
"requires": {
- "minipass": "2.3.5"
+ "number-is-nan": "1.0.1"
}
},
- "mixin-deep": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
- "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dev": true,
"requires": {
- "for-in": "1.0.2",
- "is-extendable": "1.0.1"
+ "number-is-nan": "1.0.1"
+ }
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "2.1.1"
+ }
+ },
+ "is-number": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
},
"dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
- "is-plain-object": "2.0.4"
+ "is-buffer": "1.1.6"
}
}
}
},
- "mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "is-path-cwd": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
+ "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
+ "dev": true
+ },
+ "is-path-in-cwd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
+ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
+ "dev": true,
+ "requires": {
+ "is-path-inside": "1.0.1"
+ }
+ },
+ "is-path-inside": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
+ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
+ "dev": true,
"requires": {
- "minimist": "0.0.8"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
- }
+ "path-is-inside": "1.0.2"
}
},
- "mkdirp-promise": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz",
- "integrity": "sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE=",
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dev": true,
"requires": {
- "mkdirp": "0.5.1"
+ "isobject": "3.0.1"
}
},
- "mkpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz",
- "integrity": "sha1-67Opd+evHGg65v2hK1Raa6bFhT0="
- },
- "mock-fs": {
- "version": "4.8.0",
- "resolved": "https://registry.npmjs.org/mock-fs/-/mock-fs-4.8.0.tgz",
- "integrity": "sha512-Gwj4KnJOW15YeTJKO5frFd/WDO5Mc0zxXqL9oHx3+e9rBqW8EVARqQHSaIXznUdljrD6pvbNGW2ZGXKPEfYJfw=="
- },
- "mout": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/mout/-/mout-0.11.1.tgz",
- "integrity": "sha1-ujYR318OWx/7/QEWa48C0fX6K5k="
- },
- "mri": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.1.tgz",
- "integrity": "sha1-haom09ru7t+A3FmEr5XMXKXK2fE=",
+ "is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+ "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
"dev": true
},
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
- },
- "mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
- },
- "myetherwallet-blockies": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/myetherwallet-blockies/-/myetherwallet-blockies-0.1.1.tgz",
- "integrity": "sha512-2UPR88/+L7rTVLqTM1Fu3Er9+m6XLMGaanP5wyq5+dGyv9TFbB5ohXRJA0jeYf+30gtlOlhlvzAWtwB6BiHWxQ=="
- },
- "mz": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
- "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
+ "is-regex": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
"requires": {
- "any-promise": "1.3.0",
- "object-assign": "4.1.1",
- "thenify-all": "1.6.0"
+ "has": "1.0.3"
}
},
- "nan": {
- "version": "2.11.1",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.1.tgz",
- "integrity": "sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA=="
- },
- "nano-json-stream-parser": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz",
- "integrity": "sha1-DMj20OK2IrR5xA1JnEbWS3Vcb18="
- },
- "nanoassert": {
+ "is-stream": {
"version": "1.1.0",
- "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz",
- "integrity": "sha1-TzFS4JVA/eKMdvRLGbvNHVpCR40="
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "dev": true
},
- "nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "is-symbol": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
+ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
"requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "fragment-cache": "0.2.1",
- "is-windows": "1.0.2",
- "kind-of": "6.0.2",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- }
+ "has-symbols": "1.0.0"
}
},
- "ncp": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
- "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M="
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
},
- "needle": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.4.tgz",
- "integrity": "sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA==",
- "dev": true,
- "requires": {
- "debug": "2.6.9",
- "iconv-lite": "0.4.23",
- "sax": "1.2.4"
- }
+ "is-utf8": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+ "dev": true
},
- "negotiator": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
- "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
+ "is-windows": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "dev": true
},
- "neo-async": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz",
- "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA=="
+ "is-wsl": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
+ "dev": true
},
- "next-tick": {
+ "isarray": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
- "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
- },
- "no-case": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz",
- "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==",
+ "isbinaryfile": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
+ "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
+ "dev": true,
"requires": {
- "lower-case": "1.1.4"
+ "buffer-alloc": "1.2.0"
}
},
- "node-gyp": {
- "version": "3.8.0",
- "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
- "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ },
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+ "dev": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "dev": true
+ },
+ "istanbul-api": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.6.tgz",
+ "integrity": "sha512-x0Eicp6KsShG1k1rMgBAi/1GgY7kFGEBwQpw3PXGEmu+rBcBNhqU8g2DgY9mlepAsLPzrzrbqSgCGANnki4POA==",
"dev": true,
"requires": {
- "fstream": "1.0.11",
- "glob": "7.1.3",
- "graceful-fs": "4.1.15",
- "mkdirp": "0.5.1",
- "nopt": "3.0.6",
- "npmlog": "4.1.2",
- "osenv": "0.1.5",
- "request": "2.88.0",
- "rimraf": "2.6.2",
- "semver": "5.3.0",
- "tar": "2.2.1",
- "which": "1.3.1"
+ "async": "2.6.2",
+ "compare-versions": "3.4.0",
+ "fileset": "2.0.3",
+ "istanbul-lib-coverage": "2.0.5",
+ "istanbul-lib-hook": "2.0.7",
+ "istanbul-lib-instrument": "3.3.0",
+ "istanbul-lib-report": "2.0.8",
+ "istanbul-lib-source-maps": "3.0.6",
+ "istanbul-reports": "2.2.6",
+ "js-yaml": "3.13.1",
+ "make-dir": "2.1.0",
+ "minimatch": "3.0.4",
+ "once": "1.4.0"
},
"dependencies": {
- "nopt": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
- "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "istanbul-lib-coverage": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
+ "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
+ "dev": true
+ },
+ "istanbul-lib-instrument": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
+ "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
"dev": true,
"requires": {
- "abbrev": "1.1.1"
+ "@babel/generator": "7.4.4",
+ "@babel/parser": "7.4.5",
+ "@babel/template": "7.4.4",
+ "@babel/traverse": "7.4.5",
+ "@babel/types": "7.4.4",
+ "istanbul-lib-coverage": "2.0.5",
+ "semver": "6.1.1"
}
},
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "requires": {
+ "pify": "4.0.1",
+ "semver": "5.7.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.7.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz",
+ "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
+ "dev": true
+ }
+ }
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true
+ },
"semver": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
- "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz",
+ "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==",
"dev": true
}
}
},
- "node-libs-browser": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz",
- "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==",
+ "istanbul-instrumenter-loader": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-3.0.1.tgz",
+ "integrity": "sha512-a5SPObZgS0jB/ixaKSMdn6n/gXSrK2S6q/UfRJBT3e6gQmVjwZROTODQsYW5ZNwOu78hG62Y3fWlebaVOL0C+w==",
+ "dev": true,
"requires": {
- "assert": "1.4.1",
- "browserify-zlib": "0.2.0",
- "buffer": "4.9.1",
- "console-browserify": "1.1.0",
- "constants-browserify": "1.0.0",
- "crypto-browserify": "3.12.0",
- "domain-browser": "1.2.0",
- "events": "1.1.1",
- "https-browserify": "1.0.0",
- "os-browserify": "0.3.0",
- "path-browserify": "0.0.0",
- "process": "0.11.10",
- "punycode": "1.4.1",
- "querystring-es3": "0.2.1",
- "readable-stream": "2.3.6",
- "stream-browserify": "2.0.1",
- "stream-http": "2.8.3",
- "string_decoder": "1.1.1",
- "timers-browserify": "2.0.10",
- "tty-browserify": "0.0.0",
- "url": "0.11.0",
- "util": "0.10.4",
- "vm-browserify": "0.0.4"
+ "convert-source-map": "1.6.0",
+ "istanbul-lib-instrument": "1.10.2",
+ "loader-utils": "1.2.3",
+ "schema-utils": "0.3.0"
},
"dependencies": {
- "buffer": {
- "version": "4.9.1",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz",
- "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=",
+ "ajv": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "dev": true,
"requires": {
- "base64-js": "1.3.0",
- "ieee754": "1.1.12",
- "isarray": "1.0.0"
+ "co": "4.6.0",
+ "fast-deep-equal": "1.1.0",
+ "fast-json-stable-stringify": "2.0.0",
+ "json-schema-traverse": "0.3.1"
}
},
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+ "fast-deep-equal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+ "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
+ "dev": true
},
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ "json-schema-traverse": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+ "dev": true
+ },
+ "schema-utils": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
+ "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
+ "dev": true,
+ "requires": {
+ "ajv": "5.5.2"
+ }
}
}
},
- "node-pre-gyp": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz",
- "integrity": "sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A==",
+ "istanbul-lib-coverage": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz",
+ "integrity": "sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==",
+ "dev": true
+ },
+ "istanbul-lib-hook": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz",
+ "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==",
+ "dev": true,
+ "requires": {
+ "append-transform": "1.0.0"
+ }
+ },
+ "istanbul-lib-instrument": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz",
+ "integrity": "sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==",
+ "dev": true,
+ "requires": {
+ "babel-generator": "6.26.1",
+ "babel-template": "6.26.0",
+ "babel-traverse": "6.26.0",
+ "babel-types": "6.26.0",
+ "babylon": "6.18.0",
+ "istanbul-lib-coverage": "1.2.1",
+ "semver": "5.6.0"
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
+ "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
"dev": true,
"requires": {
- "detect-libc": "1.0.3",
- "mkdirp": "0.5.1",
- "needle": "2.2.4",
- "nopt": "4.0.1",
- "npm-packlist": "1.1.12",
- "npmlog": "4.1.2",
- "rc": "1.2.8",
- "rimraf": "2.6.2",
- "semver": "5.6.0",
- "tar": "4.4.8"
+ "istanbul-lib-coverage": "2.0.5",
+ "make-dir": "2.1.0",
+ "supports-color": "6.1.0"
},
"dependencies": {
- "tar": {
- "version": "4.4.8",
- "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.8.tgz",
- "integrity": "sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ==",
+ "istanbul-lib-coverage": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
+ "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
+ "dev": true
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
"dev": true,
"requires": {
- "chownr": "1.1.1",
- "fs-minipass": "1.2.5",
- "minipass": "2.3.5",
- "minizlib": "1.1.1",
- "mkdirp": "0.5.1",
- "safe-buffer": "5.1.2",
- "yallist": "3.0.3"
+ "pify": "4.0.1",
+ "semver": "5.6.0"
}
},
- "yallist": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
- "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
"dev": true
}
}
},
- "node-sass": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.0.tgz",
- "integrity": "sha512-QFHfrZl6lqRU3csypwviz2XLgGNOoWQbo2GOvtsfQqOfL4cy1BtWnhx/XUeAO9LT3ahBzSRXcEO6DdvAH9DzSg==",
+ "istanbul-lib-source-maps": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
+ "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
"dev": true,
"requires": {
- "async-foreach": "0.1.3",
- "chalk": "1.1.3",
- "cross-spawn": "3.0.1",
- "gaze": "1.1.3",
- "get-stdin": "4.0.1",
- "glob": "7.1.3",
- "in-publish": "2.0.0",
- "lodash.assign": "4.2.0",
- "lodash.clonedeep": "4.5.0",
- "lodash.mergewith": "4.6.1",
- "meow": "3.7.0",
- "mkdirp": "0.5.1",
- "nan": "2.11.1",
- "node-gyp": "3.8.0",
- "npmlog": "4.1.2",
- "request": "2.79.0",
- "sass-graph": "2.2.4",
- "stdout-stream": "1.4.1",
- "true-case-path": "1.0.3"
+ "debug": "4.1.1",
+ "istanbul-lib-coverage": "2.0.5",
+ "make-dir": "2.1.0",
+ "rimraf": "2.6.3",
+ "source-map": "0.6.1"
},
"dependencies": {
- "assert-plus": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
- "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
- "dev": true
- },
- "aws-sign2": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
- "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
- "dev": true
- },
- "caseless": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz",
- "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=",
- "dev": true
- },
- "commander": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
- "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
- "dev": true
- },
- "cross-spawn": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
- "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
- "dev": true,
- "requires": {
- "lru-cache": "4.1.3",
- "which": "1.3.1"
- }
- },
- "form-data": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
- "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
- "asynckit": "0.4.0",
- "combined-stream": "1.0.7",
- "mime-types": "2.1.21"
+ "ms": "2.1.1"
}
},
- "har-validator": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz",
- "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=",
- "dev": true,
- "requires": {
- "chalk": "1.1.3",
- "commander": "2.19.0",
- "is-my-json-valid": "2.19.0",
- "pinkie-promise": "2.0.1"
- }
+ "istanbul-lib-coverage": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
+ "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
+ "dev": true
},
- "http-signature": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
- "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
"dev": true,
"requires": {
- "assert-plus": "0.2.0",
- "jsprim": "1.4.1",
- "sshpk": "1.15.2"
+ "pify": "4.0.1",
+ "semver": "5.6.0"
}
},
- "lodash.assign": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
- "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true
},
- "oauth-sign": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
- "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
"dev": true
},
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
- },
- "qs": {
- "version": "6.3.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz",
- "integrity": "sha1-51vV9uJoEioqDgvaYwslUMFmUCw=",
+ }
+ }
+ },
+ "istanbul-reports": {
+ "version": "2.2.6",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz",
+ "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==",
+ "dev": true,
+ "requires": {
+ "handlebars": "4.1.2"
+ }
+ },
+ "jasmine": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz",
+ "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=",
+ "dev": true,
+ "requires": {
+ "exit": "0.1.2",
+ "glob": "7.1.3",
+ "jasmine-core": "2.8.0"
+ },
+ "dependencies": {
+ "jasmine-core": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz",
+ "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=",
+ "dev": true
+ }
+ }
+ },
+ "jasmine-core": {
+ "version": "2.99.1",
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.99.1.tgz",
+ "integrity": "sha1-5kAN8ea1bhMLYcS80JPap/boyhU=",
+ "dev": true
+ },
+ "jasmine-spec-reporter": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz",
+ "integrity": "sha512-FZBoZu7VE5nR7Nilzy+Np8KuVIOxF4oXDPDknehCYBDE080EnlPu0afdZNmpGDBRCUBv3mj5qgqCRmk6W/K8vg==",
+ "dev": true,
+ "requires": {
+ "colors": "1.1.2"
+ }
+ },
+ "jasminewd2": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz",
+ "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=",
+ "dev": true
+ },
+ "js-base64": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.1.tgz",
+ "integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
+ "dev": true,
+ "optional": true
+ },
+ "js-tokens": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
+ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.13.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+ "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+ "dev": true,
+ "requires": {
+ "argparse": "1.0.10",
+ "esprima": "4.0.1"
+ }
+ },
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "dev": true
+ },
+ "jsesc": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
+ "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
+ "dev": true
+ },
+ "json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "dev": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "json-stringify-safe": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+ "dev": true
+ },
+ "json3": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz",
+ "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==",
+ "dev": true
+ },
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "1.2.0"
+ }
+ },
+ "jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+ "requires": {
+ "graceful-fs": "4.1.15"
+ }
+ },
+ "jsonparse": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+ "dev": true
+ },
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "dev": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
+ "jszip": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.1.tgz",
+ "integrity": "sha512-iCMBbo4eE5rb1VCpm5qXOAaUiRKRUKiItn8ah2YQQx9qymmSAY98eyQfioChEYcVQLh0zxJ3wS4A0mh90AVPvw==",
+ "dev": true,
+ "requires": {
+ "lie": "3.3.0",
+ "pako": "1.0.10",
+ "readable-stream": "2.3.6",
+ "set-immediate-shim": "1.0.1"
+ }
+ },
+ "karma": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/karma/-/karma-4.1.0.tgz",
+ "integrity": "sha512-xckiDqyNi512U4dXGOOSyLKPwek6X/vUizSy2f3geYevbLj+UIdvNwbn7IwfUIL2g1GXEPWt/87qFD1fBbl/Uw==",
+ "dev": true,
+ "requires": {
+ "bluebird": "3.5.5",
+ "body-parser": "1.19.0",
+ "braces": "2.3.2",
+ "chokidar": "2.0.4",
+ "colors": "1.1.2",
+ "connect": "3.7.0",
+ "core-js": "2.6.9",
+ "di": "0.0.1",
+ "dom-serialize": "2.2.1",
+ "flatted": "2.0.0",
+ "glob": "7.1.3",
+ "graceful-fs": "4.1.15",
+ "http-proxy": "1.17.0",
+ "isbinaryfile": "3.0.3",
+ "lodash": "4.17.11",
+ "log4js": "4.3.1",
+ "mime": "2.4.3",
+ "minimatch": "3.0.4",
+ "optimist": "0.6.1",
+ "qjobs": "1.2.0",
+ "range-parser": "1.2.1",
+ "rimraf": "2.6.3",
+ "safe-buffer": "5.1.2",
+ "socket.io": "2.1.1",
+ "source-map": "0.6.1",
+ "tmp": "0.0.33",
+ "useragent": "2.3.0"
+ },
+ "dependencies": {
+ "mime": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.3.tgz",
+ "integrity": "sha512-QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==",
"dev": true
},
- "request": {
- "version": "2.79.0",
- "resolved": "http://registry.npmjs.org/request/-/request-2.79.0.tgz",
- "integrity": "sha1-Tf5b9r6LjNw3/Pk+BLZVd3InEN4=",
- "dev": true,
- "requires": {
- "aws-sign2": "0.6.0",
- "aws4": "1.8.0",
- "caseless": "0.11.0",
- "combined-stream": "1.0.7",
- "extend": "3.0.2",
- "forever-agent": "0.6.1",
- "form-data": "2.1.4",
- "har-validator": "2.0.6",
- "hawk": "3.1.3",
- "http-signature": "1.1.1",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.21",
- "oauth-sign": "0.8.2",
- "qs": "6.3.2",
- "stringstream": "0.0.6",
- "tough-cookie": "2.3.4",
- "tunnel-agent": "0.4.3",
- "uuid": "3.3.2"
- }
- },
- "tough-cookie": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
- "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
- "dev": true,
- "requires": {
- "punycode": "1.4.1"
- }
- },
- "tunnel-agent": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz",
- "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=",
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
- "node-version-compare": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/node-version-compare/-/node-version-compare-1.0.2.tgz",
- "integrity": "sha512-OVcHSPS3nROlBQXcALptOR0j2lOabC9wE2S+y+Fvr7nSDqoO/LCNzRdVGVovipeHUXs5jAqq7GelWE1X4J1sEw=="
- },
- "nopt": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
- "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+ "karma-chrome-launcher": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
+ "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
+ "dev": true,
+ "requires": {
+ "fs-access": "1.0.1",
+ "which": "1.3.1"
+ }
+ },
+ "karma-coverage-istanbul-reporter": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.0.5.tgz",
+ "integrity": "sha512-yPvAlKtY3y+rKKWbOo0CzBMVTvJEeMOgbMXuVv3yWvS8YtYKC98AU9vFF0mVBZ2RP1E9SgS90+PT6Kf14P3S4w==",
+ "dev": true,
"requires": {
- "abbrev": "1.1.1",
- "osenv": "0.1.5"
+ "istanbul-api": "2.1.6",
+ "minimatch": "3.0.4"
}
},
- "normalize-package-data": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
- "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
+ "karma-jasmine": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.1.2.tgz",
+ "integrity": "sha1-OU8rJf+0pkS5rabyLUQ+L9CIhsM=",
+ "dev": true
+ },
+ "karma-jasmine-html-reporter": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-0.2.2.tgz",
+ "integrity": "sha1-SKjl7xiAdhfuK14zwRlMNbQ5Ukw=",
+ "dev": true,
"requires": {
- "hosted-git-info": "2.7.1",
- "is-builtin-module": "1.0.0",
- "semver": "5.6.0",
- "validate-npm-package-license": "3.0.4"
+ "karma-jasmine": "1.1.2"
}
},
- "normalize-path": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "karma-source-map-support": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.3.0.tgz",
+ "integrity": "sha512-HcPqdAusNez/ywa+biN4EphGz62MmQyPggUsDfsHqa7tSe4jdsxgvTKuDfIazjL+IOxpVWyT7Pr4dhAV+sxX5Q==",
+ "dev": true,
"requires": {
- "remove-trailing-separator": "1.1.0"
+ "source-map-support": "0.5.10"
}
},
- "normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
+ "killable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
+ "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==",
"dev": true
},
- "normalize-url": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-2.0.1.tgz",
- "integrity": "sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==",
+ "kind-of": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+ "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "dev": true
+ },
+ "lcid": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+ "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+ "dev": true,
+ "requires": {
+ "invert-kv": "1.0.0"
+ }
+ },
+ "less": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/less/-/less-3.9.0.tgz",
+ "integrity": "sha512-31CmtPEZraNUtuUREYjSqRkeETFdyEHSEPAGq4erDlUXtda7pzNmctdljdIagSb589d/qXGWiiP31R5JVf+v0w==",
"dev": true,
"requires": {
- "prepend-http": "2.0.0",
- "query-string": "5.1.1",
- "sort-keys": "2.0.0"
+ "clone": "2.1.2",
+ "errno": "0.1.7",
+ "graceful-fs": "4.1.15",
+ "image-size": "0.5.5",
+ "mime": "1.6.0",
+ "mkdirp": "0.5.1",
+ "promise": "7.3.1",
+ "request": "2.88.0",
+ "source-map": "0.6.1"
},
"dependencies": {
- "prepend-http": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
- "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
- "dev": true
- },
- "sort-keys": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz",
- "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=",
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true,
- "requires": {
- "is-plain-obj": "1.1.0"
- }
+ "optional": true
}
}
},
- "npm-bundled": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.5.tgz",
- "integrity": "sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g==",
- "dev": true
- },
- "npm-conf": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/npm-conf/-/npm-conf-1.1.3.tgz",
- "integrity": "sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==",
+ "less-loader": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.1.0.tgz",
+ "integrity": "sha512-KNTsgCE9tMOM70+ddxp9yyt9iHqgmSs0yTZc5XH5Wo+g80RWRIYNqE58QJKm/yMud5wZEvz50ugRDuzVIkyahg==",
"dev": true,
"requires": {
- "config-chain": "1.1.12",
+ "clone": "2.1.2",
+ "loader-utils": "1.2.3",
"pify": "3.0.0"
- },
- "dependencies": {
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
- "dev": true
- }
}
},
- "npm-packlist": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.12.tgz",
- "integrity": "sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g==",
+ "license-webpack-plugin": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.0.tgz",
+ "integrity": "sha512-vDiBeMWxjE9n6TabQ9J4FH8urFdsRK0Nvxn1cit9biCiR9aq1zBR0X2BlAkEiIG6qPamLeU0GzvIgLkrFc398A==",
"dev": true,
"requires": {
- "ignore-walk": "3.0.1",
- "npm-bundled": "1.0.5"
+ "@types/webpack-sources": "0.1.5",
+ "webpack-sources": "1.3.0"
}
},
- "npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "lie": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
+ "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
"dev": true,
"requires": {
- "path-key": "2.0.1"
+ "immediate": "3.0.6"
}
},
- "npmlog": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
- "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "load-json-file": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
"dev": true,
"requires": {
- "are-we-there-yet": "1.1.5",
- "console-control-strings": "1.1.0",
- "gauge": "2.7.4",
- "set-blocking": "2.0.0"
+ "graceful-fs": "4.1.15",
+ "parse-json": "2.2.0",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "strip-bom": "2.0.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
}
},
- "nugget": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz",
- "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=",
+ "loader-runner": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
+ "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
+ "dev": true
+ },
+ "loader-utils": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
+ "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
"dev": true,
"requires": {
- "debug": "2.6.9",
- "minimist": "1.2.0",
- "pretty-bytes": "1.0.4",
- "progress-stream": "1.2.0",
- "request": "2.88.0",
- "single-line-log": "1.1.2",
- "throttleit": "0.0.2"
+ "big.js": "5.2.2",
+ "emojis-list": "2.1.0",
+ "json5": "1.0.1"
}
},
- "null-check": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
- "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "2.0.0",
+ "path-exists": "3.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.11",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+ "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
"dev": true
},
- "null-loader": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/null-loader/-/null-loader-0.1.1.tgz",
- "integrity": "sha1-F76av80/8OFRL2/Er8sfUDk3j64=",
+ "lodash.clonedeep": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+ "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
"dev": true
},
- "num2fraction": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
- "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
"dev": true
},
- "number-is-nan": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
- "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+ "lodash.tail": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",
+ "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=",
+ "dev": true
},
- "number-to-bn": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/number-to-bn/-/number-to-bn-1.7.0.tgz",
- "integrity": "sha1-uzYjWS9+X54AMLGXe9QaDFP+HqA=",
+ "log4js": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.3.1.tgz",
+ "integrity": "sha512-nPGS7w7kBnzNm1j8JycFxwLCbIMae8tHCo0cCdx/khB20Tcod8SZThYEB9E0c27ObcTGA1mlPowaf3hantQ/FA==",
+ "dev": true,
"requires": {
- "bn.js": "4.11.6",
- "strip-hex-prefix": "1.0.0"
+ "date-format": "2.0.0",
+ "debug": "4.1.1",
+ "flatted": "2.0.0",
+ "rfdc": "1.1.4",
+ "streamroller": "1.0.5"
},
"dependencies": {
- "bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU="
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
}
}
},
- "oauth-sign": {
- "version": "0.9.0",
- "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
+ "loglevel": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.2.tgz",
+ "integrity": "sha512-Jt2MHrCNdtIe1W6co3tF5KXGRkzF+TYffiQstfXa04mrss9IKXzAAXYWak8LbZseAQY03sH2GzMCMU0ZOUc9bg==",
+ "dev": true
},
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dev": true,
+ "requires": {
+ "js-tokens": "3.0.2"
+ }
},
- "object-component": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
- "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
+ "loud-rejection": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "currently-unhandled": "0.4.1",
+ "signal-exit": "3.0.2"
+ }
+ },
+ "lru-cache": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "dev": true,
+ "requires": {
+ "pseudomap": "1.0.2",
+ "yallist": "2.1.2"
+ }
+ },
+ "magic-string": {
+ "version": "0.25.2",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.2.tgz",
+ "integrity": "sha512-iLs9mPjh9IuTtRsqqhNGYcZXGei0Nh/A4xirrsqW7c+QhKVFL2vm7U09ru6cHRD22azaP/wMDgI+HCqbETMTtg==",
+ "dev": true,
+ "requires": {
+ "sourcemap-codec": "1.4.4"
+ }
+ },
+ "make-dir": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
+ "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
+ "dev": true,
+ "requires": {
+ "pify": "3.0.0"
+ }
+ },
+ "make-error": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
+ "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==",
"dev": true
},
- "object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+ "make-fetch-happen": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-4.0.1.tgz",
+ "integrity": "sha512-7R5ivfy9ilRJ1EMKIOziwrns9fGeAD4bAha8EB7BIiBBLHm2KeTUGCrICFt2rbHfzheTLynv50GnNTK1zDTrcQ==",
+ "dev": true,
"requires": {
- "copy-descriptor": "0.1.1",
- "define-property": "0.2.5",
- "kind-of": "3.2.2"
+ "agentkeepalive": "3.5.2",
+ "cacache": "11.3.2",
+ "http-cache-semantics": "3.8.1",
+ "http-proxy-agent": "2.1.0",
+ "https-proxy-agent": "2.2.1",
+ "lru-cache": "4.1.5",
+ "mississippi": "3.0.0",
+ "node-fetch-npm": "2.0.2",
+ "promise-retry": "1.1.1",
+ "socks-proxy-agent": "4.0.2",
+ "ssri": "6.0.1"
},
"dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "cacache": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz",
+ "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==",
+ "dev": true,
+ "requires": {
+ "bluebird": "3.5.5",
+ "chownr": "1.1.1",
+ "figgy-pudding": "3.5.1",
+ "glob": "7.1.3",
+ "graceful-fs": "4.1.15",
+ "lru-cache": "5.1.1",
+ "mississippi": "3.0.0",
+ "mkdirp": "0.5.1",
+ "move-concurrently": "1.0.1",
+ "promise-inflight": "1.0.1",
+ "rimraf": "2.6.3",
+ "ssri": "6.0.1",
+ "unique-filename": "1.1.1",
+ "y18n": "4.0.0"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "requires": {
+ "yallist": "3.0.3"
+ }
+ }
+ }
+ },
+ "mississippi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
+ "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
+ "dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "concat-stream": "1.6.2",
+ "duplexify": "3.7.1",
+ "end-of-stream": "1.4.1",
+ "flush-write-stream": "1.1.1",
+ "from2": "2.3.0",
+ "parallel-transform": "1.1.0",
+ "pump": "3.0.0",
+ "pumpify": "1.5.1",
+ "stream-each": "1.2.3",
+ "through2": "2.0.5"
+ }
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "once": "1.4.0"
+ }
+ },
+ "ssri": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
+ "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+ "dev": true,
+ "requires": {
+ "figgy-pudding": "3.5.1"
}
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
+ "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+ "dev": true
}
}
},
- "object-inspect": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
- "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ=="
+ "map-age-cleaner": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
+ "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+ "dev": true,
+ "requires": {
+ "p-defer": "1.0.0"
+ }
},
- "object-keys": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
- "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=",
+ "map-cache": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
- "object-visit": {
+ "map-obj": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "requires": {
- "isobject": "3.0.1"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
- }
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
+ "dev": true
},
- "object.omit": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz",
- "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=",
+ "map-visit": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+ "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+ "dev": true,
"requires": {
- "for-own": "0.1.5",
- "is-extendable": "0.1.1"
+ "object-visit": "1.0.1"
}
},
- "object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "md5.js": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+ "dev": true,
"requires": {
- "isobject": "3.0.1"
- },
- "dependencies": {
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
+ "hash-base": "3.0.4",
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.2"
}
},
- "objectorarray": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.3.tgz",
- "integrity": "sha512-kPoflSYkAf/Onvjr4ZLaq37vDuOXjVzfwLCRuORRzYGdXkHa/vacPT0RgR+KmtkwOYFcxTMM62BRrZk8GGKHjw==",
- "requires": {
- "tape": "4.10.1"
- }
+ "media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+ "dev": true
},
- "oboe": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.3.tgz",
- "integrity": "sha1-K0hl29Rr6BIlcT9Om/5Lz09oCk8=",
+ "mem": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
+ "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
+ "dev": true,
"requires": {
- "http-https": "1.0.0"
+ "map-age-cleaner": "0.1.3",
+ "mimic-fn": "2.1.0",
+ "p-is-promise": "2.1.0"
}
},
- "on-finished": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
- "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "memory-fs": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
+ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=",
+ "dev": true,
"requires": {
- "ee-first": "1.1.1"
+ "errno": "0.1.7",
+ "readable-stream": "2.3.6"
}
},
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "meow": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
+ "dev": true,
+ "optional": true,
"requires": {
- "wrappy": "1.0.2"
+ "camelcase-keys": "2.1.0",
+ "decamelize": "1.2.0",
+ "loud-rejection": "1.6.0",
+ "map-obj": "1.0.1",
+ "minimist": "1.2.0",
+ "normalize-package-data": "2.5.0",
+ "object-assign": "4.1.1",
+ "read-pkg-up": "1.0.1",
+ "redent": "1.0.0",
+ "trim-newlines": "1.0.0"
}
},
- "onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
- "requires": {
- "mimic-fn": "1.2.0"
- }
+ "merge-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
+ "dev": true
},
- "opn": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz",
- "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==",
+ "methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+ "dev": true,
"requires": {
- "is-wsl": "1.1.0"
+ "arr-diff": "4.0.0",
+ "array-unique": "0.3.2",
+ "braces": "2.3.2",
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "extglob": "2.0.4",
+ "fragment-cache": "0.2.1",
+ "kind-of": "6.0.2",
+ "nanomatch": "1.2.13",
+ "object.pick": "1.3.0",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
}
},
- "optimist": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
- "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
"dev": true,
"requires": {
- "minimist": "0.0.10",
- "wordwrap": "0.0.2"
- },
- "dependencies": {
- "minimist": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
- "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
- "dev": true
- }
+ "bn.js": "4.11.8",
+ "brorand": "1.1.0"
}
},
- "options": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
- "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8=",
+ "mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"dev": true
},
- "os-browserify": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
- },
- "os-homedir": {
- "version": "1.0.2",
- "resolved": "https://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",
- "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
- "requires": {
- "lcid": "1.0.0"
- }
+ "mime-db": {
+ "version": "1.40.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
+ "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
+ "dev": true
},
- "os-name": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/os-name/-/os-name-2.0.1.tgz",
- "integrity": "sha1-uaOGNhwXrjohc27wWZQFyajF3F4=",
+ "mime-types": {
+ "version": "2.1.24",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
+ "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
+ "dev": true,
"requires": {
- "macos-release": "1.1.0",
- "win-release": "1.1.1"
+ "mime-db": "1.40.0"
}
},
- "os-tmpdir": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
- "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+ "mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
},
- "osenv": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
- "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "mini-css-extract-plugin": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz",
+ "integrity": "sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw==",
+ "dev": true,
"requires": {
- "os-homedir": "1.0.2",
- "os-tmpdir": "1.0.2"
+ "loader-utils": "1.2.3",
+ "schema-utils": "1.0.0",
+ "webpack-sources": "1.3.0"
}
},
- "p-cancelable": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz",
- "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw=="
+ "minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+ "dev": true
},
- "p-defer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
- "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
"dev": true
},
- "p-event": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz",
- "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=",
- "dev": true,
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"requires": {
- "p-timeout": "1.2.1"
+ "brace-expansion": "1.1.11"
}
},
- "p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
+ "minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
},
- "p-is-promise": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz",
- "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=",
- "dev": true
+ "minipass": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz",
+ "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.2",
+ "yallist": "3.0.3"
+ },
+ "dependencies": {
+ "yallist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
+ "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+ "dev": true
+ }
+ }
},
- "p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "minizlib": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz",
+ "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==",
"dev": true,
"requires": {
- "p-try": "1.0.0"
+ "minipass": "2.3.5"
}
},
- "p-locate": {
+ "mississippi": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz",
+ "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==",
"dev": true,
"requires": {
- "p-limit": "1.3.0"
- }
- },
- "p-timeout": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz",
- "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=",
- "requires": {
- "p-finally": "1.0.0"
+ "concat-stream": "1.6.2",
+ "duplexify": "3.7.1",
+ "end-of-stream": "1.4.1",
+ "flush-write-stream": "1.1.1",
+ "from2": "2.3.0",
+ "parallel-transform": "1.1.0",
+ "pump": "2.0.1",
+ "pumpify": "1.5.1",
+ "stream-each": "1.2.3",
+ "through2": "2.0.5"
}
},
- "p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
- "dev": true
- },
- "package-json": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz",
- "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=",
+ "mixin-deep": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+ "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
"dev": true,
"requires": {
- "got": "6.7.1",
- "registry-auth-token": "3.3.2",
- "registry-url": "3.1.0",
- "semver": "5.6.0"
+ "for-in": "1.0.2",
+ "is-extendable": "1.0.1"
},
"dependencies": {
- "got": {
- "version": "6.7.1",
- "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz",
- "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=",
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
"requires": {
- "create-error-class": "3.0.2",
- "duplexer3": "0.1.4",
- "get-stream": "3.0.0",
- "is-redirect": "1.0.0",
- "is-retry-allowed": "1.1.0",
- "is-stream": "1.1.0",
- "lowercase-keys": "1.0.1",
- "safe-buffer": "5.1.2",
- "timed-out": "4.0.1",
- "unzip-response": "2.0.1",
- "url-parse-lax": "1.0.0"
+ "is-plain-object": "2.0.4"
}
}
}
},
- "pako": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz",
- "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg=="
- },
- "param-case": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
- "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=",
- "requires": {
- "no-case": "2.3.2"
- }
- },
- "parse-asn1": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz",
- "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==",
- "requires": {
- "asn1.js": "4.10.1",
- "browserify-aes": "1.2.0",
- "create-hash": "1.2.0",
- "evp_bytestokey": "1.0.3",
- "pbkdf2": "3.0.17"
- }
- },
- "parse-color": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/parse-color/-/parse-color-1.0.0.tgz",
- "integrity": "sha1-e3SLlag/A/FqlPU15S1/PZRlhhk=",
+ "mixin-object": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz",
+ "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=",
"dev": true,
"requires": {
- "color-convert": "0.5.3"
+ "for-in": "0.1.8",
+ "is-extendable": "0.1.1"
},
"dependencies": {
- "color-convert": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz",
- "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=",
+ "for-in": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz",
+ "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=",
"dev": true
}
}
},
- "parse-glob": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz",
- "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=",
+ "mkdirp": {
+ "version": "0.5.1",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "dev": true,
"requires": {
- "glob-base": "0.3.0",
- "is-dotfile": "1.0.3",
- "is-extglob": "1.0.0",
- "is-glob": "2.0.1"
+ "minimist": "0.0.8"
+ },
+ "dependencies": {
+ "minimist": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "dev": true
+ }
}
},
- "parse-headers": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz",
- "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=",
+ "move-concurrently": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
+ "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+ "dev": true,
"requires": {
- "for-each": "0.3.3",
- "trim": "0.0.1"
+ "aproba": "1.2.0",
+ "copy-concurrently": "1.0.5",
+ "fs-write-stream-atomic": "1.0.10",
+ "mkdirp": "0.5.1",
+ "rimraf": "2.6.3",
+ "run-queue": "1.0.3"
}
},
- "parse-json": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
- "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
- "requires": {
- "error-ex": "1.3.2"
- }
+ "mri": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.4.tgz",
+ "integrity": "sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==",
+ "dev": true
},
- "parse-passwd": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
- "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
- "parsejson": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.3.tgz",
- "integrity": "sha1-q343WfIJ7OmUN5c/fQ8fZK4OZKs=",
+ "multicast-dns": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz",
+ "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==",
"dev": true,
"requires": {
- "better-assert": "1.0.2"
+ "dns-packet": "1.3.1",
+ "thunky": "1.0.3"
}
},
- "parseqs": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
- "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
- "dev": true,
- "requires": {
- "better-assert": "1.0.2"
- }
+ "multicast-dns-service-types": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz",
+ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
+ "dev": true
},
- "parseuri": {
- "version": "0.0.5",
- "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
- "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
+ "multimatch": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-3.0.0.tgz",
+ "integrity": "sha512-22foS/gqQfANZ3o+W7ST2x25ueHDVNWl/b9OlGcLpy/iKxjCpvcNCM51YCenUi7Mt/jAjjqv8JwZRs8YP5sRjA==",
"dev": true,
"requires": {
- "better-assert": "1.0.2"
- }
- },
- "parseurl": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
- "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
- },
- "pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
- },
- "path-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
- "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo="
- },
- "path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
- },
- "path-exists": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
- "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
- "requires": {
- "pinkie-promise": "2.0.1"
+ "array-differ": "2.1.0",
+ "array-union": "1.0.2",
+ "arrify": "1.0.1",
+ "minimatch": "3.0.4"
}
},
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
- },
- "path-is-inside": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
- "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "mute-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
"dev": true
},
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
- },
- "path-parse": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
- "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
- },
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
- },
- "path-type": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
- "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
- "requires": {
- "graceful-fs": "4.1.15",
- "pify": "2.3.0",
- "pinkie-promise": "2.0.1"
- }
+ "nan": {
+ "version": "2.14.0",
+ "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
+ "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
+ "dev": true,
+ "optional": true
},
- "pbkdf2": {
- "version": "3.0.17",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
- "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
+ "nanomatch": {
+ "version": "1.2.13",
+ "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+ "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+ "dev": true,
"requires": {
- "create-hash": "1.2.0",
- "create-hmac": "1.1.7",
- "ripemd160": "2.0.2",
- "safe-buffer": "5.1.2",
- "sha.js": "2.4.11"
+ "arr-diff": "4.0.0",
+ "array-unique": "0.3.2",
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "fragment-cache": "0.2.1",
+ "is-windows": "1.0.2",
+ "kind-of": "6.0.2",
+ "object.pick": "1.3.0",
+ "regex-not": "1.0.2",
+ "snapdragon": "0.8.2",
+ "to-regex": "3.0.2"
}
},
- "pegjs": {
- "version": "0.10.0",
- "resolved": "https://registry.npmjs.org/pegjs/-/pegjs-0.10.0.tgz",
- "integrity": "sha1-z4uvrm7d/0tafvsYUmnqr0YQ3b0=",
+ "negotiator": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
+ "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
"dev": true
},
- "pend": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
- "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA="
- },
- "performance-now": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
- "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+ "neo-async": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
+ "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
+ "dev": true
},
- "pinkie": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
- "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
+ "nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
},
- "pinkie-promise": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
- "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "node-fetch-npm": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz",
+ "integrity": "sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw==",
+ "dev": true,
"requires": {
- "pinkie": "2.0.4"
+ "encoding": "0.1.12",
+ "json-parse-better-errors": "1.0.2",
+ "safe-buffer": "5.1.2"
}
},
- "pkg-dir": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz",
- "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=",
- "requires": {
- "find-up": "1.1.2"
- }
+ "node-forge": {
+ "version": "0.7.5",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz",
+ "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==",
+ "dev": true
},
- "plist": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
- "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
+ "node-gyp": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
+ "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
+ "dev": true,
+ "optional": true,
"requires": {
- "base64-js": "1.3.0",
- "xmlbuilder": "9.0.7",
- "xmldom": "0.1.27"
+ "fstream": "1.0.12",
+ "glob": "7.1.3",
+ "graceful-fs": "4.1.15",
+ "mkdirp": "0.5.1",
+ "nopt": "3.0.6",
+ "npmlog": "4.1.2",
+ "osenv": "0.1.5",
+ "request": "2.88.0",
+ "rimraf": "2.6.3",
+ "semver": "5.3.0",
+ "tar": "2.2.2",
+ "which": "1.3.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "dev": true,
+ "optional": true
+ }
}
},
- "posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
- },
- "postcss": {
- "version": "6.0.23",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
- "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+ "node-libs-browser": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.0.tgz",
+ "integrity": "sha512-5MQunG/oyOaBdttrL40dA7bUfPORLRWMUJLQtMg7nluxUvk5XwnLdL9twQHFAjRx/y7mIMkLKT9++qPbbk6BZA==",
"dev": true,
"requires": {
- "chalk": "2.4.1",
- "source-map": "0.6.1",
- "supports-color": "5.5.0"
+ "assert": "1.5.0",
+ "browserify-zlib": "0.2.0",
+ "buffer": "4.9.1",
+ "console-browserify": "1.1.0",
+ "constants-browserify": "1.0.0",
+ "crypto-browserify": "3.12.0",
+ "domain-browser": "1.2.0",
+ "events": "3.0.0",
+ "https-browserify": "1.0.0",
+ "os-browserify": "0.3.0",
+ "path-browserify": "0.0.0",
+ "process": "0.11.10",
+ "punycode": "1.4.1",
+ "querystring-es3": "0.2.1",
+ "readable-stream": "2.3.6",
+ "stream-browserify": "2.0.2",
+ "stream-http": "2.8.3",
+ "string_decoder": "1.1.1",
+ "timers-browserify": "2.0.10",
+ "tty-browserify": "0.0.0",
+ "url": "0.11.0",
+ "util": "0.11.1",
+ "vm-browserify": "0.0.4"
},
"dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.3"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
}
}
},
- "postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
- "dev": true
- },
- "postinstall-build": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/postinstall-build/-/postinstall-build-5.0.3.tgz",
- "integrity": "sha512-vPvPe8TKgp4FLgY3+DfxCE5PIfoXBK2lyLfNCxsRbDsV6vS4oU5RG/IWxrblMn6heagbnMED3MemUQllQ2bQUg=="
- },
- "prepend-http": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
- "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
- },
- "preserve": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz",
- "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks="
- },
- "prettier": {
- "version": "1.16.4",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.4.tgz",
- "integrity": "sha512-ZzWuos7TI5CKUeQAtFd6Zhm2s6EpAD/ZLApIhsF9pRvRtM1RFo61dM/4MSRUA0SuLugA/zgrZD8m0BaY46Og7g==",
- "dev": true
- },
- "pretty-bytes": {
- "version": "1.0.4",
- "resolved": "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz",
- "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=",
+ "node-releases": {
+ "version": "1.1.22",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.22.tgz",
+ "integrity": "sha512-O6XpteBuntW1j86mw6LlovBIwTe+sO2+7vi9avQffNeIW4upgnaCVm6xrBWH+KATz7mNNRNNeEpuWB7dT6Cr3w==",
"dev": true,
"requires": {
- "get-stdin": "4.0.1",
- "meow": "3.7.0"
+ "semver": "5.6.0"
}
},
- "pretty-quick": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-1.8.0.tgz",
- "integrity": "sha512-qV25sQF/ivJpdZ5efwemQYkQJa7sp3HqT/Vf/7z5vGYMcq1VrT2lDpFKAxJPf6219N1YAdR8mGkIhPAZ1odTmQ==",
+ "node-sass": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz",
+ "integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==",
"dev": true,
+ "optional": true,
"requires": {
- "chalk": "2.4.1",
- "execa": "0.8.0",
- "find-up": "2.1.0",
- "ignore": "3.3.10",
- "mri": "1.1.1"
+ "async-foreach": "0.1.3",
+ "chalk": "1.1.3",
+ "cross-spawn": "3.0.1",
+ "gaze": "1.1.3",
+ "get-stdin": "4.0.1",
+ "glob": "7.1.3",
+ "in-publish": "2.0.0",
+ "lodash": "4.17.11",
+ "meow": "3.7.0",
+ "mkdirp": "0.5.1",
+ "nan": "2.14.0",
+ "node-gyp": "3.8.0",
+ "npmlog": "4.1.2",
+ "request": "2.88.0",
+ "sass-graph": "2.2.4",
+ "stdout-stream": "1.4.1",
+ "true-case-path": "1.0.3"
},
"dependencies": {
"ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true,
- "requires": {
- "color-convert": "1.9.3"
- }
+ "optional": true
},
"chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
+ "optional": true,
"requires": {
- "ansi-styles": "3.2.1",
+ "ansi-styles": "2.2.1",
"escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
- }
- },
- "execa": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz",
- "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=",
- "dev": true,
- "requires": {
- "cross-spawn": "5.1.0",
- "get-stream": "3.0.0",
- "is-stream": "1.1.0",
- "npm-run-path": "2.0.2",
- "p-finally": "1.0.0",
- "signal-exit": "3.0.2",
- "strip-eof": "1.0.0"
- }
- },
- "find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
- "dev": true,
- "requires": {
- "locate-path": "2.0.0"
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
}
},
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
"supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
+ "optional": true
}
}
},
- "private": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
- "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
+ "nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "abbrev": "1.1.1"
+ }
},
- "process": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz",
- "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8="
+ "normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "requires": {
+ "hosted-git-info": "2.7.1",
+ "resolve": "1.11.0",
+ "semver": "5.6.0",
+ "validate-npm-package-license": "3.0.4"
+ }
},
- "process-nextick-args": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
- "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+ "normalize-path": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+ "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+ "dev": true,
+ "requires": {
+ "remove-trailing-separator": "1.1.0"
+ }
},
- "progress": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz",
- "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==",
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
"dev": true
},
- "progress-stream": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/progress-stream/-/progress-stream-1.2.0.tgz",
- "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=",
+ "npm-bundled": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.6.tgz",
+ "integrity": "sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g==",
+ "dev": true
+ },
+ "npm-package-arg": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz",
+ "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==",
"dev": true,
"requires": {
- "speedometer": "0.1.4",
- "through2": "0.2.3"
+ "hosted-git-info": "2.7.1",
+ "osenv": "0.1.5",
+ "semver": "5.6.0",
+ "validate-npm-package-name": "3.0.0"
}
},
- "proto-list": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
- "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk="
+ "npm-packlist": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.1.tgz",
+ "integrity": "sha512-+TcdO7HJJ8peiiYhvPxsEDhF3PJFGUGRcFsGve3vxvxdcpO2Z4Z7rkosRM0kWj6LfbK/P0gu3dzk5RU1ffvFcw==",
+ "dev": true,
+ "requires": {
+ "ignore-walk": "3.0.1",
+ "npm-bundled": "1.0.6"
+ }
},
- "protractor": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.1.tgz",
- "integrity": "sha512-ORey5ewQMYiXQxcQohsqEiKYOg/r5yJoJbt0tuROmmgajdg/CA3gTOZNIFJncUVMAJIk5YFqBBLUjKVmQO6tfA==",
+ "npm-pick-manifest": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-2.2.3.tgz",
+ "integrity": "sha512-+IluBC5K201+gRU85vFlUwX3PFShZAbAgDNp2ewJdWMVSppdo/Zih0ul2Ecky/X7b51J7LrrUAP+XOmOCvYZqA==",
"dev": true,
"requires": {
- "@types/node": "6.14.1",
- "@types/q": "0.0.32",
- "@types/selenium-webdriver": "3.0.13",
- "blocking-proxy": "1.0.1",
- "browserstack": "1.5.1",
- "chalk": "1.1.3",
- "glob": "7.1.3",
- "jasmine": "2.8.0",
- "jasminewd2": "2.2.0",
- "optimist": "0.6.1",
- "q": "1.4.1",
- "saucelabs": "1.5.0",
- "selenium-webdriver": "3.6.0",
- "source-map-support": "0.4.18",
- "webdriver-js-extender": "2.1.0",
- "webdriver-manager": "12.1.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "6.14.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-6.14.1.tgz",
- "integrity": "sha512-lfydm+Ul6buYjF6AmcenFjqVYB+tpNlGlwWLr43J1Cok4ybLQimrM8rdB1MdrjtyWdYRceZNgsAeSRZhFxNajQ==",
- "dev": true
- },
- "@types/q": {
- "version": "0.0.32",
- "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
- "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=",
- "dev": true
- },
- "jasmine": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz",
- "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=",
- "dev": true,
- "requires": {
- "exit": "0.1.2",
- "glob": "7.1.3",
- "jasmine-core": "2.8.0"
- }
- },
- "jasmine-core": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz",
- "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=",
- "dev": true
- },
- "webdriver-manager": {
- "version": "12.1.0",
- "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.0.tgz",
- "integrity": "sha512-oEc5fmkpz6Yh6udhwir5m0eN5mgRPq9P/NU5YWuT3Up5slt6Zz+znhLU7q4+8rwCZz/Qq3Fgpr/4oao7NPCm2A==",
- "dev": true,
- "requires": {
- "adm-zip": "0.4.11",
- "chalk": "1.1.3",
- "del": "2.2.2",
- "glob": "7.1.3",
- "ini": "1.3.5",
- "minimist": "1.2.0",
- "q": "1.4.1",
- "request": "2.88.0",
- "rimraf": "2.6.2",
- "semver": "5.6.0",
- "xml2js": "0.4.19"
- }
- }
+ "figgy-pudding": "3.5.1",
+ "npm-package-arg": "6.1.0",
+ "semver": "5.6.0"
}
},
- "protractor-jasmine2-screenshot-reporter": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/protractor-jasmine2-screenshot-reporter/-/protractor-jasmine2-screenshot-reporter-0.5.0.tgz",
- "integrity": "sha512-8Vno7kwR0lq0gdki9J5oKvP8o0XNXGeeNpjBBtZifg+7fpsDffrZqpPer9DhVOcIoe/axOJWnwtMwUWCQl/d1g==",
+ "npm-registry-fetch": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-3.9.0.tgz",
+ "integrity": "sha512-srwmt8YhNajAoSAaDWndmZgx89lJwIZ1GWxOuckH4Coek4uHv5S+o/l9FLQe/awA+JwTnj4FJHldxhlXdZEBmw==",
+ "dev": true,
+ "requires": {
+ "JSONStream": "1.3.5",
+ "bluebird": "3.5.5",
+ "figgy-pudding": "3.5.1",
+ "lru-cache": "4.1.5",
+ "make-fetch-happen": "4.0.1",
+ "npm-package-arg": "6.1.0"
+ }
+ },
+ "npm-run-path": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
"dev": true,
"requires": {
- "hat": "0.0.3",
- "lodash": "4.17.11",
- "mkdirp": "0.5.1",
- "rimraf": "2.6.2",
- "string.prototype.startswith": "0.2.0",
- "uuid": "2.0.3"
- },
- "dependencies": {
- "uuid": {
- "version": "2.0.3",
- "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
- "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
- "dev": true
- }
+ "path-key": "2.0.1"
}
},
- "proxy-addr": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz",
- "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==",
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dev": true,
"requires": {
- "forwarded": "0.1.2",
- "ipaddr.js": "1.8.0"
+ "are-we-there-yet": "1.1.5",
+ "console-control-strings": "1.1.0",
+ "gauge": "2.7.4",
+ "set-blocking": "2.0.0"
}
},
- "proxy-from-env": {
+ "null-check": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz",
- "integrity": "sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4=",
+ "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
+ "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
"dev": true
},
- "proxy-middleware": {
- "version": "0.15.0",
- "resolved": "https://registry.npmjs.org/proxy-middleware/-/proxy-middleware-0.15.0.tgz",
- "integrity": "sha1-o/3xvvtzD5UZZYcqwvYHTGFHelY="
+ "num2fraction": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
+ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
+ "dev": true
},
- "prr": {
+ "number-is-nan": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
- },
- "pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "dev": true
},
- "psl": {
- "version": "1.1.29",
- "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
- "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ=="
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "dev": true
},
- "public-encrypt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
- "requires": {
- "bn.js": "4.11.8",
- "browserify-rsa": "4.0.1",
- "create-hash": "1.2.0",
- "parse-asn1": "5.1.1",
- "randombytes": "2.0.6",
- "safe-buffer": "5.1.2"
- }
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
},
- "punycode": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
- "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ "object-component": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
+ "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
+ "dev": true
},
- "puppeteer": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-1.10.0.tgz",
- "integrity": "sha512-3i28X/ucX8t3eL4TZA60FLMOQNKqudFSOGDHr0cT7T4dE027CrcS885aAqjdxNybhMPliM5yImNsKJ6SQrPzhw==",
+ "object-copy": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+ "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
"dev": true,
"requires": {
- "debug": "3.2.6",
- "extract-zip": "1.6.7",
- "https-proxy-agent": "2.2.1",
- "mime": "2.3.1",
- "progress": "2.0.1",
- "proxy-from-env": "1.0.0",
- "rimraf": "2.6.2",
- "ws": "5.2.2"
+ "copy-descriptor": "0.1.1",
+ "define-property": "0.2.5",
+ "kind-of": "3.2.2"
},
"dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
- "ms": "2.1.1"
+ "is-descriptor": "0.1.6"
}
},
- "mime": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz",
- "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==",
- "dev": true
- },
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
- "dev": true
- },
- "ws": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
- "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "async-limiter": "1.0.0"
+ "is-buffer": "1.1.6"
}
}
}
},
- "pushdata-bitcoin": {
+ "object-inspect": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
+ "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ=="
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+ },
+ "object-visit": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz",
- "integrity": "sha1-FZMdPNlnreUiBvUjqnMxrvfUOvc=",
+ "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+ "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+ "dev": true,
"requires": {
- "bitcoin-ops": "1.4.1"
+ "isobject": "3.0.1"
}
},
- "q": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
- "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4="
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+ "dev": true,
+ "requires": {
+ "isobject": "3.0.1"
+ }
},
- "qjobs": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
- "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
+ "objectorarray": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.3.tgz",
+ "integrity": "sha512-kPoflSYkAf/Onvjr4ZLaq37vDuOXjVzfwLCRuORRzYGdXkHa/vacPT0RgR+KmtkwOYFcxTMM62BRrZk8GGKHjw==",
+ "requires": {
+ "tape": "4.10.2"
+ }
+ },
+ "obuf": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
+ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
"dev": true
},
- "qrcode-reader": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/qrcode-reader/-/qrcode-reader-1.0.4.tgz",
- "integrity": "sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ=="
+ "on-finished": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+ "dev": true,
+ "requires": {
+ "ee-first": "1.1.1"
+ }
},
- "qrcodejs2": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/qrcodejs2/-/qrcodejs2-0.0.2.tgz",
- "integrity": "sha1-Rlr+Xjnxn6zsuTLBH3oYYQkUauE="
+ "on-headers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+ "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
+ "dev": true
},
- "qs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "requires": {
+ "wrappy": "1.0.2"
+ }
},
- "query-string": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz",
- "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==",
+ "onetime": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "dev": true,
"requires": {
- "decode-uri-component": "0.2.0",
- "object-assign": "4.1.1",
- "strict-uri-encode": "1.1.0"
+ "mimic-fn": "1.2.0"
+ },
+ "dependencies": {
+ "mimic-fn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "dev": true
+ }
}
},
- "querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
+ "open": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-6.0.0.tgz",
+ "integrity": "sha512-/yb5mVZBz7mHLySMiSj2DcLtMBbFPJk5JBKEkHVZFxZAPzeg3L026O0T+lbdz1B2nyDnkClRSwRQJdeVUIF7zw==",
+ "dev": true,
+ "requires": {
+ "is-wsl": "1.1.0"
+ }
},
- "querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
+ "opn": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
+ "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
+ "dev": true,
+ "requires": {
+ "is-wsl": "1.1.0"
+ }
},
- "randomatic": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
- "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
+ "optimist": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+ "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+ "dev": true,
"requires": {
- "is-number": "4.0.0",
- "kind-of": "6.0.2",
- "math-random": "1.0.1"
+ "minimist": "0.0.10",
+ "wordwrap": "0.0.3"
},
"dependencies": {
- "is-number": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
- "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ=="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+ "minimist": {
+ "version": "0.0.10",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+ "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+ "dev": true
}
}
},
- "randombytes": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz",
- "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==",
+ "original": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
+ "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==",
+ "dev": true,
"requires": {
- "safe-buffer": "5.1.2"
+ "url-parse": "1.4.7"
}
},
- "randomfill": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+ "dev": true
+ },
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://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",
+ "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+ "dev": true,
+ "optional": true,
"requires": {
- "randombytes": "2.0.6",
- "safe-buffer": "5.1.2"
+ "lcid": "1.0.0"
}
},
- "randomhex": {
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+ },
+ "osenv": {
"version": "0.1.5",
- "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz",
- "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU="
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "requires": {
+ "os-homedir": "1.0.2",
+ "os-tmpdir": "1.0.2"
+ }
},
- "range-parser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
- "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
+ "p-defer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
+ "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
+ "dev": true
+ },
+ "p-finally": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+ "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+ "dev": true
+ },
+ "p-is-promise": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
+ "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
+ "dev": true
},
- "raw-body": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
- "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
"requires": {
- "bytes": "3.0.0",
- "http-errors": "1.6.3",
- "iconv-lite": "0.4.23",
- "unpipe": "1.0.0"
+ "p-try": "1.0.0"
}
},
- "rc": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
- "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
"dev": true,
"requires": {
- "deep-extend": "0.6.0",
- "ini": "1.3.5",
- "minimist": "1.2.0",
- "strip-json-comments": "2.0.1"
- }
- },
- "read-config-file": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-3.2.0.tgz",
- "integrity": "sha512-i1QRc5jy4sHm9YBGb6ArA5SU1mDrc5wu2mnm3r9gPnm+LVZhBGbpTCKqAXyvV4TJHnBR3Yaaww+9b3DyRZcfww==",
- "dev": true,
- "requires": {
- "ajv": "6.5.5",
- "ajv-keywords": "3.2.0",
- "bluebird-lst": "1.0.6",
- "dotenv": "6.1.0",
- "dotenv-expand": "4.2.0",
- "fs-extra-p": "7.0.0",
- "js-yaml": "3.12.0",
- "json5": "2.1.0",
- "lazy-val": "1.0.3"
- },
- "dependencies": {
- "ajv-keywords": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz",
- "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=",
- "dev": true
- },
- "json5": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
- "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
- "dev": true,
- "requires": {
- "minimist": "1.2.0"
- }
- }
+ "p-limit": "1.3.0"
}
},
- "read-pkg": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
- "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
- "requires": {
- "load-json-file": "1.1.0",
- "normalize-package-data": "2.4.0",
- "path-type": "1.1.0"
- }
+ "p-map": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz",
+ "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==",
+ "dev": true
},
- "read-pkg-up": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
- "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
- "requires": {
- "find-up": "1.1.2",
- "read-pkg": "1.1.0"
- }
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
},
- "readable-stream": {
- "version": "2.3.6",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
- "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "pacote": {
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.4.0.tgz",
+ "integrity": "sha512-WQ1KL/phGMkedYEQx9ODsjj7xvwLSpdFJJdEXrLyw5SILMxcTNt5DTxT2Z93fXuLFYJBlZJdnwdalrQdB/rX5w==",
+ "dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "1.0.0",
- "process-nextick-args": "2.0.0",
+ "bluebird": "3.5.5",
+ "cacache": "11.3.2",
+ "figgy-pudding": "3.5.1",
+ "get-stream": "4.1.0",
+ "glob": "7.1.3",
+ "lru-cache": "5.1.1",
+ "make-fetch-happen": "4.0.1",
+ "minimatch": "3.0.4",
+ "minipass": "2.3.5",
+ "mississippi": "3.0.0",
+ "mkdirp": "0.5.1",
+ "normalize-package-data": "2.5.0",
+ "npm-package-arg": "6.1.0",
+ "npm-packlist": "1.4.1",
+ "npm-pick-manifest": "2.2.3",
+ "npm-registry-fetch": "3.9.0",
+ "osenv": "0.1.5",
+ "promise-inflight": "1.0.1",
+ "promise-retry": "1.1.1",
+ "protoduck": "5.0.1",
+ "rimraf": "2.6.3",
"safe-buffer": "5.1.2",
- "string_decoder": "1.1.1",
- "util-deprecate": "1.0.2"
- }
- },
- "readdirp": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
- "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
- "requires": {
- "graceful-fs": "4.1.15",
- "micromatch": "3.1.10",
- "readable-stream": "2.3.6"
+ "semver": "5.6.0",
+ "ssri": "6.0.1",
+ "tar": "4.4.9",
+ "unique-filename": "1.1.1",
+ "which": "1.3.1"
},
"dependencies": {
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
- },
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "requires": {
- "arr-flatten": "1.1.0",
- "array-unique": "0.3.2",
- "extend-shallow": "2.0.1",
- "fill-range": "4.0.0",
- "isobject": "3.0.1",
- "repeat-element": "1.1.3",
- "snapdragon": "0.8.2",
- "snapdragon-node": "2.1.1",
- "split-string": "3.1.0",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+ "cacache": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz",
+ "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==",
+ "dev": true,
"requires": {
- "debug": "2.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "posix-character-classes": "0.1.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "0.1.6"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
- }
- },
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- }
+ "bluebird": "3.5.5",
+ "chownr": "1.1.1",
+ "figgy-pudding": "3.5.1",
+ "glob": "7.1.3",
+ "graceful-fs": "4.1.15",
+ "lru-cache": "5.1.1",
+ "mississippi": "3.0.0",
+ "mkdirp": "0.5.1",
+ "move-concurrently": "1.0.1",
+ "promise-inflight": "1.0.1",
+ "rimraf": "2.6.3",
+ "ssri": "6.0.1",
+ "unique-filename": "1.1.1",
+ "y18n": "4.0.0"
}
},
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
"requires": {
- "array-unique": "0.3.2",
- "define-property": "1.0.0",
- "expand-brackets": "2.1.4",
- "extend-shallow": "2.0.1",
- "fragment-cache": "0.2.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "1.0.2"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
+ "pump": "3.0.0"
}
},
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
"requires": {
- "extend-shallow": "2.0.1",
- "is-number": "3.0.0",
- "repeat-string": "1.6.1",
- "to-regex-range": "2.1.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
+ "yallist": "3.0.3"
}
},
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "mississippi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
+ "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
+ "dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "concat-stream": "1.6.2",
+ "duplexify": "3.7.1",
+ "end-of-stream": "1.4.1",
+ "flush-write-stream": "1.1.1",
+ "from2": "2.3.0",
+ "parallel-transform": "1.1.0",
+ "pump": "3.0.0",
+ "pumpify": "1.5.1",
+ "stream-each": "1.2.3",
+ "through2": "2.0.5"
}
},
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
"requires": {
- "kind-of": "6.0.2"
+ "end-of-stream": "1.4.1",
+ "once": "1.4.0"
}
},
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "ssri": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
+ "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+ "dev": true,
"requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
+ "figgy-pudding": "3.5.1"
}
},
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+ "tar": {
+ "version": "4.4.9",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.9.tgz",
+ "integrity": "sha512-xisFa7Q2i3HOgfn+nmnWLGHD6Tm23hxjkx6wwGmgxkJFr6wxwXnJOdJYcZjL453PSdF0+bemO03+flAzkIdLBQ==",
+ "dev": true,
"requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
+ "chownr": "1.1.1",
+ "fs-minipass": "1.2.6",
+ "minipass": "2.3.5",
+ "minizlib": "1.2.1",
+ "mkdirp": "0.5.1",
+ "safe-buffer": "5.1.2",
+ "yallist": "3.0.3"
}
},
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
- "braces": "2.3.2",
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "extglob": "2.0.4",
- "fragment-cache": "0.2.1",
- "kind-of": "6.0.2",
- "nanomatch": "1.2.13",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- }
+ "yallist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
+ "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+ "dev": true
}
}
},
- "recast": {
- "version": "0.11.23",
- "resolved": "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz",
- "integrity": "sha1-RR/TAEqx5N+bTktmN2sqIZEkYtM=",
- "requires": {
- "ast-types": "0.9.6",
- "esprima": "3.1.3",
- "private": "0.1.8",
- "source-map": "0.5.7"
- }
+ "pako": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
+ "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==",
+ "dev": true
+ },
+ "parallel-transform": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
+ "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
+ "dev": true,
+ "requires": {
+ "cyclist": "0.2.2",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6"
+ }
+ },
+ "parse-asn1": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz",
+ "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==",
+ "dev": true,
+ "requires": {
+ "asn1.js": "4.10.1",
+ "browserify-aes": "1.2.0",
+ "create-hash": "1.2.0",
+ "evp_bytestokey": "1.0.3",
+ "pbkdf2": "3.0.17",
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "parse-json": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+ "dev": true,
+ "requires": {
+ "error-ex": "1.3.2"
+ }
+ },
+ "parse5": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
+ "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==",
+ "dev": true
+ },
+ "parseqs": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
+ "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
+ "dev": true,
+ "requires": {
+ "better-assert": "1.0.2"
+ }
+ },
+ "parseuri": {
+ "version": "0.0.5",
+ "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+ "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
+ "dev": true,
+ "requires": {
+ "better-assert": "1.0.2"
+ }
+ },
+ "parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "dev": true
+ },
+ "pascalcase": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+ "dev": true
+ },
+ "path-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
+ "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=",
+ "dev": true
+ },
+ "path-dirname": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+ "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
},
- "redent": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
- "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
- "dev": true,
- "requires": {
- "indent-string": "2.1.0",
- "strip-indent": "1.0.1"
- }
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
},
- "reflect-metadata": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.12.tgz",
- "integrity": "sha512-n+IyV+nGz3+0q3/Yf1ra12KpCyi001bi4XFxSjbiWWjfqb52iTTtpGXmCCAOWWIAn9KEuFZKGqBERHmrtScZ3A=="
+ "path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
+ "dev": true
},
- "regenerate": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
- "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
+ "path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
},
- "regenerator-runtime": {
- "version": "0.12.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
- "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
},
- "regenerator-transform": {
- "version": "0.10.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz",
- "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==",
+ "path-to-regexp": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
+ "dev": true
+ },
+ "path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
"requires": {
- "babel-runtime": "6.26.0",
- "babel-types": "6.26.0",
- "private": "0.1.8"
+ "pify": "3.0.0"
}
},
- "regex-cache": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz",
- "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==",
+ "pbkdf2": {
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
+ "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
+ "dev": true,
"requires": {
- "is-equal-shallow": "0.1.3"
+ "create-hash": "1.2.0",
+ "create-hmac": "1.1.7",
+ "ripemd160": "2.0.2",
+ "safe-buffer": "5.1.2",
+ "sha.js": "2.4.11"
}
},
- "regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "dev": true
+ },
+ "pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "dev": true
+ },
+ "pinkie": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+ "dev": true
+ },
+ "pinkie-promise": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+ "dev": true,
"requires": {
- "extend-shallow": "3.0.2",
- "safe-regex": "1.1.0"
+ "pinkie": "2.0.4"
}
},
- "regexpu-core": {
+ "pkg-dir": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
- "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
+ "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
+ "dev": true,
"requires": {
- "regenerate": "1.4.0",
- "regjsgen": "0.2.0",
- "regjsparser": "0.1.5"
+ "find-up": "2.1.0"
}
},
- "registry-auth-token": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz",
- "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==",
+ "please-upgrade-node": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz",
+ "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==",
"dev": true,
"requires": {
- "rc": "1.2.8",
- "safe-buffer": "5.1.2"
+ "semver-compare": "1.0.0"
}
},
- "registry-url": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz",
- "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=",
- "dev": true,
+ "plist": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/plist/-/plist-3.0.1.tgz",
+ "integrity": "sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ==",
"requires": {
- "rc": "1.2.8"
+ "base64-js": "1.3.0",
+ "xmlbuilder": "9.0.7",
+ "xmldom": "0.1.27"
}
},
- "regjsgen": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
- "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc="
- },
- "regjsparser": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
- "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "portfinder": {
+ "version": "1.0.20",
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz",
+ "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==",
+ "dev": true,
"requires": {
- "jsesc": "0.5.0"
+ "async": "1.5.2",
+ "debug": "2.6.9",
+ "mkdirp": "0.5.1"
},
"dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
+ "async": {
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+ "dev": true
}
}
},
- "relateurl": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
- "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
- },
- "remove-trailing-separator": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
- "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
- },
- "repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
- },
- "repeat-string": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
- "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+ "posix-character-classes": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+ "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+ "dev": true
},
- "repeating": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
- "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "postcss": {
+ "version": "7.0.14",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.14.tgz",
+ "integrity": "sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg==",
+ "dev": true,
"requires": {
- "is-finite": "1.0.2"
+ "chalk": "2.4.2",
+ "source-map": "0.6.1",
+ "supports-color": "6.1.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ }
}
},
- "request": {
- "version": "2.88.0",
- "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
- "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+ "postcss-import": {
+ "version": "12.0.1",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz",
+ "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==",
+ "dev": true,
"requires": {
- "aws-sign2": "0.7.0",
- "aws4": "1.8.0",
- "caseless": "0.12.0",
- "combined-stream": "1.0.7",
- "extend": "3.0.2",
- "forever-agent": "0.6.1",
- "form-data": "2.3.3",
- "har-validator": "5.1.3",
- "http-signature": "1.2.0",
- "is-typedarray": "1.0.0",
- "isstream": "0.1.2",
- "json-stringify-safe": "5.0.1",
- "mime-types": "2.1.21",
- "oauth-sign": "0.9.0",
- "performance-now": "2.1.0",
- "qs": "6.5.2",
- "safe-buffer": "5.1.2",
- "tough-cookie": "2.4.3",
- "tunnel-agent": "0.6.0",
- "uuid": "3.3.2"
+ "postcss": "7.0.14",
+ "postcss-value-parser": "3.3.1",
+ "read-cache": "1.0.0",
+ "resolve": "1.11.0"
}
},
- "require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
- },
- "require-main-filename": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
- "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
- },
- "requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
- "dev": true
- },
- "resolve": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz",
- "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==",
+ "postcss-load-config": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz",
+ "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==",
"dev": true,
"requires": {
- "path-parse": "1.0.6"
+ "cosmiconfig": "4.0.0",
+ "import-cwd": "2.1.0"
}
},
- "resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
- },
- "responselike": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
- "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+ "postcss-loader": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz",
+ "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==",
"dev": true,
"requires": {
- "lowercase-keys": "1.0.1"
+ "loader-utils": "1.2.3",
+ "postcss": "7.0.14",
+ "postcss-load-config": "2.0.0",
+ "schema-utils": "1.0.0"
}
},
- "restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
- "requires": {
- "onetime": "2.0.1",
- "signal-exit": "3.0.2"
- }
+ "postcss-value-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
+ "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
+ "dev": true
},
- "resumer": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
- "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
+ "prettier": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.17.1.tgz",
+ "integrity": "sha512-TzGRNvuUSmPgwivDqkZ9tM/qTGW9hqDKWOE9YHiyQdixlKbv7kvEqsmDPrcHJTKwthU774TQwZXVtaQ/mMsvjg==",
+ "dev": true
+ },
+ "pretty-quick": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-1.11.0.tgz",
+ "integrity": "sha512-hy0yOSnqVykrgoHcCcB72p3B5ERQJcjQI6ExeSGSTFE2cDrPwCQtFb3kXA1F+jUPrbt7orra8U+fjS/Emjgpuw==",
+ "dev": true,
"requires": {
- "through": "2.3.8"
+ "chalk": "2.4.2",
+ "execa": "0.8.0",
+ "find-up": "2.1.0",
+ "ignore": "3.3.10",
+ "mri": "1.1.4",
+ "multimatch": "3.0.0"
+ },
+ "dependencies": {
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true,
+ "requires": {
+ "lru-cache": "4.1.5",
+ "shebang-command": "1.2.0",
+ "which": "1.3.1"
+ }
+ },
+ "execa": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz",
+ "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=",
+ "dev": true,
+ "requires": {
+ "cross-spawn": "5.1.0",
+ "get-stream": "3.0.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
+ }
+ }
}
},
- "ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+ "dev": true
},
- "right-align": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
- "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+ "promise": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "dev": true,
+ "optional": true,
"requires": {
- "align-text": "0.1.4"
+ "asap": "2.0.6"
}
},
- "right-pad": {
+ "promise-inflight": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/right-pad/-/right-pad-1.0.1.tgz",
- "integrity": "sha1-jKCMLLtbVedNr6lr9/0aJ9VoyNA=",
+ "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
+ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
"dev": true
},
- "rimraf": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
- "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+ "promise-retry": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz",
+ "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=",
+ "dev": true,
"requires": {
- "glob": "7.1.3"
+ "err-code": "1.1.2",
+ "retry": "0.10.1"
}
},
- "ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "protoduck": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz",
+ "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==",
+ "dev": true,
"requires": {
- "hash-base": "3.0.4",
- "inherits": "2.0.3"
+ "genfun": "5.0.0"
}
},
- "rlp": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.3.tgz",
- "integrity": "sha512-l6YVrI7+d2vpW6D6rS05x2Xrmq8oW7v3pieZOJKBEdjuTF4Kz/iwk55Zyh1Zaz+KOB2kC8+2jZlp2u9L4tTzCQ==",
+ "protractor": {
+ "version": "5.4.2",
+ "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.2.tgz",
+ "integrity": "sha512-zlIj64Cr6IOWP7RwxVeD8O4UskLYPoyIcg0HboWJL9T79F1F0VWtKkGTr/9GN6BKL+/Q/GmM7C9kFVCfDbP5sA==",
+ "dev": true,
"requires": {
- "bn.js": "4.11.8",
- "safe-buffer": "5.1.2"
+ "@types/q": "0.0.32",
+ "@types/selenium-webdriver": "3.0.16",
+ "blocking-proxy": "1.0.1",
+ "browserstack": "1.5.2",
+ "chalk": "1.1.3",
+ "glob": "7.1.3",
+ "jasmine": "2.8.0",
+ "jasminewd2": "2.2.0",
+ "optimist": "0.6.1",
+ "q": "1.4.1",
+ "saucelabs": "1.5.0",
+ "selenium-webdriver": "3.6.0",
+ "source-map-support": "0.4.18",
+ "webdriver-js-extender": "2.1.0",
+ "webdriver-manager": "12.1.4"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "2.2.1",
+ "escape-string-regexp": "1.0.5",
+ "has-ansi": "2.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "2.0.0"
+ }
+ },
+ "del": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
+ "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
+ "dev": true,
+ "requires": {
+ "globby": "5.0.0",
+ "is-path-cwd": "1.0.0",
+ "is-path-in-cwd": "1.0.1",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1",
+ "rimraf": "2.6.3"
+ }
+ },
+ "globby": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
+ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
+ "dev": true,
+ "requires": {
+ "array-union": "1.0.2",
+ "arrify": "1.0.1",
+ "glob": "7.1.3",
+ "object-assign": "4.1.1",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ },
+ "source-map-support": {
+ "version": "0.4.18",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+ "dev": true,
+ "requires": {
+ "source-map": "0.5.7"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ },
+ "webdriver-manager": {
+ "version": "12.1.4",
+ "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.4.tgz",
+ "integrity": "sha512-aNUzdimlHSl3EotUTdE2QwP9sBUjZgWPCy8C+m1wMmF9jBDKuO/24nnpr2O25Db8dYtsjvj9drPTpSIGqRrNnQ==",
+ "dev": true,
+ "requires": {
+ "adm-zip": "0.4.13",
+ "chalk": "1.1.3",
+ "del": "2.2.2",
+ "glob": "7.1.3",
+ "ini": "1.3.5",
+ "minimist": "1.2.0",
+ "q": "1.4.1",
+ "request": "2.88.0",
+ "rimraf": "2.6.3",
+ "semver": "5.6.0",
+ "xml2js": "0.4.19"
+ }
+ }
+ }
+ },
+ "proxy-addr": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz",
+ "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==",
+ "dev": true,
+ "requires": {
+ "forwarded": "0.1.2",
+ "ipaddr.js": "1.9.0"
}
},
- "rollup": {
- "version": "0.50.0",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.50.0.tgz",
- "integrity": "sha512-7RqCBQ9iwsOBPkjYgoIaeUij606mSkDMExP0NT7QDI3bqkHYQHrQ83uoNIXwPcQm/vP2VbsUz3kiyZZ1qPlLTQ==",
+ "prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
+ "dev": true
+ },
+ "pseudomap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+ "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+ "dev": true
+ },
+ "psl": {
+ "version": "1.1.32",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.32.tgz",
+ "integrity": "sha512-MHACAkHpihU/REGGPLj4sEfc/XKW2bheigvHO1dUqjaKigMp1C8+WLQYRGgeKFMsw5PMfegZcaN8IDXK/cD0+g==",
"dev": true
},
- "rollup-plugin-commonjs": {
- "version": "8.2.6",
- "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-8.2.6.tgz",
- "integrity": "sha512-qK0+uhktmnAgZkHkqFuajNmPw93fjrO7+CysDaxWE5jrUR9XSlSvuao5ZJP+XizxA8weakhgYYBtbVz9SGBpjA==",
+ "public-encrypt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
"dev": true,
"requires": {
- "acorn": "5.7.3",
- "estree-walker": "0.5.2",
- "magic-string": "0.22.5",
- "resolve": "1.8.1",
- "rollup-pluginutils": "2.3.3"
+ "bn.js": "4.11.8",
+ "browserify-rsa": "4.0.1",
+ "create-hash": "1.2.0",
+ "parse-asn1": "5.1.4",
+ "randombytes": "2.1.0",
+ "safe-buffer": "5.1.2"
}
},
- "rollup-plugin-node-resolve": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.0.0.tgz",
- "integrity": "sha1-i4l8TDAw1QASd7BRSyXSygloPuA=",
+ "pump": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
+ "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
"dev": true,
"requires": {
- "browser-resolve": "1.11.3",
- "builtin-modules": "1.1.1",
- "is-module": "1.0.0",
- "resolve": "1.8.1"
+ "end-of-stream": "1.4.1",
+ "once": "1.4.0"
}
},
- "rollup-pluginutils": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.3.3.tgz",
- "integrity": "sha512-2XZwja7b6P5q4RZ5FhyX1+f46xi1Z3qBKigLRZ6VTZjwbN0K1IFGMlwm06Uu0Emcre2Z63l77nq/pzn+KxIEoA==",
+ "pumpify": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
+ "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
"dev": true,
"requires": {
- "estree-walker": "0.5.2",
- "micromatch": "2.3.11"
+ "duplexify": "3.7.1",
+ "inherits": "2.0.3",
+ "pump": "2.0.1"
}
},
- "rsvp": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz",
- "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw=="
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
},
- "run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "requires": {
- "is-promise": "2.1.0"
- }
+ "q": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
+ "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4="
},
- "rx-lite": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
- "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ="
+ "qjobs": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
+ "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
+ "dev": true
},
- "rx-lite-aggregates": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz",
- "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=",
- "requires": {
- "rx-lite": "4.0.8"
- }
+ "qs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+ "dev": true
},
- "rxjs": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.2.tgz",
- "integrity": "sha512-oRYoIKWBU3Ic37fLA5VJu31VqQO4bWubRntcHSJ+cwaDQBwdnZ9x4zmhJfm/nFQ2E82/I4loSioHnACamrKGgA==",
- "requires": {
- "symbol-observable": "1.2.0"
- }
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "dev": true
},
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+ "dev": true
},
- "safe-json-parse": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
- "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c="
+ "querystringify": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz",
+ "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==",
+ "dev": true
},
- "safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
"requires": {
- "ret": "0.1.15"
+ "safe-buffer": "5.1.2"
}
},
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "sanitize-filename": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.1.tgz",
- "integrity": "sha1-YS2hyWRz+gLczaktzVtKsWSmdyo=",
+ "randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
"dev": true,
"requires": {
- "truncate-utf8-bytes": "1.0.2"
+ "randombytes": "2.1.0",
+ "safe-buffer": "5.1.2"
}
},
- "sass-graph": {
- "version": "2.2.4",
- "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
- "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
+ "range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "dev": true
+ },
+ "raw-body": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
+ "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
"dev": true,
"requires": {
- "glob": "7.1.3",
- "lodash": "4.17.11",
- "scss-tokenizer": "0.2.3",
- "yargs": "7.1.0"
+ "bytes": "3.1.0",
+ "http-errors": "1.7.2",
+ "iconv-lite": "0.4.24",
+ "unpipe": "1.0.0"
},
"dependencies": {
- "camelcase": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
- "dev": true
- },
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "dev": true,
- "requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wrap-ansi": "2.1.0"
- }
- },
- "yargs": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
- "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
- "dev": true,
- "requires": {
- "camelcase": "3.0.0",
- "cliui": "3.2.0",
- "decamelize": "1.2.0",
- "get-caller-file": "1.0.3",
- "os-locale": "1.4.0",
- "read-pkg-up": "1.0.1",
- "require-directory": "2.1.1",
- "require-main-filename": "1.0.1",
- "set-blocking": "2.0.0",
- "string-width": "1.0.2",
- "which-module": "1.0.0",
- "y18n": "3.2.1",
- "yargs-parser": "5.0.0"
- }
- },
- "yargs-parser": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
- "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
- "dev": true,
- "requires": {
- "camelcase": "3.0.0"
- }
+ "bytes": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
+ "dev": true
}
}
},
- "saucelabs": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz",
- "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==",
+ "raw-loader": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-1.0.0.tgz",
+ "integrity": "sha512-Uqy5AqELpytJTRxYT4fhltcKPj0TyaEpzJDcGz7DFJi+pQOOi3GjR/DOdxTkTsF+NzhnldIoG6TORaBlInUuqA==",
"dev": true,
"requires": {
- "https-proxy-agent": "2.2.1"
+ "loader-utils": "1.2.3",
+ "schema-utils": "1.0.0"
}
},
- "sax": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
- "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
+ "read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=",
+ "dev": true,
+ "requires": {
+ "pify": "2.3.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
+ "dev": true
+ }
+ }
},
- "schema-utils": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
- "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=",
+ "read-pkg": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
"dev": true,
"requires": {
- "ajv": "5.5.2"
+ "load-json-file": "1.1.0",
+ "normalize-package-data": "2.5.0",
+ "path-type": "1.1.0"
},
"dependencies": {
- "ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "path-type": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
"dev": true,
"requires": {
- "co": "4.6.0",
- "fast-deep-equal": "1.1.0",
- "fast-json-stable-stringify": "2.0.0",
- "json-schema-traverse": "0.3.1"
+ "graceful-fs": "4.1.15",
+ "pify": "2.3.0",
+ "pinkie-promise": "2.0.1"
}
},
- "fast-deep-equal": {
- "version": "1.1.0",
- "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
- "dev": true
- },
- "json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
}
}
},
- "scrypt": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/scrypt/-/scrypt-6.0.3.tgz",
- "integrity": "sha1-BOAUpWgrU/pQwtXM4WfXGcBthw0=",
+ "read-pkg-up": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+ "dev": true,
"requires": {
- "nan": "2.11.1"
+ "find-up": "1.1.2",
+ "read-pkg": "1.1.0"
+ },
+ "dependencies": {
+ "find-up": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+ "dev": true,
+ "requires": {
+ "path-exists": "2.1.0",
+ "pinkie-promise": "2.0.1"
+ }
+ },
+ "path-exists": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+ "dev": true,
+ "requires": {
+ "pinkie-promise": "2.0.1"
+ }
+ }
}
},
- "scrypt-js": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz",
- "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q="
- },
- "scrypt.js": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/scrypt.js/-/scrypt.js-0.2.0.tgz",
- "integrity": "sha1-r40UZbcemZARC+38WTuUeeA6ito=",
+ "readable-stream": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+ "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+ "dev": true,
"requires": {
- "scrypt": "6.0.3",
- "scryptsy": "1.2.1"
+ "core-util-is": "1.0.2",
+ "inherits": "2.0.3",
+ "isarray": "1.0.0",
+ "process-nextick-args": "2.0.0",
+ "safe-buffer": "5.1.2",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
}
},
- "scryptsy": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-1.2.1.tgz",
- "integrity": "sha1-oyJfpLJST4AnAHYeKFW987LZIWM=",
+ "readdirp": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+ "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+ "dev": true,
"requires": {
- "pbkdf2": "3.0.17"
+ "graceful-fs": "4.1.15",
+ "micromatch": "3.1.10",
+ "readable-stream": "2.3.6"
}
},
- "scss-tokenizer": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
- "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
+ "rechoir": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+ "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
"dev": true,
"requires": {
- "js-base64": "2.4.9",
- "source-map": "0.4.4"
- },
- "dependencies": {
- "source-map": {
- "version": "0.4.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
- "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
- "dev": true,
- "requires": {
- "amdefine": "1.0.1"
- }
- }
+ "resolve": "1.11.0"
}
},
- "sdp": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/sdp/-/sdp-1.5.4.tgz",
- "integrity": "sha1-jgOPbdsUvXZa4fS1IW4SCUUR4NA="
- },
- "secp256k1": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.7.1.tgz",
- "integrity": "sha512-1cf8sbnRreXrQFdH6qsg2H71Xw91fCCS9Yp021GnUNJzWJS/py96fS4lHbnTnouLp08Xj6jBoBB6V78Tdbdu5g==",
+ "redent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
+ "dev": true,
+ "optional": true,
"requires": {
- "bindings": "1.5.0",
- "bip66": "1.1.5",
- "bn.js": "4.11.8",
- "create-hash": "1.2.0",
- "drbg.js": "1.0.1",
- "elliptic": "6.4.1",
- "nan": "2.14.0",
- "safe-buffer": "5.1.2"
- },
- "dependencies": {
- "nan": {
- "version": "2.14.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
- "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
- }
+ "indent-string": "2.1.0",
+ "strip-indent": "1.0.1"
}
},
- "secrets.js-grempe": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/secrets.js-grempe/-/secrets.js-grempe-1.1.0.tgz",
- "integrity": "sha1-uztgbdaGN8okRoGhD97mxRIEkpQ="
+ "reflect-metadata": {
+ "version": "0.1.13",
+ "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
+ "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==",
+ "dev": true
},
- "secure-random": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/secure-random/-/secure-random-1.1.2.tgz",
- "integrity": "sha512-H2bdSKERKdBV1SwoqYm6C0y+9EA94v6SUBOWO8kDndc4NoUih7Dv6Tsgma7zO1lv27wIvjlD0ZpMQk7um5dheQ=="
+ "regenerate": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+ "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+ "dev": true
},
- "seek-bzip": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz",
- "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=",
- "requires": {
- "commander": "2.8.1"
- }
+ "regenerator-runtime": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+ "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+ "dev": true
},
- "selenium-webdriver": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz",
- "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==",
+ "regex-not": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+ "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
"dev": true,
"requires": {
- "jszip": "3.1.5",
- "rimraf": "2.6.2",
- "tmp": "0.0.30",
- "xml2js": "0.4.19"
- },
- "dependencies": {
- "tmp": {
- "version": "0.0.30",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
- "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
- "dev": true,
- "requires": {
- "os-tmpdir": "1.0.2"
- }
- }
+ "extend-shallow": "3.0.2",
+ "safe-regex": "1.1.0"
}
},
- "semver": {
- "version": "5.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
- "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
- },
- "semver-diff": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz",
- "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=",
+ "regexpu-core": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
+ "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
"dev": true,
"requires": {
- "semver": "5.6.0"
+ "regenerate": "1.4.0",
+ "regjsgen": "0.2.0",
+ "regjsparser": "0.1.5"
}
},
- "send": {
- "version": "0.16.2",
- "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
- "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
+ "regjsgen": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+ "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+ "dev": true
+ },
+ "regjsparser": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+ "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+ "dev": true,
"requires": {
- "debug": "2.6.9",
- "depd": "1.1.2",
- "destroy": "1.0.4",
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "etag": "1.8.1",
- "fresh": "0.5.2",
- "http-errors": "1.6.3",
- "mime": "1.4.1",
- "ms": "2.0.0",
- "on-finished": "2.3.0",
- "range-parser": "1.2.0",
- "statuses": "1.4.0"
+ "jsesc": "0.5.0"
},
"dependencies": {
- "statuses": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
- "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
+ "jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "dev": true
}
}
},
- "serve-static": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
- "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
+ "remove-trailing-separator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+ "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+ "dev": true
+ },
+ "repeat-element": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+ "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+ "dev": true
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+ "dev": true
+ },
+ "repeating": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
+ "dev": true,
"requires": {
- "encodeurl": "1.0.2",
- "escape-html": "1.0.3",
- "parseurl": "1.3.2",
- "send": "0.16.2"
+ "is-finite": "1.0.2"
}
},
- "serviceworker-cache-polyfill": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/serviceworker-cache-polyfill/-/serviceworker-cache-polyfill-4.0.0.tgz",
- "integrity": "sha1-3hnuc77yGrPAdAo3sz22JGS6ves="
- },
- "servify": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz",
- "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==",
+ "request": {
+ "version": "2.88.0",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
+ "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+ "dev": true,
"requires": {
- "body-parser": "1.18.3",
- "cors": "2.8.5",
- "express": "4.16.4",
- "request": "2.88.0",
- "xhr": "2.5.0"
+ "aws-sign2": "0.7.0",
+ "aws4": "1.8.0",
+ "caseless": "0.12.0",
+ "combined-stream": "1.0.8",
+ "extend": "3.0.2",
+ "forever-agent": "0.6.1",
+ "form-data": "2.3.3",
+ "har-validator": "5.1.3",
+ "http-signature": "1.2.0",
+ "is-typedarray": "1.0.0",
+ "isstream": "0.1.2",
+ "json-stringify-safe": "5.0.1",
+ "mime-types": "2.1.24",
+ "oauth-sign": "0.9.0",
+ "performance-now": "2.1.0",
+ "qs": "6.5.2",
+ "safe-buffer": "5.1.2",
+ "tough-cookie": "2.4.3",
+ "tunnel-agent": "0.6.0",
+ "uuid": "3.3.2"
}
},
- "set-blocking": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
- "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+ "require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+ "dev": true
},
- "set-value": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
- "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
- "requires": {
- "extend-shallow": "2.0.1",
- "is-extendable": "0.1.1",
- "is-plain-object": "2.0.4",
- "split-string": "3.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
},
- "setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU="
+ "require-main-filename": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+ "dev": true
},
- "setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+ "dev": true
},
- "sha.js": {
- "version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "resolve": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz",
+ "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==",
+ "dev": true,
"requires": {
- "inherits": "2.0.3",
- "safe-buffer": "5.1.2"
+ "path-parse": "1.0.6"
}
},
- "sha1": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
- "integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=",
+ "resolve-cwd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz",
+ "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=",
+ "dev": true,
"requires": {
- "charenc": "0.0.2",
- "crypt": "0.0.2"
+ "resolve-from": "3.0.0"
}
},
- "sha256": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/sha256/-/sha256-0.1.1.tgz",
- "integrity": "sha1-NClvkEmNo+jGsG//6Ohg26KZ+QI=",
- "requires": {
- "convert-hex": "0.1.0",
- "convert-string": "0.1.0"
- }
+ "resolve-from": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+ "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+ "dev": true
},
- "sha3": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/sha3/-/sha3-1.2.2.tgz",
- "integrity": "sha1-pmxQmN5MJbyIM27ItIF9AFvKe6k=",
+ "resolve-url": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+ "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+ "dev": true
+ },
+ "restore-cursor": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "dev": true,
"requires": {
- "nan": "2.10.0"
- },
- "dependencies": {
- "nan": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
- "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA=="
- }
+ "onetime": "2.0.1",
+ "signal-exit": "3.0.2"
}
},
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "resumer": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
+ "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
"requires": {
- "shebang-regex": "1.0.0"
+ "through": "2.3.8"
}
},
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
- },
- "shelljs": {
- "version": "0.5.3",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
- "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM="
- },
- "sigmund": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
- "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA="
- },
- "signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+ "ret": {
+ "version": "0.1.15",
+ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "dev": true
},
- "simctl": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/simctl/-/simctl-1.1.1.tgz",
- "integrity": "sha512-yY1WQMq/pneY5jQb2+lFp45qEtcz4yKBu1NOPo2OFDVCkwSkQhpkoaAaO1fWhq4IU0+8TQ2r1PMGSTedP0A/Og==",
- "requires": {
- "shelljs": "0.2.6",
- "tail": "0.4.0"
- },
- "dependencies": {
- "shelljs": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz",
- "integrity": "sha1-kEktcv/MgVmXa6umL7D2iE8MM3g="
- }
- }
+ "retry": {
+ "version": "0.10.1",
+ "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
+ "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
+ "dev": true
},
- "simple-concat": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz",
- "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY="
+ "rfdc": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz",
+ "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==",
+ "dev": true
},
- "simple-get": {
- "version": "2.8.1",
- "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz",
- "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==",
+ "rimraf": {
+ "version": "2.6.3",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
+ "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
+ "dev": true,
"requires": {
- "decompress-response": "3.3.0",
- "once": "1.4.0",
- "simple-concat": "1.0.0"
+ "glob": "7.1.3"
}
},
- "simple-plist": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-0.2.1.tgz",
- "integrity": "sha1-cXZts1IyaSjPOoByQrp2IyJjZyM=",
+ "ripemd160": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
"dev": true,
"requires": {
- "bplist-creator": "0.0.7",
- "bplist-parser": "0.1.1",
- "plist": "2.0.1"
- },
- "dependencies": {
- "base64-js": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.1.2.tgz",
- "integrity": "sha1-1kAMrBxMZgl22Q0HoENR2JOV9eg=",
- "dev": true
- },
- "plist": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/plist/-/plist-2.0.1.tgz",
- "integrity": "sha1-CjLKlIGxw2TpLhjcVch23p0B2os=",
- "dev": true,
- "requires": {
- "base64-js": "1.1.2",
- "xmlbuilder": "8.2.2",
- "xmldom": "0.1.27"
- }
- },
- "xmlbuilder": {
- "version": "8.2.2",
- "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
- "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=",
- "dev": true
- }
+ "hash-base": "3.0.4",
+ "inherits": "2.0.3"
}
},
- "single-line-log": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.2.tgz",
- "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=",
+ "run-async": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
+ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
"dev": true,
"requires": {
- "string-width": "1.0.2"
+ "is-promise": "2.1.0"
}
},
- "slash": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
- "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
- },
- "slice-ansi": {
+ "run-node": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
- "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
- "requires": {
- "is-fullwidth-code-point": "2.0.0"
- },
- "dependencies": {
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
- }
- }
- },
- "slugify": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.3.1.tgz",
- "integrity": "sha512-6BwyhjF5tG5P8s+0DPNyJmBSBePG6iMyhjvIW5zGdA3tFik9PtK+yNkZgTeiroCRGZYgkHftFA62tGVK1EI9Kw==",
+ "resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz",
+ "integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==",
"dev": true
},
- "snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "run-queue": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
+ "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+ "dev": true,
"requires": {
- "base": "0.11.2",
- "debug": "2.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "map-cache": "0.2.2",
- "source-map": "0.5.7",
- "source-map-resolve": "0.5.2",
- "use": "3.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "0.1.6"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
+ "aproba": "1.2.0"
}
},
- "snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "rxjs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz",
+ "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==",
"requires": {
- "define-property": "1.0.0",
- "isobject": "3.0.1",
- "snapdragon-util": "3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "1.0.2"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
- }
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- }
+ "tslib": "1.9.3"
}
},
- "snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true
+ },
+ "safe-regex": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+ "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+ "dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "ret": "0.1.15"
}
},
- "sntp": {
- "version": "1.0.9",
- "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
- "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "sass-graph": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
+ "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
"dev": true,
+ "optional": true,
"requires": {
- "hoek": "2.16.3"
+ "glob": "7.1.3",
+ "lodash": "4.17.11",
+ "scss-tokenizer": "0.2.3",
+ "yargs": "7.1.0"
}
},
- "socket.io": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.7.3.tgz",
- "integrity": "sha1-uK+cq6AJSeVo42nxMn6pvp6iRhs=",
+ "sass-loader": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz",
+ "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==",
"dev": true,
"requires": {
- "debug": "2.3.3",
- "engine.io": "1.8.3",
- "has-binary": "0.1.7",
- "object-assign": "4.1.0",
- "socket.io-adapter": "0.5.0",
- "socket.io-client": "1.7.3",
- "socket.io-parser": "2.3.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
- "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
- "dev": true,
- "requires": {
- "ms": "0.7.2"
- }
- },
- "ms": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
- "dev": true
- },
- "object-assign": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
- "integrity": "sha1-ejs9DpgGPUP0wD8uiubNUahog6A=",
- "dev": true
- }
+ "clone-deep": "2.0.2",
+ "loader-utils": "1.2.3",
+ "lodash.tail": "4.1.1",
+ "neo-async": "2.6.1",
+ "pify": "3.0.0",
+ "semver": "5.6.0"
}
},
- "socket.io-adapter": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz",
- "integrity": "sha1-y21LuL7IHhB4uZZ3+c7QBGBmu4s=",
+ "saucelabs": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz",
+ "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==",
"dev": true,
"requires": {
- "debug": "2.3.3",
- "socket.io-parser": "2.3.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
- "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
- "dev": true,
- "requires": {
- "ms": "0.7.2"
- }
- },
- "ms": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
- "dev": true
- }
+ "https-proxy-agent": "2.2.1"
}
},
- "socket.io-client": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.7.3.tgz",
- "integrity": "sha1-sw6GqhDV7zVGYBwJzeR2Xjgdo3c=",
+ "sax": {
+ "version": "0.5.8",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz",
+ "integrity": "sha1-1HLbIo6zMcJQaw6MFVJK25OdEsE=",
+ "dev": true
+ },
+ "schema-utils": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
+ "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
"dev": true,
"requires": {
- "backo2": "1.0.2",
- "component-bind": "1.0.0",
- "component-emitter": "1.2.1",
- "debug": "2.3.3",
- "engine.io-client": "1.8.3",
- "has-binary": "0.1.7",
- "indexof": "0.0.1",
- "object-component": "0.0.3",
- "parseuri": "0.0.5",
- "socket.io-parser": "2.3.1",
- "to-array": "0.1.4"
- },
- "dependencies": {
- "debug": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz",
- "integrity": "sha1-QMRT5n5uE8kB3ewxeviYbNqe/4w=",
- "dev": true,
- "requires": {
- "ms": "0.7.2"
- }
- },
- "ms": {
- "version": "0.7.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz",
- "integrity": "sha1-riXPJRKziFodldfwN4aNhDESR2U=",
- "dev": true
- }
+ "ajv": "6.9.1",
+ "ajv-errors": "1.0.1",
+ "ajv-keywords": "3.4.0"
}
},
- "socket.io-parser": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.3.1.tgz",
- "integrity": "sha1-3VMgJRA85Clpcya+/WQAX8/ltKA=",
+ "scss-tokenizer": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
+ "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
"dev": true,
+ "optional": true,
"requires": {
- "component-emitter": "1.1.2",
- "debug": "2.2.0",
- "isarray": "0.0.1",
- "json3": "3.3.2"
+ "js-base64": "2.5.1",
+ "source-map": "0.4.4"
},
"dependencies": {
- "component-emitter": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz",
- "integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM=",
- "dev": true
- },
- "debug": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
- "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
+ "optional": true,
"requires": {
- "ms": "0.7.1"
+ "amdefine": "1.0.1"
}
- },
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
- "dev": true
- },
- "ms": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
- "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=",
- "dev": true
}
}
},
- "sonarqube-scanner": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/sonarqube-scanner/-/sonarqube-scanner-2.1.2.tgz",
- "integrity": "sha512-4Sf01R7zOnR3YTofaQI5HH6UTz46l0kUov7cJvWmhD9Hi+U16komI/e61GjOyC2JrVrFiWqFsO/o15ceHbKd/Q==",
+ "select-hose": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
+ "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=",
+ "dev": true
+ },
+ "selenium-webdriver": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz",
+ "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==",
"dev": true,
"requires": {
- "download": "7.0.0",
- "extend": "3.0.1",
- "fancy-log": "1.3.2",
- "lodash.get": "4.4.2",
- "lodash.uniq": "4.5.0",
- "mkdirp": "0.5.1",
- "progress": "2.0.1",
- "read-pkg": "2.0.0",
- "slugify": "1.3.1"
+ "jszip": "3.2.1",
+ "rimraf": "2.6.3",
+ "tmp": "0.0.30",
+ "xml2js": "0.4.19"
},
"dependencies": {
- "extend": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
- "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
- "dev": true
- },
- "load-json-file": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
- "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
- "dev": true,
- "requires": {
- "graceful-fs": "4.1.15",
- "parse-json": "2.2.0",
- "pify": "2.3.0",
- "strip-bom": "3.0.0"
- }
- },
- "path-type": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
- "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
- "dev": true,
- "requires": {
- "pify": "2.3.0"
- }
- },
- "read-pkg": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
- "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
+ "tmp": {
+ "version": "0.0.30",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
+ "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
"dev": true,
"requires": {
- "load-json-file": "2.0.0",
- "normalize-package-data": "2.4.0",
- "path-type": "2.0.0"
+ "os-tmpdir": "1.0.2"
}
- },
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true
}
}
},
- "sort-keys": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
- "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
- "dev": true,
- "requires": {
- "is-plain-obj": "1.1.0"
- }
- },
- "sort-keys-length": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz",
- "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=",
+ "selfsigned": {
+ "version": "1.10.4",
+ "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz",
+ "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==",
"dev": true,
"requires": {
- "sort-keys": "1.1.2"
- }
- },
- "source-list-map": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
- "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw=="
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
- },
- "source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
- "requires": {
- "atob": "2.1.2",
- "decode-uri-component": "0.2.0",
- "resolve-url": "0.2.1",
- "source-map-url": "0.4.0",
- "urix": "0.1.0"
- }
- },
- "source-map-support": {
- "version": "0.4.18",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
- "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
- "requires": {
- "source-map": "0.5.7"
+ "node-forge": "0.7.5"
}
},
- "source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
- },
- "spdx-correct": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz",
- "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==",
- "requires": {
- "spdx-expression-parse": "3.0.0",
- "spdx-license-ids": "3.0.2"
- }
+ "semver": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+ "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg=="
},
- "spdx-exceptions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
- "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA=="
+ "semver-compare": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
+ "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
+ "dev": true
},
- "spdx-expression-parse": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
- "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+ "semver-dsl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz",
+ "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=",
+ "dev": true,
"requires": {
- "spdx-exceptions": "2.2.0",
- "spdx-license-ids": "3.0.2"
+ "semver": "5.6.0"
}
},
- "spdx-license-ids": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz",
- "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg=="
- },
- "speedometer": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz",
- "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=",
- "dev": true
- },
- "split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "semver-intersect": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz",
+ "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==",
+ "dev": true,
"requires": {
- "extend-shallow": "3.0.2"
+ "semver": "5.6.0"
}
},
- "sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
- "dev": true
- },
- "ssh-config": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/ssh-config/-/ssh-config-1.1.3.tgz",
- "integrity": "sha1-KxljCvhbFmZoi51o9uQhiQD4H4w="
- },
- "sshpk": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz",
- "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==",
+ "send": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
+ "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+ "dev": true,
"requires": {
- "asn1": "0.2.4",
- "assert-plus": "1.0.0",
- "bcrypt-pbkdf": "1.0.2",
- "dashdash": "1.14.1",
- "ecc-jsbn": "0.1.2",
- "getpass": "0.1.7",
- "jsbn": "0.1.1",
- "safer-buffer": "2.1.2",
- "tweetnacl": "0.14.5"
+ "debug": "2.6.9",
+ "depd": "1.1.2",
+ "destroy": "1.0.4",
+ "encodeurl": "1.0.2",
+ "escape-html": "1.0.3",
+ "etag": "1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "1.7.2",
+ "mime": "1.6.0",
+ "ms": "2.1.1",
+ "on-finished": "2.3.0",
+ "range-parser": "1.2.1",
+ "statuses": "1.5.0"
},
"dependencies": {
- "tweetnacl": {
- "version": "0.14.5",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
}
}
},
- "stat-mode": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz",
- "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=",
+ "serialize-javascript": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz",
+ "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==",
"dev": true
},
- "static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "serve-index": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
+ "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=",
+ "dev": true,
"requires": {
- "define-property": "0.2.5",
- "object-copy": "0.1.0"
+ "accepts": "1.3.7",
+ "batch": "0.6.1",
+ "debug": "2.6.9",
+ "escape-html": "1.0.3",
+ "http-errors": "1.6.3",
+ "mime-types": "2.1.24",
+ "parseurl": "1.3.3"
},
"dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "http-errors": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+ "dev": true,
"requires": {
- "is-descriptor": "0.1.6"
+ "depd": "1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
+ "statuses": "1.5.0"
}
+ },
+ "setprototypeof": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+ "dev": true
}
}
},
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
- },
- "stdout-stream": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
- "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
+ "serve-static": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
+ "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
"dev": true,
"requires": {
- "readable-stream": "2.3.6"
- }
- },
- "stream-browserify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz",
- "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=",
- "requires": {
- "inherits": "2.0.3",
- "readable-stream": "2.3.6"
- }
- },
- "stream-buffers": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
- "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ="
- },
- "stream-http": {
- "version": "2.8.3",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
- "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
- "requires": {
- "builtin-status-codes": "3.0.0",
- "inherits": "2.0.3",
- "readable-stream": "2.3.6",
- "to-arraybuffer": "1.0.1",
- "xtend": "4.0.1"
+ "encodeurl": "1.0.2",
+ "escape-html": "1.0.3",
+ "parseurl": "1.3.3",
+ "send": "0.17.1"
}
},
- "strict-uri-encode": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
- "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
+ "set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "dev": true
},
- "string-template": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
- "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0="
+ "set-immediate-shim": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
+ "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
+ "dev": true
},
- "string-width": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
- "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "set-value": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+ "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+ "dev": true,
"requires": {
- "code-point-at": "1.1.0",
- "is-fullwidth-code-point": "1.0.0",
- "strip-ansi": "3.0.1"
+ "extend-shallow": "2.0.1",
+ "is-extendable": "0.1.1",
+ "is-plain-object": "2.0.4",
+ "split-string": "3.1.0"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
+ "requires": {
+ "is-extendable": "0.1.1"
+ }
+ }
}
},
- "string.prototype.startswith": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/string.prototype.startswith/-/string.prototype.startswith-0.2.0.tgz",
- "integrity": "sha1-2miYLjU6TprEpDtFCiBF0cRFrns=",
+ "setimmediate": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
"dev": true
},
- "string.prototype.trim": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz",
- "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=",
- "requires": {
- "define-properties": "1.1.3",
- "es-abstract": "1.13.0",
- "function-bind": "1.1.1"
- }
- },
- "string_decoder": {
+ "setprototypeof": {
"version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "requires": {
- "safe-buffer": "5.1.2"
- }
- },
- "stringstream": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
- "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
+ "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
"dev": true
},
- "strip-ansi": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
- "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "sha.js": {
+ "version": "2.4.11",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "dev": true,
"requires": {
- "ansi-regex": "2.1.1"
+ "inherits": "2.0.3",
+ "safe-buffer": "5.1.2"
}
},
- "strip-bom": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
- "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "shallow-clone": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz",
+ "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==",
+ "dev": true,
"requires": {
- "is-utf8": "0.2.1"
+ "is-extendable": "0.1.1",
+ "kind-of": "5.1.0",
+ "mixin-object": "2.0.1"
+ },
+ "dependencies": {
+ "kind-of": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+ "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+ "dev": true
+ }
}
},
- "strip-dirs": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz",
- "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==",
+ "shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"requires": {
- "is-natural-number": "4.0.1"
+ "shebang-regex": "1.0.0"
}
},
- "strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
- "dev": true
- },
- "strip-hex-prefix": {
+ "shebang-regex": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz",
- "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=",
- "requires": {
- "is-hex-prefixed": "1.0.0"
- }
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
},
- "strip-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
- "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "shelljs": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz",
+ "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==",
"dev": true,
"requires": {
- "get-stdin": "4.0.1"
+ "glob": "7.1.3",
+ "interpret": "1.2.0",
+ "rechoir": "0.6.2"
}
},
- "strip-json-comments": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
- "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "signal-exit": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
- "strip-outer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
- "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
- "dev": true,
+ "simctl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/simctl/-/simctl-2.0.0.tgz",
+ "integrity": "sha512-5rB7rN4N3b0z0nFdy9eczVssXqrv2aAgdVRksPVqVoiDtvXmfzNvebp3EMdId2sAUzXIflarQlx4P0hjVQEzKQ==",
"requires": {
- "escape-string-regexp": "1.0.5"
+ "shelljs": "0.2.6",
+ "tail": "0.4.0"
+ },
+ "dependencies": {
+ "shelljs": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz",
+ "integrity": "sha1-kEktcv/MgVmXa6umL7D2iE8MM3g="
+ }
}
},
- "sumchecker": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-2.0.2.tgz",
- "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=",
- "dev": true,
+ "simple-plist": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.0.0.tgz",
+ "integrity": "sha512-043L2rO80LVF7zfZ+fqhsEkoJFvW8o59rt/l4ctx1TJWoTx7/jkiS1R5TatD15Z1oYnuLJytzE7gcnnBuIPL2g==",
"requires": {
- "debug": "2.6.9"
+ "bplist-creator": "0.0.7",
+ "bplist-parser": "0.1.1",
+ "plist": "3.0.1"
}
},
- "superagent": {
- "version": "3.8.3",
- "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
- "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
+ "slash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
+ "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+ "dev": true
+ },
+ "smart-buffer": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.2.tgz",
+ "integrity": "sha512-JDhEpTKzXusOqXZ0BUIdH+CjFdO/CR3tLlf5CN34IypI+xMmXW1uB16OOY8z3cICbJlDAVJzNbwBhNO0wt9OAw==",
+ "dev": true
+ },
+ "snapdragon": {
+ "version": "0.8.2",
+ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+ "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+ "dev": true,
"requires": {
- "component-emitter": "1.2.1",
- "cookiejar": "2.1.2",
- "debug": "3.2.6",
- "extend": "3.0.2",
- "form-data": "2.3.3",
- "formidable": "1.2.1",
- "methods": "1.1.2",
- "mime": "1.4.1",
- "qs": "6.5.2",
- "readable-stream": "2.3.6"
+ "base": "0.11.2",
+ "debug": "2.6.9",
+ "define-property": "0.2.5",
+ "extend-shallow": "2.0.1",
+ "map-cache": "0.2.2",
+ "source-map": "0.5.7",
+ "source-map-resolve": "0.5.2",
+ "use": "3.1.1"
},
"dependencies": {
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
- "ms": "2.1.1"
+ "is-extendable": "0.1.1"
}
},
- "ms": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
}
}
},
- "supports-color": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
- "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
- },
- "sw-toolbox": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/sw-toolbox/-/sw-toolbox-3.6.0.tgz",
- "integrity": "sha1-Jt8dHHA0hljk3qKIQxkUm3sxg7U=",
+ "snapdragon-node": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+ "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+ "dev": true,
"requires": {
- "path-to-regexp": "1.7.0",
- "serviceworker-cache-polyfill": "4.0.0"
+ "define-property": "1.0.0",
+ "isobject": "3.0.1",
+ "snapdragon-util": "3.0.1"
},
"dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+ "define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "1.0.2"
+ }
+ },
+ "is-accessor-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ }
+ },
+ "is-data-descriptor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+ "dev": true,
+ "requires": {
+ "kind-of": "6.0.2"
+ }
},
- "path-to-regexp": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz",
- "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=",
+ "is-descriptor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+ "dev": true,
"requires": {
- "isarray": "0.0.1"
+ "is-accessor-descriptor": "1.0.0",
+ "is-data-descriptor": "1.0.0",
+ "kind-of": "6.0.2"
}
}
}
},
- "swarm-js": {
- "version": "0.1.37",
- "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.37.tgz",
- "integrity": "sha512-G8gi5fcXP/2upwiuOShJ258sIufBVztekgobr3cVgYXObZwJ5AXLqZn52AI+/ffft29pJexF9WNdUxjlkVehoQ==",
- "requires": {
- "bluebird": "3.5.3",
- "buffer": "5.2.1",
- "decompress": "4.2.0",
- "eth-lib": "0.1.27",
- "fs-extra": "2.1.2",
- "fs-promise": "2.0.3",
- "got": "7.1.0",
- "mime-types": "2.1.21",
- "mkdirp-promise": "5.0.1",
- "mock-fs": "4.8.0",
- "setimmediate": "1.0.5",
- "tar.gz": "1.0.7",
- "xhr-request-promise": "0.1.2"
- }
- },
- "symbol-observable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
- "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
- },
- "tail": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/tail/-/tail-0.4.0.tgz",
- "integrity": "sha1-0p3nJ1DMmdseBTr/E8NZ7PtxMAI="
- },
- "tapable": {
- "version": "0.2.8",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz",
- "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI="
- },
- "tape": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/tape/-/tape-4.10.1.tgz",
- "integrity": "sha512-G0DywYV1jQeY3axeYnXUOt6ktnxS9OPJh97FGR3nrua8lhWi1zPflLxcAHavZ7Jf3qUfY7cxcVIVFa4mY2IY1w==",
+ "snapdragon-util": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+ "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+ "dev": true,
"requires": {
- "deep-equal": "1.0.1",
- "defined": "1.0.0",
- "for-each": "0.3.3",
- "function-bind": "1.1.1",
- "glob": "7.1.3",
- "has": "1.0.3",
- "inherits": "2.0.3",
- "minimist": "1.2.0",
- "object-inspect": "1.6.0",
- "resolve": "1.10.1",
- "resumer": "0.0.0",
- "string.prototype.trim": "1.1.2",
- "through": "2.3.8"
+ "kind-of": "3.2.2"
},
"dependencies": {
- "resolve": {
- "version": "1.10.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz",
- "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==",
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "dev": true,
"requires": {
- "path-parse": "1.0.6"
+ "is-buffer": "1.1.6"
}
}
}
},
- "tar": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
- "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
- "requires": {
- "block-stream": "0.0.9",
- "fstream": "1.0.11",
- "inherits": "2.0.3"
- }
- },
- "tar-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz",
- "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==",
+ "socket.io": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz",
+ "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==",
+ "dev": true,
"requires": {
- "bl": "1.2.2",
- "buffer-alloc": "1.2.0",
- "end-of-stream": "1.4.1",
- "fs-constants": "1.0.0",
- "readable-stream": "2.3.6",
- "to-buffer": "1.1.1",
- "xtend": "4.0.1"
- }
- },
- "tar.gz": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/tar.gz/-/tar.gz-1.0.7.tgz",
- "integrity": "sha512-uhGatJvds/3diZrETqMj4RxBR779LKlIE74SsMcn5JProZsfs9j0QBwWO1RW+IWNJxS2x8Zzra1+AW6OQHWphg==",
- "requires": {
- "bluebird": "2.11.0",
- "commander": "2.8.1",
- "fstream": "1.0.11",
- "mout": "0.11.1",
- "tar": "2.2.1"
+ "debug": "3.1.0",
+ "engine.io": "3.2.1",
+ "has-binary2": "1.0.3",
+ "socket.io-adapter": "1.1.1",
+ "socket.io-client": "2.1.1",
+ "socket.io-parser": "3.2.0"
},
"dependencies": {
- "bluebird": {
- "version": "2.11.0",
- "resolved": "http://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz",
- "integrity": "sha1-U0uQM8AiyVecVro7Plpcqvu2UOE="
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
}
}
},
- "temp-file": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/temp-file/-/temp-file-3.3.2.tgz",
- "integrity": "sha512-FGKccAW0Mux9hC/2bdUIe4bJRv4OyVo4RpVcuplFird1V/YoplIFbnPZjfzbJSf/qNvRZIRB9/4n/RkI0GziuQ==",
- "dev": true,
- "requires": {
- "async-exit-hook": "2.0.1",
- "bluebird-lst": "1.0.6",
- "fs-extra-p": "7.0.0"
- }
- },
- "term-size": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
- "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
- "dev": true,
- "requires": {
- "execa": "0.7.0"
- }
- },
- "text-encoding": {
- "version": "0.6.4",
- "resolved": "http://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz",
- "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=",
- "optional": true
- },
- "thenify": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz",
- "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=",
- "requires": {
- "any-promise": "1.3.0"
- }
- },
- "thenify-all": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
- "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
- "requires": {
- "thenify": "3.3.0"
- }
- },
- "throttleit": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz",
- "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=",
+ "socket.io-adapter": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
+ "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
"dev": true
},
- "through": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
- "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
- },
- "through2": {
- "version": "0.2.3",
- "resolved": "http://registry.npmjs.org/through2/-/through2-0.2.3.tgz",
- "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=",
+ "socket.io-client": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz",
+ "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==",
"dev": true,
"requires": {
- "readable-stream": "1.1.14",
- "xtend": "2.1.2"
+ "backo2": "1.0.2",
+ "base64-arraybuffer": "0.1.5",
+ "component-bind": "1.0.0",
+ "component-emitter": "1.2.1",
+ "debug": "3.1.0",
+ "engine.io-client": "3.2.1",
+ "has-binary2": "1.0.3",
+ "has-cors": "1.1.0",
+ "indexof": "0.0.1",
+ "object-component": "0.0.3",
+ "parseqs": "0.0.5",
+ "parseuri": "0.0.5",
+ "socket.io-parser": "3.2.0",
+ "to-array": "0.1.4"
},
"dependencies": {
- "isarray": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
- "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
"dev": true
},
- "readable-stream": {
- "version": "1.1.14",
- "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
- "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
- "core-util-is": "1.0.2",
- "inherits": "2.0.3",
- "isarray": "0.0.1",
- "string_decoder": "0.10.31"
+ "ms": "2.0.0"
}
- },
- "string_decoder": {
- "version": "0.10.31",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
- "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+ }
+ }
+ },
+ "socket.io-parser": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
+ "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
+ "dev": true,
+ "requires": {
+ "component-emitter": "1.2.1",
+ "debug": "3.1.0",
+ "isarray": "2.0.1"
+ },
+ "dependencies": {
+ "component-emitter": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+ "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
"dev": true
},
- "xtend": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
- "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=",
+ "debug": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
- "object-keys": "0.4.0"
+ "ms": "2.0.0"
}
+ },
+ "isarray": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
+ "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
+ "dev": true
}
}
},
- "time-stamp": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.2.0.tgz",
- "integrity": "sha512-zxke8goJQpBeEgD82CXABeMh0LSJcj7CXEd0OHOg45HgcofF7pxNwZm9+RknpxpDhwN4gFpySkApKfFYfRQnUA==",
- "dev": true
- },
- "timed-out": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz",
- "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8="
- },
- "timers-browserify": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
- "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
+ "sockjs": {
+ "version": "0.3.19",
+ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
+ "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
+ "dev": true,
"requires": {
- "setimmediate": "1.0.5"
+ "faye-websocket": "0.10.0",
+ "uuid": "3.3.2"
}
},
- "tiny-lr": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz",
- "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
+ "sockjs-client": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz",
+ "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==",
+ "dev": true,
"requires": {
- "body": "5.1.0",
"debug": "3.2.6",
- "faye-websocket": "0.10.0",
- "livereload-js": "2.4.0",
- "object-assign": "4.1.1",
- "qs": "6.5.2"
+ "eventsource": "1.0.7",
+ "faye-websocket": "0.11.1",
+ "inherits": "2.0.3",
+ "json3": "3.3.3",
+ "url-parse": "1.4.7"
},
"dependencies": {
"debug": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
"integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "dev": true,
"requires": {
"ms": "2.1.1"
}
},
+ "faye-websocket": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz",
+ "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
+ "dev": true,
+ "requires": {
+ "websocket-driver": "0.7.0"
+ }
+ },
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
- "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
}
- }
- },
- "tmp": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
- "requires": {
- "os-tmpdir": "1.0.2"
- }
- },
- "to-array": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
- "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
- "dev": true
- },
- "to-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
- },
- "to-buffer": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz",
- "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg=="
- },
- "to-fast-properties": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
- "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc="
+ }
},
- "to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "socks": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.2.tgz",
+ "integrity": "sha512-pCpjxQgOByDHLlNqlnh/mNSAxIUkyBBuwwhTcV+enZGbDaClPvHdvm6uvOwZfFJkam7cGhBNbb4JxiP8UZkRvQ==",
+ "dev": true,
"requires": {
- "kind-of": "3.2.2"
+ "ip": "1.1.5",
+ "smart-buffer": "4.0.2"
}
},
- "to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "socks-proxy-agent": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz",
+ "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==",
+ "dev": true,
"requires": {
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "regex-not": "1.0.2",
- "safe-regex": "1.1.0"
+ "agent-base": "4.2.1",
+ "socks": "2.3.2"
}
},
- "to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "source-list-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
+ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ },
+ "source-map-loader": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz",
+ "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==",
+ "dev": true,
"requires": {
- "is-number": "3.0.0",
- "repeat-string": "1.6.1"
- },
- "dependencies": {
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "requires": {
- "kind-of": "3.2.2"
- }
- }
+ "async": "2.6.2",
+ "loader-utils": "1.2.3"
}
},
- "tough-cookie": {
- "version": "2.4.3",
- "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
- "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+ "source-map-resolve": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+ "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+ "dev": true,
"requires": {
- "psl": "1.1.29",
- "punycode": "1.4.1"
+ "atob": "2.1.2",
+ "decode-uri-component": "0.2.0",
+ "resolve-url": "0.2.1",
+ "source-map-url": "0.4.0",
+ "urix": "0.1.0"
+ }
+ },
+ "source-map-support": {
+ "version": "0.5.10",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz",
+ "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "1.1.1",
+ "source-map": "0.6.1"
},
"dependencies": {
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
}
}
},
- "trim": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
- "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0="
+ "source-map-url": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "dev": true
},
- "trim-newlines": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
- "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "sourcemap-codec": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.4.tgz",
+ "integrity": "sha512-CYAPYdBu34781kLHkaW3m6b/uUSyMOC2R61gcYMWooeuaGtjof86ZA/8T+qVPPt7np1085CR9hmMGrySwEc8Xg==",
"dev": true
},
- "trim-repeated": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
- "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
+ "spdx-correct": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+ "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
"dev": true,
"requires": {
- "escape-string-regexp": "1.0.5"
+ "spdx-expression-parse": "3.0.0",
+ "spdx-license-ids": "3.0.4"
}
},
- "trim-right": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
- },
- "true-case-path": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
- "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
- "dev": true,
- "requires": {
- "glob": "7.1.3"
- }
+ "spdx-exceptions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
+ "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+ "dev": true
},
- "truncate-utf8-bytes": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
- "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=",
+ "spdx-expression-parse": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+ "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
"dev": true,
"requires": {
- "utf8-byte-length": "1.0.4"
+ "spdx-exceptions": "2.2.0",
+ "spdx-license-ids": "3.0.4"
}
},
- "ts-custom-error": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/ts-custom-error/-/ts-custom-error-2.2.1.tgz",
- "integrity": "sha512-lHKZtU+PXkVuap6nlFZybIAFLUO8B3jbCs1VynBL8AUSAHfeG6HpztcBTDRp5I+fN5820N9kGg+eTIvr+le2yg=="
+ "spdx-license-ids": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz",
+ "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==",
+ "dev": true
},
- "ts-loader": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-2.3.7.tgz",
- "integrity": "sha512-8t3bu2FcEkXb+D4L+Cn8qiK2E2C6Ms4/GQChvz6IMbVurcFHLXrhW4EMtfaol1a1ASQACZGDUGit4NHnX9g7hQ==",
+ "spdy": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz",
+ "integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==",
"dev": true,
"requires": {
- "chalk": "2.4.1",
- "enhanced-resolve": "3.4.1",
- "loader-utils": "1.1.0",
- "semver": "5.6.0"
+ "debug": "4.1.1",
+ "handle-thing": "2.0.0",
+ "http-deceiver": "1.2.7",
+ "select-hose": "2.0.0",
+ "spdy-transport": "3.0.0"
},
"dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.3"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
+ "ms": "2.1.1"
}
},
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true
- },
- "loader-utils": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz",
- "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=",
- "dev": true,
- "requires": {
- "big.js": "3.2.0",
- "emojis-list": "2.1.0",
- "json5": "0.5.1"
- }
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
}
}
},
- "ts-node": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-3.3.0.tgz",
- "integrity": "sha1-wTxqMCTjC+EYDdUwOPwgkonUv2k=",
+ "spdy-transport": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
+ "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
"dev": true,
"requires": {
- "arrify": "1.0.1",
- "chalk": "2.4.1",
- "diff": "3.5.0",
- "make-error": "1.3.5",
- "minimist": "1.2.0",
- "mkdirp": "0.5.1",
- "source-map-support": "0.4.18",
- "tsconfig": "6.0.0",
- "v8flags": "3.1.1",
- "yn": "2.0.0"
+ "debug": "4.1.1",
+ "detect-node": "2.0.4",
+ "hpack.js": "2.1.6",
+ "obuf": "1.1.2",
+ "readable-stream": "3.4.0",
+ "wbuf": "1.7.3"
},
"dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.3"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+ "debug": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+ "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
+ "ms": "2.1.1"
}
},
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true
},
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "readable-stream": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
+ "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "inherits": "2.0.3",
+ "string_decoder": "1.1.1",
+ "util-deprecate": "1.0.2"
}
}
}
},
- "tsconfig": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-6.0.0.tgz",
- "integrity": "sha1-aw6DdgA9evGGT434+J3QBZ/80DI=",
+ "speed-measure-webpack-plugin": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.1.tgz",
+ "integrity": "sha512-qVIkJvbtS9j/UeZumbdfz0vg+QfG/zxonAjzefZrqzkr7xOncLVXkeGbTpzd1gjCBM4PmVNkWlkeTVhgskAGSQ==",
"dev": true,
"requires": {
- "strip-bom": "3.0.0",
- "strip-json-comments": "2.0.1"
+ "chalk": "2.4.2"
+ }
+ },
+ "split-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+ "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+ "dev": true,
+ "requires": {
+ "extend-shallow": "3.0.2"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "dev": true,
+ "requires": {
+ "asn1": "0.2.4",
+ "assert-plus": "1.0.0",
+ "bcrypt-pbkdf": "1.0.2",
+ "dashdash": "1.14.1",
+ "ecc-jsbn": "0.1.2",
+ "getpass": "0.1.7",
+ "jsbn": "0.1.1",
+ "safer-buffer": "2.1.2",
+ "tweetnacl": "0.14.5"
+ }
+ },
+ "ssri": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz",
+ "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "5.1.2"
+ }
+ },
+ "static-extend": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+ "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+ "dev": true,
+ "requires": {
+ "define-property": "0.2.5",
+ "object-copy": "0.1.0"
},
"dependencies": {
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true
+ "define-property": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+ "dev": true,
+ "requires": {
+ "is-descriptor": "0.1.6"
+ }
}
}
},
- "tsickle": {
- "version": "0.24.1",
- "resolved": "https://registry.npmjs.org/tsickle/-/tsickle-0.24.1.tgz",
- "integrity": "sha512-XloFQZhVhgjpQsi3u2ORNRJvuID5sflOg6HfP093IqAbhE1+fIUXznULpdDwHgG4p+v8w78KdHruQtkWUKx5AQ==",
+ "stats-webpack-plugin": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/stats-webpack-plugin/-/stats-webpack-plugin-0.7.0.tgz",
+ "integrity": "sha512-NT0YGhwuQ0EOX+uPhhUcI6/+1Sq/pMzNuSCBVT4GbFl/ac6I/JZefBcjlECNfAb1t3GOx5dEj1Z7x0cAxeeVLQ==",
+ "dev": true,
+ "requires": {
+ "lodash": "4.17.11"
+ }
+ },
+ "statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+ "dev": true
+ },
+ "stdout-stream": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz",
+ "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "readable-stream": "2.3.6"
+ }
+ },
+ "stream-browserify": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
+ "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
+ "dev": true,
"requires": {
- "minimist": "1.2.0",
- "mkdirp": "0.5.1",
- "source-map": "0.5.7",
- "source-map-support": "0.4.18"
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6"
}
},
- "tslib": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
- "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ=="
+ "stream-buffers": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz",
+ "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ="
},
- "tslint": {
- "version": "5.11.0",
- "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.11.0.tgz",
- "integrity": "sha1-mPMMAurjzecAYgHkwzywi0hYHu0=",
+ "stream-each": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
+ "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
"dev": true,
"requires": {
- "babel-code-frame": "6.26.0",
- "builtin-modules": "1.1.1",
- "chalk": "2.4.1",
- "commander": "2.19.0",
- "diff": "3.5.0",
- "glob": "7.1.3",
- "js-yaml": "3.12.0",
- "minimatch": "3.0.4",
- "resolve": "1.8.1",
- "semver": "5.6.0",
- "tslib": "1.9.3",
- "tsutils": "2.29.0"
- },
- "dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.3"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
- }
- },
- "commander": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz",
- "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==",
- "dev": true
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
- "has-flag": "3.0.0"
- }
- }
+ "end-of-stream": "1.4.1",
+ "stream-shift": "1.0.0"
+ }
+ },
+ "stream-http": {
+ "version": "2.8.3",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+ "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+ "dev": true,
+ "requires": {
+ "builtin-status-codes": "3.0.0",
+ "inherits": "2.0.3",
+ "readable-stream": "2.3.6",
+ "to-arraybuffer": "1.0.1",
+ "xtend": "4.0.1"
}
},
- "tslint-config-prettier": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/tslint-config-prettier/-/tslint-config-prettier-1.16.0.tgz",
- "integrity": "sha512-zu6RAcpBtqdvhT6KpBh9kRPYATjOf9BnRi718kNqVKFjEgSE4rFrPprFju1YJrkOa3RbtbWI1ZSuLd2NBX1MDw==",
+ "stream-shift": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
+ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
"dev": true
},
- "tslint-config-standard": {
- "version": "github:papers-ch/tslint-config-standard#f54d368deef5526ac14f76257ddf9d8027a0188a",
+ "streamroller": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.5.tgz",
+ "integrity": "sha512-iGVaMcyF5PcUY0cPbW3xFQUXnr9O4RZXNBBjhuLZgrjLO4XCLLGfx4T2sGqygSeylUjwgWRsnNbT9aV0Zb8AYw==",
"dev": true,
"requires": {
- "tslint-eslint-rules": "5.4.0"
+ "async": "2.6.2",
+ "date-format": "2.0.0",
+ "debug": "3.2.6",
+ "fs-extra": "7.0.1",
+ "lodash": "4.17.11"
},
"dependencies": {
- "tslib": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
- "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==",
- "dev": true
- },
- "tslint-eslint-rules": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/tslint-eslint-rules/-/tslint-eslint-rules-5.4.0.tgz",
- "integrity": "sha512-WlSXE+J2vY/VPgIcqQuijMQiel+UtmXS+4nvK4ZzlDiqBfXse8FAvkNnTcYhnQyOTW5KFM+uRRGXxYhFpuBc6w==",
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
"dev": true,
"requires": {
- "doctrine": "0.7.2",
- "tslib": "1.9.0",
- "tsutils": "3.12.0"
+ "ms": "2.1.1"
}
},
- "tsutils": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.12.0.tgz",
- "integrity": "sha512-64KxDOb3+5ZVbz6NDZlCtOHstLk9+W96Y7d5Z/s5ge92gLaunxDeXYahvB7Rhl1dbaa3ifyq/W53o4mshIV1Tw==",
- "dev": true,
- "requires": {
- "tslib": "1.9.0"
- }
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
}
}
},
- "tslint-eslint-rules": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/tslint-eslint-rules/-/tslint-eslint-rules-4.1.1.tgz",
- "integrity": "sha1-fDDniC8mvCdr/5HSOEl1xp2viLo=",
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
- "doctrine": "0.7.2",
- "tslib": "1.9.3",
- "tsutils": "1.9.1"
- },
- "dependencies": {
- "tsutils": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-1.9.1.tgz",
- "integrity": "sha1-ufmrROVa+WgYMdXyjQrur1x1DLA=",
- "dev": true
- }
+ "code-point-at": "1.1.0",
+ "is-fullwidth-code-point": "1.0.0",
+ "strip-ansi": "3.0.1"
}
},
- "tslint-microsoft-contrib": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/tslint-microsoft-contrib/-/tslint-microsoft-contrib-5.2.1.tgz",
- "integrity": "sha512-PDYjvpo0gN9IfMULwKk0KpVOPMhU6cNoT9VwCOLeDl/QS8v8W2yspRpFFuUS7/c5EIH/n8ApMi8TxJAz1tfFUA==",
- "dev": true,
+ "string.prototype.trim": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz",
+ "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=",
"requires": {
- "tsutils": "2.28.0"
- },
- "dependencies": {
- "tsutils": {
- "version": "2.28.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.28.0.tgz",
- "integrity": "sha512-bh5nAtW0tuhvOJnx1GLRn5ScraRLICGyJV5wJhtRWOLsxW70Kk5tZtpK3O/hW6LDnqKS9mlUMPZj9fEMJ0gxqA==",
- "dev": true,
- "requires": {
- "tslib": "1.9.3"
- }
- }
+ "define-properties": "1.1.3",
+ "es-abstract": "1.13.0",
+ "function-bind": "1.1.1"
}
},
- "tslint-sonarts": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/tslint-sonarts/-/tslint-sonarts-1.8.0.tgz",
- "integrity": "sha512-tpijO5VR18e+Ny99uMNNov3Hw7diiYQ8KoJkezpHGw9hSFFrO5g2PhwdQQo7O9puhJKMIutLl9g+ICMgg+bh0w==",
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
- "immutable": "3.8.2"
+ "safe-buffer": "5.1.2"
}
},
- "tsutils": {
- "version": "2.29.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
- "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
- "tslib": "1.9.3"
+ "ansi-regex": "2.1.1"
}
},
- "tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
- },
- "tunnel-agent": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
- "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "strip-bom": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+ "dev": true,
"requires": {
- "safe-buffer": "5.1.2"
+ "is-utf8": "0.2.1"
}
},
- "tweetnacl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.1.tgz",
- "integrity": "sha512-kcoMoKTPYnoeS50tzoqjPY3Uv9axeuuFAZY9M/9zFnhoVvRfxz9K29IMPD7jGmt2c8SW7i3gT9WqDl2+nV7p4A=="
+ "strip-eof": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+ "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "dev": true
},
- "tweetnacl-auth": {
+ "strip-indent": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/tweetnacl-auth/-/tweetnacl-auth-1.0.1.tgz",
- "integrity": "sha512-Qu2JonS5VUh5oJBnGsFohfel8O4gqN2QwdrsLjaZEZOU/25iIr3zU7jFOFbtOM5Wak5jiIViAqMvRvuxk9Lhmg==",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
+ "dev": true,
+ "optional": true,
"requires": {
- "tweetnacl": "1.0.1"
+ "get-stdin": "4.0.1"
}
},
- "type-detect": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz",
- "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI="
- },
- "type-is": {
- "version": "1.6.16",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
- "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
+ "style-loader": {
+ "version": "0.23.1",
+ "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.23.1.tgz",
+ "integrity": "sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==",
+ "dev": true,
"requires": {
- "media-typer": "0.3.0",
- "mime-types": "2.1.21"
+ "loader-utils": "1.2.3",
+ "schema-utils": "1.0.0"
}
},
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
- "dev": true
- },
- "typedarray-to-buffer": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
- "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "stylus": {
+ "version": "0.54.5",
+ "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz",
+ "integrity": "sha1-QrlWCTHKcJDOhRWnmLqeaqPW3Hk=",
+ "dev": true,
"requires": {
- "is-typedarray": "1.0.0"
+ "css-parse": "1.7.0",
+ "debug": "2.6.9",
+ "glob": "7.0.6",
+ "mkdirp": "0.5.1",
+ "sax": "0.5.8",
+ "source-map": "0.1.43"
+ },
+ "dependencies": {
+ "glob": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
+ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "source-map": {
+ "version": "0.1.43",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "dev": true,
+ "requires": {
+ "amdefine": "1.0.1"
+ }
+ }
}
},
- "typeforce": {
- "version": "1.18.0",
- "resolved": "https://registry.npmjs.org/typeforce/-/typeforce-1.18.0.tgz",
- "integrity": "sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g=="
- },
- "typescript": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.4.2.tgz",
- "integrity": "sha1-+DlfhdRZJ2BnyYiqQYN6j4KHCEQ=",
- "dev": true
+ "stylus-loader": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz",
+ "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==",
+ "dev": true,
+ "requires": {
+ "loader-utils": "1.2.3",
+ "lodash.clonedeep": "4.5.0",
+ "when": "3.6.4"
+ }
},
- "typestrict": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/typestrict/-/typestrict-1.0.1.tgz",
- "integrity": "sha512-ECgO3o9BYYtHIbUwv3s/oNCekulLH3dbhU7E50gxelnB9Td7pTtp34WH9DBPCX6YaAEZDTGxnbfS6pprV1x1gg==",
+ "supports-color": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+ "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"dev": true,
"requires": {
- "tslint-microsoft-contrib": "5.2.1",
- "tslint-sonarts": "1.8.0"
+ "has-flag": "3.0.0"
}
},
- "uglify-js": {
- "version": "2.8.29",
- "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
- "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+ "symbol-observable": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
+ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+ "dev": true
+ },
+ "tail": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/tail/-/tail-0.4.0.tgz",
+ "integrity": "sha1-0p3nJ1DMmdseBTr/E8NZ7PtxMAI="
+ },
+ "tapable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
+ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
+ "dev": true
+ },
+ "tape": {
+ "version": "4.10.2",
+ "resolved": "https://registry.npmjs.org/tape/-/tape-4.10.2.tgz",
+ "integrity": "sha512-mgl23h7W2yuk3N85FOYrin2OvThTYWdwbk6XQ1pr2PMJieyW2FM/4Bu/+kD/wecb3aZ0Enm+Syinyq467OPq2w==",
"requires": {
- "source-map": "0.5.7",
- "uglify-to-browserify": "1.0.2",
- "yargs": "3.10.0"
+ "deep-equal": "1.0.1",
+ "defined": "1.0.0",
+ "for-each": "0.3.3",
+ "function-bind": "1.1.1",
+ "glob": "7.1.4",
+ "has": "1.0.3",
+ "inherits": "2.0.3",
+ "minimist": "1.2.0",
+ "object-inspect": "1.6.0",
+ "resolve": "1.10.1",
+ "resumer": "0.0.0",
+ "string.prototype.trim": "1.1.2",
+ "through": "2.3.8"
},
"dependencies": {
- "yargs": {
- "version": "3.10.0",
- "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
- "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+ "glob": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+ "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
"requires": {
- "camelcase": "1.2.1",
- "cliui": "2.1.0",
- "decamelize": "1.2.0",
- "window-size": "0.1.0"
+ "fs.realpath": "1.0.0",
+ "inflight": "1.0.6",
+ "inherits": "2.0.3",
+ "minimatch": "3.0.4",
+ "once": "1.4.0",
+ "path-is-absolute": "1.0.1"
+ }
+ },
+ "resolve": {
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz",
+ "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==",
+ "requires": {
+ "path-parse": "1.0.6"
}
}
}
},
- "uglify-to-browserify": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
- "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
- "optional": true
- },
- "uglifyjs-webpack-plugin": {
- "version": "0.4.6",
- "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
- "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
+ "tar": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
+ "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
"dev": true,
+ "optional": true,
"requires": {
- "source-map": "0.5.7",
- "uglify-js": "2.8.29",
- "webpack-sources": "1.3.0"
+ "block-stream": "0.0.9",
+ "fstream": "1.0.12",
+ "inherits": "2.0.3"
}
},
- "ultron": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="
- },
- "unbzip2-stream": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.1.tgz",
- "integrity": "sha512-fIZnvdjblYs7Cru/xC6tCPVhz7JkYcVQQkePwMLyQELzYTds2Xn8QefPVnvdVhhZqubxNA1cASXEH5wcK0Bucw==",
+ "terser": {
+ "version": "3.17.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
+ "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
+ "dev": true,
"requires": {
- "buffer": "3.6.0",
- "through": "2.3.8"
+ "commander": "2.20.0",
+ "source-map": "0.6.1",
+ "source-map-support": "0.5.10"
},
"dependencies": {
- "base64-js": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz",
- "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg="
- },
- "buffer": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz",
- "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=",
- "requires": {
- "base64-js": "0.0.8",
- "ieee754": "1.1.12",
- "isarray": "1.0.0"
- }
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
}
}
},
- "underscore": {
- "version": "1.8.3",
- "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
- "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI="
- },
- "union-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
- "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "terser-webpack-plugin": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.2.2.tgz",
+ "integrity": "sha512-1DMkTk286BzmfylAvLXwpJrI7dWa5BnFmscV/2dCr8+c56egFcbaeFAl7+sujAjdmpLam21XRdhA4oifLyiWWg==",
+ "dev": true,
"requires": {
- "arr-union": "3.1.0",
- "get-value": "2.0.6",
- "is-extendable": "0.1.1",
- "set-value": "0.4.3"
+ "cacache": "11.3.2",
+ "find-cache-dir": "2.1.0",
+ "schema-utils": "1.0.0",
+ "serialize-javascript": "1.7.0",
+ "source-map": "0.6.1",
+ "terser": "3.17.0",
+ "webpack-sources": "1.3.0",
+ "worker-farm": "1.7.0"
},
"dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "cacache": {
+ "version": "11.3.2",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz",
+ "integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==",
+ "dev": true,
"requires": {
- "is-extendable": "0.1.1"
+ "bluebird": "3.5.5",
+ "chownr": "1.1.1",
+ "figgy-pudding": "3.5.1",
+ "glob": "7.1.3",
+ "graceful-fs": "4.1.15",
+ "lru-cache": "5.1.1",
+ "mississippi": "3.0.0",
+ "mkdirp": "0.5.1",
+ "move-concurrently": "1.0.1",
+ "promise-inflight": "1.0.1",
+ "rimraf": "2.6.3",
+ "ssri": "6.0.1",
+ "unique-filename": "1.1.1",
+ "y18n": "4.0.0"
}
},
- "set-value": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
- "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "find-cache-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+ "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+ "dev": true,
"requires": {
- "extend-shallow": "2.0.1",
- "is-extendable": "0.1.1",
- "is-plain-object": "2.0.4",
- "to-object-path": "0.3.0"
+ "commondir": "1.0.1",
+ "make-dir": "2.1.0",
+ "pkg-dir": "3.0.0"
+ }
+ },
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
+ "requires": {
+ "locate-path": "3.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
+ "requires": {
+ "p-locate": "3.0.0",
+ "path-exists": "3.0.0"
+ }
+ },
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "requires": {
+ "yallist": "3.0.3"
+ }
+ },
+ "make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "requires": {
+ "pify": "4.0.1",
+ "semver": "5.6.0"
+ }
+ },
+ "mississippi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
+ "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
+ "dev": true,
+ "requires": {
+ "concat-stream": "1.6.2",
+ "duplexify": "3.7.1",
+ "end-of-stream": "1.4.1",
+ "flush-write-stream": "1.1.1",
+ "from2": "2.3.0",
+ "parallel-transform": "1.1.0",
+ "pump": "3.0.0",
+ "pumpify": "1.5.1",
+ "stream-each": "1.2.3",
+ "through2": "2.0.5"
+ }
+ },
+ "p-limit": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
+ "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
+ "dev": true,
+ "requires": {
+ "p-try": "2.2.0"
+ }
+ },
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
+ "requires": {
+ "p-limit": "2.2.0"
+ }
+ },
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ },
+ "pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+ "dev": true,
+ "requires": {
+ "find-up": "3.0.0"
+ }
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "1.4.1",
+ "once": "1.4.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "ssri": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
+ "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+ "dev": true,
+ "requires": {
+ "figgy-pudding": "3.5.1"
}
+ },
+ "yallist": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
+ "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+ "dev": true
}
}
},
- "unique-string": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
- "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ },
+ "through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
"dev": true,
"requires": {
- "crypto-random-string": "1.0.0"
+ "readable-stream": "2.3.6",
+ "xtend": "4.0.1"
}
},
- "universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
- },
- "unorm": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz",
- "integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA="
+ "thunky": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz",
+ "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==",
+ "dev": true
},
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+ "timers-browserify": {
+ "version": "2.0.10",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz",
+ "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==",
+ "dev": true,
+ "requires": {
+ "setimmediate": "1.0.5"
+ }
},
- "unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
"requires": {
- "has-value": "0.3.1",
- "isobject": "3.0.1"
- },
- "dependencies": {
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "requires": {
- "get-value": "2.0.6",
- "has-values": "0.1.4",
- "isobject": "2.1.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- }
+ "os-tmpdir": "1.0.2"
}
},
- "unzip-response": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz",
- "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=",
+ "to-array": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
+ "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
"dev": true
},
- "upath": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
- "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw=="
+ "to-arraybuffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+ "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+ "dev": true
},
- "update-notifier": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.5.0.tgz",
- "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==",
- "dev": true,
- "requires": {
- "boxen": "1.3.0",
- "chalk": "2.4.1",
- "configstore": "3.1.2",
- "import-lazy": "2.1.0",
- "is-ci": "1.2.1",
- "is-installed-globally": "0.1.0",
- "is-npm": "1.0.0",
- "latest-version": "3.1.0",
- "semver-diff": "2.1.0",
- "xdg-basedir": "3.0.0"
+ "to-fast-properties": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+ "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+ "dev": true
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+ "dev": true,
+ "requires": {
+ "kind-of": "3.2.2"
},
"dependencies": {
- "ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
- "requires": {
- "color-convert": "1.9.3"
- }
- },
- "chalk": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
- "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
- "dev": true,
- "requires": {
- "ansi-styles": "3.2.1",
- "escape-string-regexp": "1.0.5",
- "supports-color": "5.5.0"
- }
- },
- "has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
- "has-flag": "3.0.0"
+ "is-buffer": "1.1.6"
}
}
}
},
- "upper-case": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz",
- "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg="
+ "to-regex": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+ "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+ "dev": true,
+ "requires": {
+ "define-property": "2.0.2",
+ "extend-shallow": "3.0.2",
+ "regex-not": "1.0.2",
+ "safe-regex": "1.1.0"
+ }
},
- "uri-js": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
- "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "to-regex-range": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+ "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "dev": true,
"requires": {
- "punycode": "2.1.1"
+ "is-number": "3.0.0",
+ "repeat-string": "1.6.1"
}
},
- "urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
+ "toidentifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
+ "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
+ "dev": true
},
- "url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "tough-cookie": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
+ "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+ "dev": true,
"requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
+ "psl": "1.1.32",
+ "punycode": "1.4.1"
},
"dependencies": {
"punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
}
}
},
- "url-parse-lax": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz",
- "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=",
- "requires": {
- "prepend-http": "1.0.4"
- }
+ "tree-kill": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.1.tgz",
+ "integrity": "sha512-4hjqbObwlh2dLyW4tcz0Ymw0ggoaVDMveUB9w8kFSQScdRLo0gxO9J7WFcUBo+W3C1TLdFIEwNOWebgZZ0RH9Q==",
+ "dev": true
},
- "url-set-query": {
+ "trim-newlines": {
"version": "1.0.0",
- "resolved": "https://registry.npmjs.org/url-set-query/-/url-set-query-1.0.0.tgz",
- "integrity": "sha1-AW6M/Xwg7gXK/neV6JK9BwL6ozk="
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
+ "dev": true,
+ "optional": true
},
- "url-to-options": {
+ "trim-right": {
"version": "1.0.1",
- "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz",
- "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k="
- },
- "use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
+ "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
+ "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "dev": true
},
- "useragent": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
- "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
+ "true-case-path": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz",
+ "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==",
"dev": true,
+ "optional": true,
"requires": {
- "lru-cache": "4.1.3",
- "tmp": "0.0.33"
+ "glob": "7.1.3"
}
},
- "utf8": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz",
- "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g="
- },
- "utf8-byte-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz",
- "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=",
- "dev": true
- },
- "util": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
- "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
+ "ts-node": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.1.1.tgz",
+ "integrity": "sha512-nd+mdxDP2BjQlyumBCMSU3IQLEjSla1X3uSzDfQ4M5OEZ3iDC01gjhs0FX29jyolATwLKB7YoRJ1Asbxd9EEoA==",
+ "dev": true,
"requires": {
- "inherits": "2.0.3"
+ "arg": "4.1.0",
+ "diff": "4.0.1",
+ "make-error": "1.3.5",
+ "source-map-support": "0.5.10",
+ "yn": "3.1.0"
}
},
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
- },
- "utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
- },
- "uuid": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
- "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
+ "tslib": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.3.tgz",
+ "integrity": "sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ=="
},
- "v8flags": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.1.tgz",
- "integrity": "sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==",
+ "tslint": {
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.17.0.tgz",
+ "integrity": "sha512-pflx87WfVoYepTet3xLfDOLDm9Jqi61UXIKePOuca0qoAZyrGWonDG9VTbji58Fy+8gciUn8Bt7y69+KEVjc/w==",
"dev": true,
"requires": {
- "homedir-polyfill": "1.0.1"
+ "@babel/code-frame": "7.0.0",
+ "builtin-modules": "1.1.1",
+ "chalk": "2.4.2",
+ "commander": "2.20.0",
+ "diff": "3.5.0",
+ "glob": "7.1.3",
+ "js-yaml": "3.13.1",
+ "minimatch": "3.0.4",
+ "mkdirp": "0.5.1",
+ "resolve": "1.11.0",
+ "semver": "5.6.0",
+ "tslib": "1.9.3",
+ "tsutils": "2.29.0"
+ },
+ "dependencies": {
+ "diff": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+ "dev": true
+ }
}
},
- "validate-npm-package-license": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
- "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "tsutils": {
+ "version": "2.29.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
+ "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
+ "dev": true,
"requires": {
- "spdx-correct": "3.0.2",
- "spdx-expression-parse": "3.0.0"
+ "tslib": "1.9.3"
}
},
- "validate.js": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/validate.js/-/validate.js-0.12.0.tgz",
- "integrity": "sha512-/x2RJSvbqEyxKj0RPN4xaRquK+EggjeVXiDDEyrJzsJogjtiZ9ov7lj/svVb4DM5Q5braQF4cooAryQbUwOxlA=="
- },
- "validator": {
- "version": "10.11.0",
- "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz",
- "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw=="
+ "tty-browserify": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+ "dev": true
},
- "varuint-bitcoin": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/varuint-bitcoin/-/varuint-bitcoin-1.1.0.tgz",
- "integrity": "sha512-jCEPG+COU/1Rp84neKTyDJQr478/hAfVp5xxYn09QEH0yBjbmPeMfuuQIrp+BUD83hybtYZKhr5elV3bvdV1bA==",
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "dev": true,
"requires": {
"safe-buffer": "5.1.2"
}
},
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
- },
- "verror": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
- "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "requires": {
- "assert-plus": "1.0.0",
- "core-util-is": "1.0.2",
- "extsprintf": "1.3.0"
- }
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "dev": true
},
- "vlq": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
- "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==",
+ "type-fest": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.4.1.tgz",
+ "integrity": "sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==",
"dev": true
},
- "vm-browserify": {
- "version": "0.0.4",
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
- "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+ "type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "dev": true,
"requires": {
- "indexof": "0.0.1"
+ "media-typer": "0.3.0",
+ "mime-types": "2.1.24"
}
},
- "void-elements": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
- "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
- "watchpack": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
- "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
+ "typescript": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.1.6.tgz",
+ "integrity": "sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA==",
+ "dev": true
+ },
+ "uglify-js": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz",
+ "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==",
+ "dev": true,
+ "optional": true,
"requires": {
- "chokidar": "2.0.4",
- "graceful-fs": "4.1.15",
- "neo-async": "2.6.0"
+ "commander": "2.20.0",
+ "source-map": "0.6.1"
},
"dependencies": {
- "anymatch": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
- "requires": {
- "micromatch": "3.1.10",
- "normalize-path": "2.1.1"
- }
- },
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
- },
- "braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "requires": {
- "arr-flatten": "1.1.0",
- "array-unique": "0.3.2",
- "extend-shallow": "2.0.1",
- "fill-range": "4.0.0",
- "isobject": "3.0.1",
- "repeat-element": "1.1.3",
- "snapdragon": "0.8.2",
- "snapdragon-node": "2.1.1",
- "split-string": "3.1.0",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "chokidar": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
- "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
- "requires": {
- "anymatch": "2.0.0",
- "async-each": "1.0.1",
- "braces": "2.3.2",
- "fsevents": "1.2.4",
- "glob-parent": "3.1.0",
- "inherits": "2.0.3",
- "is-binary-path": "1.0.1",
- "is-glob": "4.0.0",
- "lodash.debounce": "4.0.8",
- "normalize-path": "2.1.1",
- "path-is-absolute": "1.0.1",
- "readdirp": "2.2.1",
- "upath": "1.1.0"
- }
- },
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "requires": {
- "debug": "2.6.9",
- "define-property": "0.2.5",
- "extend-shallow": "2.0.1",
- "posix-character-classes": "0.1.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "requires": {
- "is-descriptor": "0.1.6"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "requires": {
- "is-accessor-descriptor": "0.1.6",
- "is-data-descriptor": "0.1.4",
- "kind-of": "5.1.0"
- }
- },
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
- }
- }
- },
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "optional": true
+ }
+ }
+ },
+ "ultron": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
+ "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
+ "dev": true
+ },
+ "underscore": {
+ "version": "1.9.1",
+ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
+ "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
+ },
+ "union-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+ "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+ "dev": true,
+ "requires": {
+ "arr-union": "3.1.0",
+ "get-value": "2.0.6",
+ "is-extendable": "0.1.1",
+ "set-value": "0.4.3"
+ },
+ "dependencies": {
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+ "dev": true,
"requires": {
- "array-unique": "0.3.2",
- "define-property": "1.0.0",
- "expand-brackets": "2.1.4",
- "extend-shallow": "2.0.1",
- "fragment-cache": "0.2.1",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "requires": {
- "is-descriptor": "1.0.2"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
+ "is-extendable": "0.1.1"
}
},
- "fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "set-value": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+ "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+ "dev": true,
"requires": {
"extend-shallow": "2.0.1",
- "is-number": "3.0.0",
- "repeat-string": "1.6.1",
- "to-regex-range": "2.1.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "requires": {
- "is-extendable": "0.1.1"
- }
- }
- }
- },
- "glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
- "requires": {
- "is-glob": "3.1.0",
- "path-dirname": "1.0.2"
- },
- "dependencies": {
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "requires": {
- "is-extglob": "2.1.1"
- }
- }
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "requires": {
- "kind-of": "6.0.2"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "requires": {
- "is-accessor-descriptor": "1.0.0",
- "is-data-descriptor": "1.0.0",
- "kind-of": "6.0.2"
- }
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
- },
- "is-glob": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
- "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
- "requires": {
- "is-extglob": "2.1.1"
- }
- },
- "is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "requires": {
- "kind-of": "3.2.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "requires": {
- "is-buffer": "1.1.6"
- }
- }
- }
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
- },
- "kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "requires": {
- "arr-diff": "4.0.0",
- "array-unique": "0.3.2",
- "braces": "2.3.2",
- "define-property": "2.0.2",
- "extend-shallow": "3.0.2",
- "extglob": "2.0.4",
- "fragment-cache": "0.2.1",
- "kind-of": "6.0.2",
- "nanomatch": "1.2.13",
- "object.pick": "1.3.0",
- "regex-not": "1.0.2",
- "snapdragon": "0.8.2",
- "to-regex": "3.0.2"
+ "is-extendable": "0.1.1",
+ "is-plain-object": "2.0.4",
+ "to-object-path": "0.3.0"
}
}
}
},
- "web3": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.36.tgz",
- "integrity": "sha512-fZDunw1V0AQS27r5pUN3eOVP7u8YAvyo6vOapdgVRolAu5LgaweP7jncYyLINqIX9ZgWdS5A090bt+ymgaYHsw==",
+ "unique-filename": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
+ "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+ "dev": true,
+ "requires": {
+ "unique-slug": "2.0.1"
+ }
+ },
+ "unique-slug": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz",
+ "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "0.1.4"
+ }
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ },
+ "unorm": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.5.0.tgz",
+ "integrity": "sha512-sMfSWoiRaXXeDZSXC+YRZ23H4xchQpwxjpw1tmfR+kgbBCaOgln4NI0LXejJIhnBuKINrB3WRn+ZI8IWssirVw=="
+ },
+ "unpipe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+ "dev": true
+ },
+ "unset-value": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+ "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "dev": true,
"requires": {
- "web3-bzz": "1.0.0-beta.36",
- "web3-core": "1.0.0-beta.36",
- "web3-eth": "1.0.0-beta.36",
- "web3-eth-personal": "1.0.0-beta.36",
- "web3-net": "1.0.0-beta.36",
- "web3-shh": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
+ "has-value": "0.3.1",
+ "isobject": "3.0.1"
},
"dependencies": {
- "bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU="
- },
- "uuid": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz",
- "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w="
- },
- "web3-bzz": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.36.tgz",
- "integrity": "sha512-clDRS/ziboJ5ytnrfxq80YSu9HQsT0vggnT3BkoXadrauyEE/9JNLxRu016jjUxqdkfdv4MgIPDdOS3Bv2ghiw==",
- "requires": {
- "got": "7.1.0",
- "swarm-js": "0.1.37",
- "underscore": "1.8.3"
- }
- },
- "web3-core": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.36.tgz",
- "integrity": "sha512-C2QW9CMMRZdYAiKiLkMrKRSp+gekSqTDgZTNvlxAdN1hXn4d9UmcmWSJXOmIHqr5N2ISbRod+bW+qChODxVE3Q==",
- "requires": {
- "web3-core-helpers": "1.0.0-beta.36",
- "web3-core-method": "1.0.0-beta.36",
- "web3-core-requestmanager": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
- }
- },
- "web3-core-helpers": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.36.tgz",
- "integrity": "sha512-gu74l0htiGWuxLQuMnZqKToFvkSM+UFPE7qUuy1ZosH/h2Jd+VBWg6k4CyNYVYfP0hL5x3CN8SBmB+HMowo55A==",
- "requires": {
- "underscore": "1.8.3",
- "web3-eth-iban": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
- }
- },
- "web3-core-method": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.36.tgz",
- "integrity": "sha512-dJsP3KkGaqBBSdxfzvLsYPOmVaSs1lR/3oKob/gtUYG7UyTnwquwliAc7OXj+gqRA2E/FHZcM83cWdl31ltdSA==",
- "requires": {
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.36",
- "web3-core-promievent": "1.0.0-beta.36",
- "web3-core-subscriptions": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
- }
- },
- "web3-core-promievent": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.36.tgz",
- "integrity": "sha512-RGIL6TjcOeJTullFLMurChPTsg94cPF6LI763y/sPYtXTDol1vVa+J5aGLp/4WW8v+s+1bSQO6zYq2ZtkbmtEQ==",
- "requires": {
- "any-promise": "1.3.0",
- "eventemitter3": "1.1.1"
- }
- },
- "web3-core-requestmanager": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.36.tgz",
- "integrity": "sha512-/CHuaMbiMDu1v8ANGYI7yFCnh1GaCWx5pKnUPJf+QTk2xAAw+Bvd97yZJIWPOK5AOPUIzxgwx9Ob/5ln6mTmYA==",
- "requires": {
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.36",
- "web3-providers-http": "1.0.0-beta.36",
- "web3-providers-ipc": "1.0.0-beta.36",
- "web3-providers-ws": "1.0.0-beta.36"
- }
- },
- "web3-core-subscriptions": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.36.tgz",
- "integrity": "sha512-/evyLQ8CMEYXC5aUCodDpmEnmGVYQxaIjiEIfA/85f9ifHkfzP1aOwCAjcsLsJWnwrWDagxSpjCYrDtnNabdEw==",
- "requires": {
- "eventemitter3": "1.1.1",
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.36"
- }
- },
- "web3-eth": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.36.tgz",
- "integrity": "sha512-uEa0UnbnNHUB4N2O1U+LsvxzSPJ/w3azy5115IseaUdDaiz6IFFgFfFP3ssauayQNCf7v2F44GXLfPhrNeb/Sw==",
- "requires": {
- "underscore": "1.8.3",
- "web3-core": "1.0.0-beta.36",
- "web3-core-helpers": "1.0.0-beta.36",
- "web3-core-method": "1.0.0-beta.36",
- "web3-core-subscriptions": "1.0.0-beta.36",
- "web3-eth-abi": "1.0.0-beta.36",
- "web3-eth-accounts": "1.0.0-beta.36",
- "web3-eth-contract": "1.0.0-beta.36",
- "web3-eth-ens": "1.0.0-beta.36",
- "web3-eth-iban": "1.0.0-beta.36",
- "web3-eth-personal": "1.0.0-beta.36",
- "web3-net": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
- }
- },
- "web3-eth-abi": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.36.tgz",
- "integrity": "sha512-fBfW+7hvA0rxEMV45fO7JU+0R32ayT7aRwG9Cl6NW2/QvhFeME2qVbMIWw0q5MryPZGIN8A6366hKNuWvVidDg==",
- "requires": {
- "ethers": "4.0.0-beta.1",
- "underscore": "1.8.3",
- "web3-utils": "1.0.0-beta.36"
- }
- },
- "web3-eth-accounts": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.36.tgz",
- "integrity": "sha512-MmgIlBEZ0ILLWV4+wfMrbeVVMU/VmQnCpgSDcw7wHKOKu47bKncJ6rVqVsUbC6d9F613Rios+Yj2Ua6SCHtmrg==",
+ "has-value": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+ "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+ "dev": true,
"requires": {
- "any-promise": "1.3.0",
- "crypto-browserify": "3.12.0",
- "eth-lib": "0.2.7",
- "scrypt.js": "0.2.0",
- "underscore": "1.8.3",
- "uuid": "2.0.1",
- "web3-core": "1.0.0-beta.36",
- "web3-core-helpers": "1.0.0-beta.36",
- "web3-core-method": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
+ "get-value": "2.0.6",
+ "has-values": "0.1.4",
+ "isobject": "2.1.0"
},
"dependencies": {
- "eth-lib": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz",
- "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=",
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+ "dev": true,
"requires": {
- "bn.js": "4.11.6",
- "elliptic": "6.4.1",
- "xhr-request-promise": "0.1.2"
+ "isarray": "1.0.0"
}
}
}
},
- "web3-eth-contract": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.36.tgz",
- "integrity": "sha512-cywqcIrUsCW4fyqsHdOb24OCC8AnBol8kNiptI+IHRylyCjTNgr53bUbjrXWjmEnear90rO0QhAVjLB1a4iEbQ==",
- "requires": {
- "underscore": "1.8.3",
- "web3-core": "1.0.0-beta.36",
- "web3-core-helpers": "1.0.0-beta.36",
- "web3-core-method": "1.0.0-beta.36",
- "web3-core-promievent": "1.0.0-beta.36",
- "web3-core-subscriptions": "1.0.0-beta.36",
- "web3-eth-abi": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
- }
- },
- "web3-eth-iban": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.36.tgz",
- "integrity": "sha512-b5AEDjjhOLR4q47Hbzf65zYE+7U7JgCgrUb13RU4HMIGoMb1q4DXaJw1UH8VVHCZulevl2QBjpCyrntecMqqCQ==",
- "requires": {
- "bn.js": "4.11.6",
- "web3-utils": "1.0.0-beta.36"
- }
- },
- "web3-eth-personal": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.36.tgz",
- "integrity": "sha512-+oxvhojeWh4C/XtnlYURWRR3F5Cg7bQQNjtN1ZGnouKAZyBLoYDVVJ6OaPiveNtfC9RKnzLikn9/Uqc0xz410A==",
- "requires": {
- "web3-core": "1.0.0-beta.36",
- "web3-core-helpers": "1.0.0-beta.36",
- "web3-core-method": "1.0.0-beta.36",
- "web3-net": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
- }
- },
- "web3-net": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.36.tgz",
- "integrity": "sha512-BriXK0Pjr6Hc/VDq1Vn8vyOum4JB//wpCjgeGziFD6jC7Of8YaWC7AJYXje89OckzfcqX1aJyJlBwDpasNkAzQ==",
- "requires": {
- "web3-core": "1.0.0-beta.36",
- "web3-core-method": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
- }
- },
- "web3-providers-http": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.0.0-beta.36.tgz",
- "integrity": "sha512-KLSqMS59nRdpet9B0B64MKgtM3n9wAHTcAHJ03hv79avQNTjHxtjZm0ttcjcFUPpWDgTCtcYCa7tqaYo9Pbeog==",
- "requires": {
- "web3-core-helpers": "1.0.0-beta.36",
- "xhr2-cookies": "1.1.0"
- }
- },
- "web3-providers-ipc": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.36.tgz",
- "integrity": "sha512-iEUrmdd2CzoWgp+75/ydom/1IaoLw95qkAzsgwjjZp1waDncHP/cvVGX74+fbUx4hRaPdchyzxCQfNpgLDmNjQ==",
- "requires": {
- "oboe": "2.1.3",
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.36"
- }
- },
- "web3-providers-ws": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.36.tgz",
- "integrity": "sha512-wAnENuZx75T5ZSrT2De2LOaUuPf2yRjq1VfcbD7+Zd79F3DZZLBJcPyCNVQ1U0fAXt0wfgCKl7sVw5pffqR9Bw==",
- "requires": {
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.36",
- "websocket": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2"
- }
- },
- "web3-shh": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.36.tgz",
- "integrity": "sha512-bREGHS/WprYFSvGUhyIk8RSpT2Z5SvJOKGBrsUW2nDIMWO6z0Op8E7fzC6GXY2HZfZliAqq6LirbXLgcLRWuPw==",
- "requires": {
- "web3-core": "1.0.0-beta.36",
- "web3-core-method": "1.0.0-beta.36",
- "web3-core-subscriptions": "1.0.0-beta.36",
- "web3-net": "1.0.0-beta.36"
- }
- },
- "web3-utils": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.36.tgz",
- "integrity": "sha512-7ri74lG5fS2Th0fhYvTtiEHMB1Pmf2p7dQx1COQ3OHNI/CHNEMjzoNMEbBU6FAENrywfoFur40K4m0AOmEUq5A==",
- "requires": {
- "bn.js": "4.11.6",
- "eth-lib": "0.1.27",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randomhex": "0.1.5",
- "underscore": "1.8.3",
- "utf8": "2.1.1"
- }
- },
- "websocket": {
- "version": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2",
- "requires": {
- "debug": "2.6.9",
- "nan": "2.11.1",
- "typedarray-to-buffer": "3.1.5",
- "yaeti": "0.0.6"
- }
+ "has-values": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+ "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+ "dev": true
+ }
+ }
+ },
+ "upath": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz",
+ "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==",
+ "dev": true
+ },
+ "uri-js": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+ "dev": true,
+ "requires": {
+ "punycode": "2.1.1"
+ }
+ },
+ "urix": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+ "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+ "dev": true
+ },
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+ "dev": true
}
}
},
- "web3-bzz": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.30.tgz",
- "integrity": "sha1-JDTaGDwjmqqlwBP2IwdCnqkd1wY=",
+ "url-parse": {
+ "version": "1.4.7",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz",
+ "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==",
+ "dev": true,
+ "requires": {
+ "querystringify": "2.1.1",
+ "requires-port": "1.0.0"
+ }
+ },
+ "use": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+ "dev": true
+ },
+ "useragent": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
+ "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "4.1.5",
+ "tmp": "0.0.33"
+ }
+ },
+ "util": {
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
+ "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.3"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "utils-merge": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+ "dev": true
+ },
+ "uuid": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+ "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
+ },
+ "validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
+ "requires": {
+ "spdx-correct": "3.1.0",
+ "spdx-expression-parse": "3.0.0"
+ }
+ },
+ "validate-npm-package-name": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
+ "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
+ "dev": true,
+ "requires": {
+ "builtins": "1.0.3"
+ }
+ },
+ "vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
+ "dev": true
+ },
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "dev": true,
"requires": {
- "got": "7.1.0",
- "swarm-js": "0.1.37",
- "underscore": "1.8.3"
+ "assert-plus": "1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "1.3.0"
}
},
- "web3-core": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.30.tgz",
- "integrity": "sha1-919NO4W+dMdnRjeSHD4BO8XSdnk=",
+ "vm-browserify": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
+ "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
+ "dev": true,
"requires": {
- "web3-core-helpers": "1.0.0-beta.30",
- "web3-core-method": "1.0.0-beta.30",
- "web3-core-requestmanager": "1.0.0-beta.30",
- "web3-utils": "1.0.0-beta.30"
+ "indexof": "0.0.1"
}
},
- "web3-core-helpers": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.30.tgz",
- "integrity": "sha1-oADO4/CgnuoT10tXMDNdRjX+Hy8=",
+ "void-elements": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+ "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
+ "dev": true
+ },
+ "watchpack": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
+ "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
+ "dev": true,
"requires": {
- "underscore": "1.8.3",
- "web3-eth-iban": "1.0.0-beta.30",
- "web3-utils": "1.0.0-beta.30"
+ "chokidar": "2.0.4",
+ "graceful-fs": "4.1.15",
+ "neo-async": "2.6.1"
}
},
- "web3-core-method": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.30.tgz",
- "integrity": "sha1-jdb/eJ6NFWO4eG0Tp4x/rO+uRxw=",
+ "wbuf": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
+ "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+ "dev": true,
"requires": {
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.30",
- "web3-core-promievent": "1.0.0-beta.30",
- "web3-core-subscriptions": "1.0.0-beta.30",
- "web3-utils": "1.0.0-beta.30"
+ "minimalistic-assert": "1.0.1"
}
},
- "web3-core-promievent": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.30.tgz",
- "integrity": "sha1-YgUZK/sJdEETIialk57FrtOoopE=",
+ "webdriver-js-extender": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz",
+ "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==",
+ "dev": true,
"requires": {
- "bluebird": "3.3.1",
- "eventemitter3": "1.1.1"
- },
- "dependencies": {
- "bluebird": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.1.tgz",
- "integrity": "sha1-+Xrhlw9B2FF3KDBT6aEgFg5mxh0="
- }
+ "@types/selenium-webdriver": "3.0.16",
+ "selenium-webdriver": "3.6.0"
}
},
- "web3-core-requestmanager": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.30.tgz",
- "integrity": "sha1-buVvuKbLhf0BswgIVPUNZOUiQMY=",
- "requires": {
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.30",
- "web3-providers-http": "1.0.0-beta.30",
- "web3-providers-ipc": "1.0.0-beta.30",
- "web3-providers-ws": "1.0.0-beta.30"
- }
- },
- "web3-core-subscriptions": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.30.tgz",
- "integrity": "sha1-MWUsdTVsP2floZzRS40xS61OISc=",
- "requires": {
- "eventemitter3": "1.1.1",
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.30"
- }
- },
- "web3-eth": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.30.tgz",
- "integrity": "sha1-ApsV4Uy2CLnP4CYDtQTWUYcPBQE=",
- "requires": {
- "underscore": "1.8.3",
- "web3-core": "1.0.0-beta.30",
- "web3-core-helpers": "1.0.0-beta.30",
- "web3-core-method": "1.0.0-beta.30",
- "web3-core-subscriptions": "1.0.0-beta.30",
- "web3-eth-abi": "1.0.0-beta.30",
- "web3-eth-accounts": "1.0.0-beta.30",
- "web3-eth-contract": "1.0.0-beta.30",
- "web3-eth-iban": "1.0.0-beta.30",
- "web3-eth-personal": "1.0.0-beta.30",
- "web3-net": "1.0.0-beta.30",
- "web3-utils": "1.0.0-beta.30"
- }
- },
- "web3-eth-abi": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.30.tgz",
- "integrity": "sha1-bqUsmZqFBbR8L4i6YdKmgKEGZAk=",
- "requires": {
- "bn.js": "4.11.6",
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.30",
- "web3-utils": "1.0.0-beta.30"
+ "webpack": {
+ "version": "4.29.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.29.0.tgz",
+ "integrity": "sha512-pxdGG0keDBtamE1mNvT5zyBdx+7wkh6mh7uzMOo/uRQ/fhsdj5FXkh/j5mapzs060forql1oXqXN9HJGju+y7w==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/ast": "1.7.11",
+ "@webassemblyjs/helper-module-context": "1.7.11",
+ "@webassemblyjs/wasm-edit": "1.7.11",
+ "@webassemblyjs/wasm-parser": "1.7.11",
+ "acorn": "6.1.1",
+ "acorn-dynamic-import": "4.0.0",
+ "ajv": "6.9.1",
+ "ajv-keywords": "3.4.0",
+ "chrome-trace-event": "1.0.2",
+ "enhanced-resolve": "4.1.0",
+ "eslint-scope": "4.0.3",
+ "json-parse-better-errors": "1.0.2",
+ "loader-runner": "2.4.0",
+ "loader-utils": "1.2.3",
+ "memory-fs": "0.4.1",
+ "micromatch": "3.1.10",
+ "mkdirp": "0.5.1",
+ "neo-async": "2.6.1",
+ "node-libs-browser": "2.2.0",
+ "schema-utils": "0.4.7",
+ "tapable": "1.1.3",
+ "terser-webpack-plugin": "1.2.2",
+ "watchpack": "1.6.0",
+ "webpack-sources": "1.3.0"
},
"dependencies": {
- "bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU="
+ "schema-utils": {
+ "version": "0.4.7",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz",
+ "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==",
+ "dev": true,
+ "requires": {
+ "ajv": "6.9.1",
+ "ajv-keywords": "3.4.0"
+ }
}
}
},
- "web3-eth-accounts": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.30.tgz",
- "integrity": "sha1-jwobNCxCg4EjciQqbi3yaIh7O3A=",
+ "webpack-core": {
+ "version": "0.6.9",
+ "resolved": "https://registry.npmjs.org/webpack-core/-/webpack-core-0.6.9.tgz",
+ "integrity": "sha1-/FcViMhVjad76e+23r3Fo7FyvcI=",
+ "dev": true,
"requires": {
- "bluebird": "3.3.1",
- "crypto-browserify": "3.12.0",
- "eth-lib": "0.2.7",
- "scrypt.js": "0.2.0",
- "underscore": "1.8.3",
- "uuid": "2.0.1",
- "web3-core": "1.0.0-beta.30",
- "web3-core-helpers": "1.0.0-beta.30",
- "web3-core-method": "1.0.0-beta.30",
- "web3-utils": "1.0.0-beta.30"
+ "source-list-map": "0.1.8",
+ "source-map": "0.4.4"
},
"dependencies": {
- "bluebird": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.1.tgz",
- "integrity": "sha1-+Xrhlw9B2FF3KDBT6aEgFg5mxh0="
+ "source-list-map": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.8.tgz",
+ "integrity": "sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY=",
+ "dev": true
},
- "eth-lib": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz",
- "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=",
+ "source-map": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+ "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+ "dev": true,
"requires": {
- "bn.js": "4.11.8",
- "elliptic": "6.4.1",
- "xhr-request-promise": "0.1.2"
+ "amdefine": "1.0.1"
}
- },
- "uuid": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz",
- "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w="
}
}
},
- "web3-eth-contract": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.30.tgz",
- "integrity": "sha1-1+uiOFCE3/PHWqxII1ryyNLWolg=",
- "requires": {
- "underscore": "1.8.3",
- "web3-core": "1.0.0-beta.30",
- "web3-core-helpers": "1.0.0-beta.30",
- "web3-core-method": "1.0.0-beta.30",
- "web3-core-promievent": "1.0.0-beta.30",
- "web3-core-subscriptions": "1.0.0-beta.30",
- "web3-eth-abi": "1.0.0-beta.30",
- "web3-utils": "1.0.0-beta.30"
- }
- },
- "web3-eth-ens": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.36.tgz",
- "integrity": "sha512-8ZdD7XoJfSX3jNlZHSLe4G837xQ0v5a8cHCcDcd1IoqoY855X9SrIQ0Xdqia9p4mR1YcH1vgmkXY9/3hsvxS7g==",
- "requires": {
- "eth-ens-namehash": "2.0.8",
- "underscore": "1.8.3",
- "web3-core": "1.0.0-beta.36",
- "web3-core-helpers": "1.0.0-beta.36",
- "web3-core-promievent": "1.0.0-beta.36",
- "web3-eth-abi": "1.0.0-beta.36",
- "web3-eth-contract": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
+ "webpack-dev-middleware": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.5.1.tgz",
+ "integrity": "sha512-4dwCh/AyMOYAybggUr8fiCkRnjVDp+Cqlr9c+aaNB3GJYgRGYQWJ1YX/WAKUNA9dPNHZ6QSN2lYDKqjKSI8Vqw==",
+ "dev": true,
+ "requires": {
+ "memory-fs": "0.4.1",
+ "mime": "2.4.3",
+ "range-parser": "1.2.1",
+ "webpack-log": "2.0.0"
+ },
+ "dependencies": {
+ "mime": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.3.tgz",
+ "integrity": "sha512-QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==",
+ "dev": true
+ }
+ }
+ },
+ "webpack-dev-server": {
+ "version": "3.1.14",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz",
+ "integrity": "sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ==",
+ "dev": true,
+ "requires": {
+ "ansi-html": "0.0.7",
+ "bonjour": "3.5.0",
+ "chokidar": "2.0.4",
+ "compression": "1.7.4",
+ "connect-history-api-fallback": "1.6.0",
+ "debug": "3.2.6",
+ "del": "3.0.0",
+ "express": "4.17.1",
+ "html-entities": "1.2.1",
+ "http-proxy-middleware": "0.18.0",
+ "import-local": "2.0.0",
+ "internal-ip": "3.0.1",
+ "ip": "1.1.5",
+ "killable": "1.0.1",
+ "loglevel": "1.6.2",
+ "opn": "5.5.0",
+ "portfinder": "1.0.20",
+ "schema-utils": "1.0.0",
+ "selfsigned": "1.10.4",
+ "semver": "5.6.0",
+ "serve-index": "1.9.1",
+ "sockjs": "0.3.19",
+ "sockjs-client": "1.3.0",
+ "spdy": "4.0.0",
+ "strip-ansi": "3.0.1",
+ "supports-color": "5.5.0",
+ "url": "0.11.0",
+ "webpack-dev-middleware": "3.4.0",
+ "webpack-log": "2.0.0",
+ "yargs": "12.0.2"
},
"dependencies": {
- "bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU="
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
+ "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "dev": true
+ },
+ "cliui": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
+ "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "2.1.1",
+ "strip-ansi": "4.0.0",
+ "wrap-ansi": "2.1.0"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
+ }
+ },
+ "cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "requires": {
+ "nice-try": "1.0.5",
+ "path-key": "2.0.1",
+ "semver": "5.6.0",
+ "shebang-command": "1.2.0",
+ "which": "1.3.1"
+ }
+ },
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.1"
+ }
},
- "web3-core": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.36.tgz",
- "integrity": "sha512-C2QW9CMMRZdYAiKiLkMrKRSp+gekSqTDgZTNvlxAdN1hXn4d9UmcmWSJXOmIHqr5N2ISbRod+bW+qChODxVE3Q==",
+ "decamelize": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz",
+ "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==",
+ "dev": true,
"requires": {
- "web3-core-helpers": "1.0.0-beta.36",
- "web3-core-method": "1.0.0-beta.36",
- "web3-core-requestmanager": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
+ "xregexp": "4.0.0"
}
},
- "web3-core-helpers": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.36.tgz",
- "integrity": "sha512-gu74l0htiGWuxLQuMnZqKToFvkSM+UFPE7qUuy1ZosH/h2Jd+VBWg6k4CyNYVYfP0hL5x3CN8SBmB+HMowo55A==",
+ "execa": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "dev": true,
"requires": {
- "underscore": "1.8.3",
- "web3-eth-iban": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
+ "cross-spawn": "6.0.5",
+ "get-stream": "4.1.0",
+ "is-stream": "1.1.0",
+ "npm-run-path": "2.0.2",
+ "p-finally": "1.0.0",
+ "signal-exit": "3.0.2",
+ "strip-eof": "1.0.0"
}
},
- "web3-core-method": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.36.tgz",
- "integrity": "sha512-dJsP3KkGaqBBSdxfzvLsYPOmVaSs1lR/3oKob/gtUYG7UyTnwquwliAc7OXj+gqRA2E/FHZcM83cWdl31ltdSA==",
+ "find-up": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+ "dev": true,
"requires": {
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.36",
- "web3-core-promievent": "1.0.0-beta.36",
- "web3-core-subscriptions": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
+ "locate-path": "3.0.0"
}
},
- "web3-core-promievent": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.36.tgz",
- "integrity": "sha512-RGIL6TjcOeJTullFLMurChPTsg94cPF6LI763y/sPYtXTDol1vVa+J5aGLp/4WW8v+s+1bSQO6zYq2ZtkbmtEQ==",
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
"requires": {
- "any-promise": "1.3.0",
- "eventemitter3": "1.1.1"
+ "pump": "3.0.0"
}
},
- "web3-core-requestmanager": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.36.tgz",
- "integrity": "sha512-/CHuaMbiMDu1v8ANGYI7yFCnh1GaCWx5pKnUPJf+QTk2xAAw+Bvd97yZJIWPOK5AOPUIzxgwx9Ob/5ln6mTmYA==",
+ "invert-kv": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
+ "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
+ "lcid": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
+ "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+ "dev": true,
"requires": {
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.36",
- "web3-providers-http": "1.0.0-beta.36",
- "web3-providers-ipc": "1.0.0-beta.36",
- "web3-providers-ws": "1.0.0-beta.36"
+ "invert-kv": "2.0.0"
}
},
- "web3-core-subscriptions": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.36.tgz",
- "integrity": "sha512-/evyLQ8CMEYXC5aUCodDpmEnmGVYQxaIjiEIfA/85f9ifHkfzP1aOwCAjcsLsJWnwrWDagxSpjCYrDtnNabdEw==",
+ "locate-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+ "dev": true,
"requires": {
- "eventemitter3": "1.1.1",
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.36"
+ "p-locate": "3.0.0",
+ "path-exists": "3.0.0"
}
},
- "web3-eth-abi": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.36.tgz",
- "integrity": "sha512-fBfW+7hvA0rxEMV45fO7JU+0R32ayT7aRwG9Cl6NW2/QvhFeME2qVbMIWw0q5MryPZGIN8A6366hKNuWvVidDg==",
+ "mime": {
+ "version": "2.4.3",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.3.tgz",
+ "integrity": "sha512-QgrPRJfE+riq5TPZMcHZOtm8c6K/yYrMbKIoRfapfiGLxS8OTeIfRhUGW5LU7MlRa52KOAGCfUNruqLrIBvWZw==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+ "dev": true
+ },
+ "os-locale": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
+ "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+ "dev": true,
"requires": {
- "ethers": "4.0.0-beta.1",
- "underscore": "1.8.3",
- "web3-utils": "1.0.0-beta.36"
+ "execa": "1.0.0",
+ "lcid": "2.0.0",
+ "mem": "4.3.0"
}
},
- "web3-eth-contract": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.36.tgz",
- "integrity": "sha512-cywqcIrUsCW4fyqsHdOb24OCC8AnBol8kNiptI+IHRylyCjTNgr53bUbjrXWjmEnear90rO0QhAVjLB1a4iEbQ==",
+ "p-limit": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz",
+ "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==",
+ "dev": true,
"requires": {
- "underscore": "1.8.3",
- "web3-core": "1.0.0-beta.36",
- "web3-core-helpers": "1.0.0-beta.36",
- "web3-core-method": "1.0.0-beta.36",
- "web3-core-promievent": "1.0.0-beta.36",
- "web3-core-subscriptions": "1.0.0-beta.36",
- "web3-eth-abi": "1.0.0-beta.36",
- "web3-utils": "1.0.0-beta.36"
+ "p-try": "2.2.0"
}
},
- "web3-eth-iban": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.36.tgz",
- "integrity": "sha512-b5AEDjjhOLR4q47Hbzf65zYE+7U7JgCgrUb13RU4HMIGoMb1q4DXaJw1UH8VVHCZulevl2QBjpCyrntecMqqCQ==",
+ "p-locate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+ "dev": true,
"requires": {
- "bn.js": "4.11.6",
- "web3-utils": "1.0.0-beta.36"
+ "p-limit": "2.2.0"
}
},
- "web3-providers-http": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.0.0-beta.36.tgz",
- "integrity": "sha512-KLSqMS59nRdpet9B0B64MKgtM3n9wAHTcAHJ03hv79avQNTjHxtjZm0ttcjcFUPpWDgTCtcYCa7tqaYo9Pbeog==",
+ "p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
"requires": {
- "web3-core-helpers": "1.0.0-beta.36",
- "xhr2-cookies": "1.1.0"
+ "end-of-stream": "1.4.1",
+ "once": "1.4.0"
}
},
- "web3-providers-ipc": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.36.tgz",
- "integrity": "sha512-iEUrmdd2CzoWgp+75/ydom/1IaoLw95qkAzsgwjjZp1waDncHP/cvVGX74+fbUx4hRaPdchyzxCQfNpgLDmNjQ==",
+ "string-width": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
+ "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "dev": true,
"requires": {
- "oboe": "2.1.3",
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.36"
+ "is-fullwidth-code-point": "2.0.0",
+ "strip-ansi": "4.0.0"
+ },
+ "dependencies": {
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "3.0.0"
+ }
+ }
}
},
- "web3-providers-ws": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.36.tgz",
- "integrity": "sha512-wAnENuZx75T5ZSrT2De2LOaUuPf2yRjq1VfcbD7+Zd79F3DZZLBJcPyCNVQ1U0fAXt0wfgCKl7sVw5pffqR9Bw==",
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
"requires": {
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.36",
- "websocket": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2"
+ "has-flag": "3.0.0"
}
},
- "web3-utils": {
- "version": "1.0.0-beta.36",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.36.tgz",
- "integrity": "sha512-7ri74lG5fS2Th0fhYvTtiEHMB1Pmf2p7dQx1COQ3OHNI/CHNEMjzoNMEbBU6FAENrywfoFur40K4m0AOmEUq5A==",
+ "webpack-dev-middleware": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz",
+ "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==",
+ "dev": true,
"requires": {
- "bn.js": "4.11.6",
- "eth-lib": "0.1.27",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randomhex": "0.1.5",
- "underscore": "1.8.3",
- "utf8": "2.1.1"
+ "memory-fs": "0.4.1",
+ "mime": "2.4.3",
+ "range-parser": "1.2.1",
+ "webpack-log": "2.0.0"
}
},
- "websocket": {
- "version": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2",
+ "which-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+ "dev": true
+ },
+ "yargs": {
+ "version": "12.0.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz",
+ "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==",
+ "dev": true,
"requires": {
- "debug": "2.6.9",
- "nan": "2.11.1",
- "typedarray-to-buffer": "3.1.5",
- "yaeti": "0.0.6"
+ "cliui": "4.1.0",
+ "decamelize": "2.0.0",
+ "find-up": "3.0.0",
+ "get-caller-file": "1.0.3",
+ "os-locale": "3.1.0",
+ "require-directory": "2.1.1",
+ "require-main-filename": "1.0.1",
+ "set-blocking": "2.0.0",
+ "string-width": "2.1.1",
+ "which-module": "2.0.0",
+ "y18n": "4.0.0",
+ "yargs-parser": "10.1.0"
}
- }
- }
- },
- "web3-eth-iban": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.30.tgz",
- "integrity": "sha1-OwgKXE2h+jdHexfkyQB4G5IVBkU=",
- "requires": {
- "bn.js": "4.11.8",
- "web3-utils": "1.0.0-beta.30"
- }
- },
- "web3-eth-personal": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.30.tgz",
- "integrity": "sha1-i9TvQLO1+EHdOouXhz2dx5HK90g=",
- "requires": {
- "web3-core": "1.0.0-beta.30",
- "web3-core-helpers": "1.0.0-beta.30",
- "web3-core-method": "1.0.0-beta.30",
- "web3-net": "1.0.0-beta.30",
- "web3-utils": "1.0.0-beta.30"
- }
- },
- "web3-net": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.30.tgz",
- "integrity": "sha1-CjUu3ilubUt/iLZ6pHTklwPec78=",
- "requires": {
- "web3-core": "1.0.0-beta.30",
- "web3-core-method": "1.0.0-beta.30",
- "web3-utils": "1.0.0-beta.30"
- }
- },
- "web3-providers-http": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.0.0-beta.30.tgz",
- "integrity": "sha1-zajZEzxvMdGoEtxaQq8Ay+qYzYY=",
- "requires": {
- "web3-core-helpers": "1.0.0-beta.30",
- "xhr2": "0.1.4"
- }
- },
- "web3-providers-ipc": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.30.tgz",
- "integrity": "sha1-7i2NGKPxILd3BEpW5n4K7iCFRYc=",
- "requires": {
- "oboe": "2.1.3",
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.30"
- }
- },
- "web3-providers-ws": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.30.tgz",
- "integrity": "sha1-muaanq2Kh2H4Y3n6NHttta5EsS0=",
- "requires": {
- "underscore": "1.8.3",
- "web3-core-helpers": "1.0.0-beta.30",
- "websocket": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2"
- },
- "dependencies": {
- "websocket": {
- "version": "git://github.com/frozeman/WebSocket-Node.git#6c72925e3f8aaaea8dc8450f97627e85263999f2",
+ },
+ "yargs-parser": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
+ "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
+ "dev": true,
"requires": {
- "debug": "2.6.9",
- "nan": "2.11.1",
- "typedarray-to-buffer": "3.1.5",
- "yaeti": "0.0.6"
+ "camelcase": "4.1.0"
}
}
}
},
- "web3-shh": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.30.tgz",
- "integrity": "sha1-K/4yINlY/0ylkgF3kIUrxXt7DKc=",
- "requires": {
- "web3-core": "1.0.0-beta.30",
- "web3-core-method": "1.0.0-beta.30",
- "web3-core-subscriptions": "1.0.0-beta.30",
- "web3-net": "1.0.0-beta.30"
- }
- },
- "web3-utils": {
- "version": "1.0.0-beta.30",
- "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.30.tgz",
- "integrity": "sha1-6uQIzI1tb+zI1Ql8/q1Rdz8jH/k=",
- "requires": {
- "bn.js": "4.11.6",
- "eth-lib": "0.1.27",
- "ethjs-unit": "0.1.6",
- "number-to-bn": "1.7.0",
- "randomhex": "0.1.5",
- "underscore": "1.8.3",
- "utf8": "2.1.1"
- },
- "dependencies": {
- "bn.js": {
- "version": "4.11.6",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz",
- "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU="
- }
- }
- },
- "webdriver-js-extender": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz",
- "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==",
+ "webpack-log": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz",
+ "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==",
"dev": true,
"requires": {
- "@types/selenium-webdriver": "3.0.13",
- "selenium-webdriver": "3.6.0"
- }
- },
- "webpack": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-2.7.0.tgz",
- "integrity": "sha512-MjAA0ZqO1ba7ZQJRnoCdbM56mmFpipOPUv/vQpwwfSI42p5PVDdoiuK2AL2FwFUVgT859Jr43bFZXRg/LNsqvg==",
- "requires": {
- "acorn": "5.7.3",
- "acorn-dynamic-import": "2.0.2",
- "ajv": "4.11.8",
- "ajv-keywords": "1.5.1",
- "async": "2.6.1",
- "enhanced-resolve": "3.4.1",
- "interpret": "1.1.0",
- "json-loader": "0.5.7",
- "json5": "0.5.1",
- "loader-runner": "2.3.1",
- "loader-utils": "0.2.17",
- "memory-fs": "0.4.1",
- "mkdirp": "0.5.1",
- "node-libs-browser": "2.1.0",
- "source-map": "0.5.7",
- "supports-color": "3.2.3",
- "tapable": "0.2.8",
- "uglify-js": "2.8.29",
- "watchpack": "1.6.0",
- "webpack-sources": "1.3.0",
- "yargs": "6.6.0"
- },
- "dependencies": {
- "ajv": {
- "version": "4.11.8",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
- "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
- "requires": {
- "co": "4.6.0",
- "json-stable-stringify": "1.0.1"
- }
- },
- "supports-color": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
- "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
- "requires": {
- "has-flag": "1.0.0"
- }
- }
+ "ansi-colors": "3.2.4",
+ "uuid": "3.3.2"
}
},
- "webpack-dev-middleware": {
- "version": "1.12.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz",
- "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==",
+ "webpack-merge": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.1.tgz",
+ "integrity": "sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw==",
"dev": true,
"requires": {
- "memory-fs": "0.4.1",
- "mime": "1.6.0",
- "path-is-absolute": "1.0.1",
- "range-parser": "1.2.0",
- "time-stamp": "2.2.0"
- },
- "dependencies": {
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true
- }
+ "lodash": "4.17.11"
}
},
"webpack-sources": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz",
"integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==",
+ "dev": true,
"requires": {
"source-list-map": "2.0.1",
"source-map": "0.6.1"
@@ -15726,33 +11145,25 @@
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
}
}
},
- "webrtc-adapter": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-3.4.3.tgz",
- "integrity": "sha1-tjYGLu6abvFYrNDYUBtnhDS1bxY=",
- "requires": {
- "sdp": "1.5.4"
- }
- },
- "websocket": {
- "version": "1.0.28",
- "resolved": "https://registry.npmjs.org/websocket/-/websocket-1.0.28.tgz",
- "integrity": "sha512-00y/20/80P7H4bCYkzuuvvfDvh+dgtXi5kzDf3UcZwN6boTYaKvsrtZ5lIYm1Gsg48siMErd9M4zjSYfYFHTrA==",
+ "webpack-subresource-integrity": {
+ "version": "1.1.0-rc.6",
+ "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.1.0-rc.6.tgz",
+ "integrity": "sha512-Az7y8xTniNhaA0620AV1KPwWOqawurVVDzQSpPAeR5RwNbL91GoBSJAAo9cfd+GiFHwsS5bbHepBw1e6Hzxy4w==",
+ "dev": true,
"requires": {
- "debug": "2.6.9",
- "nan": "2.11.1",
- "typedarray-to-buffer": "3.1.5",
- "yaeti": "0.0.6"
+ "webpack-core": "0.6.9"
}
},
"websocket-driver": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
"integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
+ "dev": true,
"requires": {
"http-parser-js": "0.5.0",
"websocket-extensions": "0.1.3"
@@ -15761,7 +11172,14 @@
"websocket-extensions": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
- "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg=="
+ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
+ "dev": true
+ },
+ "when": {
+ "version": "3.6.4",
+ "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz",
+ "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=",
+ "dev": true
},
"which": {
"version": "1.3.1",
@@ -15774,7 +11192,9 @@
"which-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
- "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8="
+ "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
+ "dev": true,
+ "optional": true
},
"wide-align": {
"version": "1.1.3",
@@ -15785,84 +11205,26 @@
"string-width": "1.0.2"
}
},
- "widest-line": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz",
- "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==",
- "dev": true,
- "requires": {
- "string-width": "2.1.1"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true
- },
- "is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
- "dev": true
- },
- "string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
- "dev": true,
- "requires": {
- "is-fullwidth-code-point": "2.0.0",
- "strip-ansi": "4.0.0"
- }
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "requires": {
- "ansi-regex": "3.0.0"
- }
- }
- }
- },
- "wif": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/wif/-/wif-2.0.6.tgz",
- "integrity": "sha1-CNP1IFbGZnkplyb63g1DKudLRwQ=",
- "requires": {
- "bs58check": "2.1.2"
- }
+ "wordwrap": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+ "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+ "dev": true
},
- "win-release": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz",
- "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=",
+ "worker-farm": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
+ "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==",
+ "dev": true,
"requires": {
- "semver": "5.6.0"
+ "errno": "0.1.7"
}
},
- "window-size": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
- "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0="
- },
- "word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true
- },
- "wordwrap": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
- "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8="
- },
"wrap-ansi": {
"version": "2.1.0",
- "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+ "dev": true,
"requires": {
"string-width": "1.0.2",
"strip-ansi": "3.0.1"
@@ -15873,102 +11235,22 @@
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
- "write-file-atomic": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
- "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
- "dev": true,
- "requires": {
- "graceful-fs": "4.1.15",
- "imurmurhash": "0.1.4",
- "signal-exit": "3.0.2"
- }
- },
"ws": {
- "version": "3.3.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
- "requires": {
- "async-limiter": "1.0.0",
- "safe-buffer": "5.1.2",
- "ultron": "1.1.1"
- }
- },
- "wtf-8": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wtf-8/-/wtf-8-1.0.0.tgz",
- "integrity": "sha1-OS2LotDxw00e4tYw8V0O+2jhBIo=",
- "dev": true
- },
- "xcode": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/xcode/-/xcode-0.9.3.tgz",
- "integrity": "sha1-kQqJwWrubMC0LKgFptC0z4chHPM=",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
+ "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
"dev": true,
"requires": {
- "pegjs": "0.10.0",
- "simple-plist": "0.2.1",
- "uuid": "3.0.1"
- },
- "dependencies": {
- "uuid": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz",
- "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=",
- "dev": true
- }
- }
- },
- "xdg-basedir": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
- "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=",
- "dev": true
- },
- "xhr": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.5.0.tgz",
- "integrity": "sha512-4nlO/14t3BNUZRXIXfXe+3N6w3s1KoxcJUUURctd64BLRe67E4gRwp4PjywtDY72fXpZ1y6Ch0VZQRY/gMPzzQ==",
- "requires": {
- "global": "4.3.2",
- "is-function": "1.0.1",
- "parse-headers": "2.0.1",
- "xtend": "4.0.1"
- }
- },
- "xhr-request": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz",
- "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==",
- "requires": {
- "buffer-to-arraybuffer": "0.0.5",
- "object-assign": "4.1.1",
- "query-string": "5.1.1",
- "simple-get": "2.8.1",
- "timed-out": "4.0.1",
- "url-set-query": "1.0.0",
- "xhr": "2.5.0"
- }
- },
- "xhr-request-promise": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz",
- "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=",
- "requires": {
- "xhr-request": "1.1.0"
+ "async-limiter": "1.0.0"
}
},
- "xhr2": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.1.4.tgz",
- "integrity": "sha1-f4dliEdxbbUCYyOBL4GMras4el8="
- },
- "xhr2-cookies": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz",
- "integrity": "sha1-fXdEnQmZGX8VXLc7I99yUF7YnUg=",
+ "xcode": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/xcode/-/xcode-2.0.0.tgz",
+ "integrity": "sha512-5xF6RCjAdDEiEsbbZaS/gBRt3jZ/177otZcpoLCjGN/u1LrfgH7/Sgeeavpr/jELpyDqN2im3AKosl2G2W8hfw==",
"requires": {
- "cookiejar": "2.1.2"
+ "simple-plist": "1.0.0",
+ "uuid": "3.3.2"
}
},
"xml-escape": {
@@ -15980,9 +11262,18 @@
"version": "0.4.19",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
"integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
+ "dev": true,
"requires": {
"sax": "1.2.4",
"xmlbuilder": "9.0.7"
+ },
+ "dependencies": {
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+ "dev": true
+ }
}
},
"xmlbuilder": {
@@ -15995,41 +11286,42 @@
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz",
"integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
},
- "xmlhttprequest": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
- "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw="
- },
"xmlhttprequest-ssl": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz",
- "integrity": "sha1-GFqIjATspGw+QHDZn3tJ3jUomS0=",
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
+ "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
+ "dev": true
+ },
+ "xregexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz",
+ "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==",
"dev": true
},
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
- "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
+ "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+ "dev": true
},
"y18n": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
- "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
- },
- "yaeti": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/yaeti/-/yaeti-0.0.6.tgz",
- "integrity": "sha1-8m9ITXJoTPQr7ft2lwqhYI+/lXc="
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+ "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+ "dev": true
},
"yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true
},
"yargs": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz",
- "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
+ "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
+ "dev": true,
+ "optional": true,
"requires": {
"camelcase": "3.0.0",
"cliui": "3.2.0",
@@ -16043,30 +11335,31 @@
"string-width": "1.0.2",
"which-module": "1.0.0",
"y18n": "3.2.1",
- "yargs-parser": "4.2.1"
+ "yargs-parser": "5.0.0"
},
"dependencies": {
"camelcase": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true,
+ "optional": true
},
- "cliui": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
- "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
- "requires": {
- "string-width": "1.0.2",
- "strip-ansi": "3.0.1",
- "wrap-ansi": "2.1.0"
- }
+ "y18n": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
+ "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
+ "dev": true,
+ "optional": true
}
}
},
"yargs-parser": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz",
- "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
+ "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
+ "dev": true,
+ "optional": true,
"requires": {
"camelcase": "3.0.0"
},
@@ -16074,19 +11367,12 @@
"camelcase": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
- "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
+ "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
+ "dev": true,
+ "optional": true
}
}
},
- "yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
- "requires": {
- "buffer-crc32": "0.2.13",
- "fd-slicer": "1.1.0"
- }
- },
"yeast": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
@@ -16094,26 +11380,15 @@
"dev": true
},
"yn": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/yn/-/yn-2.0.0.tgz",
- "integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.0.tgz",
+ "integrity": "sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==",
"dev": true
},
- "zip-stream": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz",
- "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=",
- "requires": {
- "archiver-utils": "1.3.0",
- "compress-commons": "1.2.2",
- "lodash": "4.17.11",
- "readable-stream": "2.3.6"
- }
- },
"zone.js": {
- "version": "0.8.18",
- "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.18.tgz",
- "integrity": "sha512-knKOBQM0oea3/x9pdyDuDi7RhxDlJhOIkeixXSiTKWLgs4LpK37iBc+1HaHwzlciHUKT172CymJFKo8Xgh+44Q=="
+ "version": "0.8.29",
+ "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.29.tgz",
+ "integrity": "sha512-mla2acNCMkWXBD+c+yeUrBUrzOxYMNFdQ6FGfigGGtEVBPJx07BQeJekjt9DmH1FtZek4E9rE1eRR9qQpxACOQ=="
}
}
}
diff --git a/package.json b/package.json
index e027c89a..f9666ffb 100644
--- a/package.json
+++ b/package.json
@@ -1,205 +1,75 @@
{
"name": "airgap-vault",
+ "description": "A secure crypto wallet",
"version": "1.0.0",
"author": "Papers.ch ",
"homepage": "https://papers.ch/",
"private": true,
"main": "electron/main.js",
"scripts": {
+ "ng": "ng",
+ "start": "ng serve",
+ "build": "ng build",
+ "test": "ng test",
+ "test-ci": "ng test --code-coverage --watch=false",
+ "lint": "ng lint",
+ "lint-ci": "ng lint app --format json > ./lintReport.json || true",
+ "lint-fix": "tslint --fix --project tsconfig.json",
+ "e2e": "ng e2e",
"sonar-scanner": "sonar-scanner",
- "clean": "ionic-app-scripts clean",
- "build": "ionic-app-scripts build",
- "ionic:serve": "ionic-app-scripts serve",
- "lint": "ionic-app-scripts lint",
- "lint-ci": "tslint -t json -o lintReport.json --project . || true",
- "setup": "npm install",
- "test": "karma start ./test-config/karma.conf.js",
- "test-ci": "karma start ./test-config/karma.conf.js --single-run --coverage",
- "test-coverage": "karma start ./test-config/karma.conf.js --coverage",
- "e2e": "npm run e2e-update && npm run e2e-test",
- "e2e-test": "protractor ./test-config/protractor.conf.js",
- "e2e-test-docker": "protractor ./test-config/protractor-docker.conf.js",
- "e2e-test-ci": "protractor ./test-config/protractor-ci.conf.js",
- "e2e-update": "webdriver-manager update --standalone false --gecko false",
- "e2e-debug": "node --inspect-brk protractor ./test-config/protractor.conf.js",
- "format": "prettier --write \"./**/*.ts\" \"./**/*.js\" \"./**/*.html\" \"./**/*.scss\" \"./**/*.json\"",
+ "format": "prettier --write \"src/**/*.ts\" \"src/**/*.js\" \"test/**/*.js\"",
+ "prepare-prod-build": "npm run disable-pure-getters && npm run configure-mangle",
+ "disable-pure-getters": "replace 'pure_getters: buildOptions.buildOptimizer' 'pure_getters: false' ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/common.js ",
+ "configure-mangle": "replace 'safari10: true' 'safari10: true, keep_fnames: true' ./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/common.js ",
"electron": "electron .",
"electron:release": "electron-builder -l --publish=never"
},
"dependencies": {
- "@aeternity/hd-wallet": "github:dschoeni/hd-wallet-js#b216450e56954a6e82ace0aade9474673de5d9d5",
- "@angular/common": "5.0.1",
- "@angular/compiler": "5.0.1",
- "@angular/compiler-cli": "5.0.1",
- "@angular/core": "5.0.1",
- "@angular/forms": "5.0.1",
- "@angular/http": "5.0.1",
- "@angular/platform-browser": "5.0.1",
- "@angular/platform-browser-dynamic": "5.0.1",
- "@download/blockies": "^1.0.3",
- "@ionic-native/app-version": "^4.18.0",
- "@ionic-native/camera-preview": "^4.5.2",
- "@ionic-native/clipboard": "^4.17.0",
- "@ionic-native/core": "^4.4.0",
- "@ionic-native/deeplinks": "^4.7.0",
- "@ionic-native/device-motion": "^4.4.0",
- "@ionic-native/diagnostic": "^4.17.0",
- "@ionic-native/gyroscope": "^4.5.2",
- "@ionic-native/qr-scanner": "^4.5.2",
- "@ionic-native/splash-screen": "4.4.0",
- "@ionic-native/status-bar": "^4.4.0",
- "@ionic/storage": "^2.1.3",
- "@ngx-translate/core": "^8.0.0",
- "@zxing/ngx-scanner": "^1.3.0",
- "airgap-coin-lib": "0.4.4",
- "angular2-template-loader": "^0.6.2",
- "angular2-uuid": "^1.1.1",
- "angularx-qrcode": "1.5.3",
- "bignumber.js": "^8.0.0",
- "bip39": "^2.4.0",
- "com.lampa.startapp": "^6.1.6",
- "cordova-android": "7.1.2",
- "cordova-android-support-gradle-release": "^1.4.7",
- "cordova-browser": "5.0.4",
- "cordova-clipboard": "^1.2.1",
- "cordova-ios": "5.0.0",
- "cordova-plugin-add-swift-support": "^1.7.2",
- "cordova-plugin-airgap-secure-storage": "0.1.7",
- "cordova-plugin-airgap-webview": "git+https://github.com/airgap-it/cordova-plugin-airgap-webview.git",
- "cordova-plugin-android-permissions": "^1.0.0",
- "cordova-plugin-app-version": "0.1.9",
- "cordova-plugin-audioinput": "^1.0.1",
- "cordova-plugin-camera-preview": "git+https://github.com/cordova-plugin-camera-preview/cordova-plugin-camera-preview.git",
- "cordova-plugin-compat": "^1.2.0",
- "cordova-plugin-device": "^1.1.7",
- "cordova-plugin-device-motion": "^2.0.1",
- "cordova-plugin-gyroscope": "^0.1.4",
- "cordova-plugin-ionic-keyboard": "^2.1.3",
- "cordova-plugin-ios-camera-permissions": "^1.2.0",
- "cordova-plugin-jailbreak-detection": "git+https://github.com/leecrossley/cordova-plugin-jailbreak-detection.git",
- "cordova-plugin-qrscanner": "2.6.2",
- "cordova-plugin-root-detection": "^0.1.1",
- "cordova-plugin-splashscreen": "^4.1.0",
- "cordova-plugin-statusbar": "^2.4.2",
- "cordova-plugin-whitelist": "^1.3.3",
- "cordova-sqlite-storage": "^2.5.1",
- "cordova.plugins.diagnostic": "4.0.10",
- "es6-promise-plugin": "^4.1.1",
- "har-validator": "^5.1.3",
- "html-loader": "^0.5.1",
- "ionic": "3.9.1",
- "ionic-angular": "3.9.2",
- "ionic-plugin-deeplinks": "git+https://github.com/airgap-it/ionic-plugin-deeplinks.git#cordova-ios-v5.0.0-fix",
- "ionic2-material-icons": "^1.0.3",
- "ionicons": "3.0.0",
- "js-sha3": "^0.7.0",
- "myetherwallet-blockies": "0.1.1",
- "rxjs": "5.5.2",
- "secrets.js-grempe": "^1.1.0",
- "sw-toolbox": "3.6.0",
- "web3": "^1.0.0-beta.36",
- "websocket": "^1.0.26",
- "zone.js": "0.8.18"
+ "@angular/common": "^7.2.2",
+ "@angular/core": "^7.2.2",
+ "@angular/forms": "^7.2.2",
+ "@angular/http": "^7.2.2",
+ "@angular/platform-browser": "^7.2.2",
+ "@angular/platform-browser-dynamic": "^7.2.2",
+ "@angular/router": "^7.2.2",
+ "@ionic-native/core": "^5.0.0",
+ "@ionic-native/splash-screen": "^5.0.0",
+ "@ionic-native/status-bar": "^5.0.0",
+ "@ionic/angular": "^4.1.0",
+ "cordova-ios": "5.0.1",
+ "core-js": "^2.5.4",
+ "rxjs": "~6.5.1",
+ "tslib": "^1.9.0",
+ "zone.js": "~0.8.29"
},
"devDependencies": {
- "@ionic/app-scripts": "^3.2.0",
- "@types/jasmine": "2.8.9",
- "@types/node": "^9.4.6",
- "cz-conventional-changelog": "^2.1.0",
- "electron": "^3.0.10",
- "electron-builder": "^20.36.2",
- "ionic-mocks": "^1.3.0",
- "istanbul-instrumenter-loader": "^3.0.0",
- "jasmine": "^2.99.0",
- "jasmine-spec-reporter": "^4.2.1",
- "karma": "^1.7.1",
- "karma-chrome-launcher": "^2.2.0",
- "karma-coverage-istanbul-reporter": "^1.3.0",
- "karma-jasmine": "^1.1.0",
- "karma-sourcemap-loader": "^0.3.7",
- "karma-spec-reporter": "0.0.31",
- "karma-webpack": "^2.0.4",
- "node-pre-gyp": "^0.12.0",
- "null-loader": "^0.1.1",
- "prettier": "^1.16.4",
- "pretty-quick": "^1.8.0",
- "protractor": "^5.1.2",
- "protractor-jasmine2-screenshot-reporter": "^0.5.0",
- "puppeteer": "^1.3.0",
- "sonarqube-scanner": "^2.1.0",
- "ts-loader": "^2.3.7",
- "ts-node": "^3.3.0",
- "tslint": "^5.11.0",
- "tslint-config-prettier": "^1.16.0",
- "tslint-config-standard": "github:papers-ch/tslint-config-standard",
- "typescript": "2.4.2",
- "typestrict": "^1.0.1",
- "xcode": "^0.9.3"
- },
- "description": "An Ionic boilerplate",
- "cordova": {
- "platforms": [
- "android",
- "ios"
- ],
- "plugins": {
- "cordova-plugin-whitelist": {},
- "cordova-plugin-device": {},
- "cordova-plugin-splashscreen": {},
- "cordova-plugin-audioinput": {},
- "cordova-plugin-gyroscope": {},
- "cordova-plugin-ios-camera-permissions": {
- "CAMERA_USAGE_DESCRIPTION": "AirGap uses your camera to scan QR Codes of transactions, and to generate entropy for the secure key generation.",
- "MICROPHONE_USAGE_DESCRIPTION": "AirGap uses your microphone to generate entropy for the secure key generation.",
- "PHOTOLIBRARY_ADD_USAGE_DESCRIPTION": "This app needs write-access to photo library",
- "PHOTOLIBRARY_USAGE_DESCRIPTION": "This app needs read/write-access photo library access"
- },
- "cordova-plugin-root-detection": {},
- "cordova-plugin-qrscanner": {},
- "cordova-android-support-gradle-release": {
- "ANDROID_SUPPORT_VERSION": "26.1.0"
- },
- "cordova-plugin-camera-preview": {
- "ANDROID_SUPPORT_LIBRARY_VERSION": "26.1.0"
- },
- "cordova-plugin-statusbar": {},
- "ionic-plugin-deeplinks": {
- "URL_SCHEME": "airgap-vault",
- "DEEPLINK_HOST": "vault.airgap.it",
- "DEEPLINK_SCHEME": "https",
- "ANDROID_PATH_PREFIX": "/",
- "ANDROID_2_PATH_PREFIX": "/",
- "ANDROID_3_PATH_PREFIX": "/",
- "ANDROID_4_PATH_PREFIX": "/",
- "ANDROID_5_PATH_PREFIX": "/",
- "DEEPLINK_2_SCHEME": " ",
- "DEEPLINK_2_HOST": " ",
- "DEEPLINK_3_SCHEME": " ",
- "DEEPLINK_3_HOST": " ",
- "DEEPLINK_4_SCHEME": " ",
- "DEEPLINK_4_HOST": " ",
- "DEEPLINK_5_SCHEME": " ",
- "DEEPLINK_5_HOST": " "
- },
- "cordova-sqlite-storage": {},
- "cordova-plugin-device-motion": {},
- "cordova-plugin-airgap-secure-storage": {},
- "com.lampa.startapp": {},
- "cordova-plugin-jailbreak-detection": {},
- "cordova-plugin-add-swift-support": {},
- "cordova-plugin-ionic-keyboard": {},
- "cordova-plugin-airgap-webview": {},
- "cordova-clipboard": {},
- "cordova.plugins.diagnostic": {},
- "cordova-plugin-app-version": {}
- }
- },
- "config": {
- "commitizen": {
- "path": "./node_modules/cz-conventional-changelog"
- },
- "ionic_copy": "./copy.config.js",
- "ionic_uglifyjs": "./uglifyjs.config.js"
+ "@angular-devkit/architect": "~0.13.8",
+ "@angular-devkit/build-angular": "~0.13.8",
+ "@angular-devkit/core": "~7.3.8",
+ "@angular-devkit/schematics": "~7.3.8",
+ "@angular/cli": "~7.3.8",
+ "@angular/compiler": "~7.2.2",
+ "@angular/compiler-cli": "~7.2.2",
+ "@angular/language-service": "~7.2.2",
+ "@ionic/angular-toolkit": "~1.5.1",
+ "@types/jasmine": "~2.8.8",
+ "@types/jasminewd2": "~2.0.3",
+ "@types/node": "~12.0.0",
+ "codelyzer": "~4.5.0",
+ "husky": "^2.3.0",
+ "jasmine-core": "~2.99.1",
+ "jasmine-spec-reporter": "~4.2.1",
+ "karma": "~4.1.0",
+ "karma-chrome-launcher": "~2.2.0",
+ "karma-coverage-istanbul-reporter": "~2.0.1",
+ "karma-jasmine": "~1.1.2",
+ "karma-jasmine-html-reporter": "^0.2.2",
+ "prettier": "^1.17.1",
+ "pretty-quick": "^1.11.0",
+ "protractor": "~5.4.0",
+ "ts-node": "~8.1.0",
+ "tslint": "~5.17.0",
+ "typescript": "~3.1.6"
},
"husky": {
"hooks": {
diff --git a/resources/android/xml/network_security_config.xml b/resources/android/xml/network_security_config.xml
new file mode 100644
index 00000000..9b8e50d4
--- /dev/null
+++ b/resources/android/xml/network_security_config.xml
@@ -0,0 +1,6 @@
+
+
+
+ localhost
+
+
\ No newline at end of file
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
new file mode 100644
index 00000000..4afe75e9
--- /dev/null
+++ b/src/app/app-routing.module.ts
@@ -0,0 +1,9 @@
+import { NgModule } from '@angular/core'
+import { PreloadAllModules, RouterModule, Routes } from '@angular/router'
+
+const routes: Routes = [{ path: '', loadChildren: './tabs/tabs.module#TabsPageModule' }]
+@NgModule({
+ imports: [RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })],
+ exports: [RouterModule]
+})
+export class AppRoutingModule {}
diff --git a/src/app/app.component.html b/src/app/app.component.html
new file mode 100644
index 00000000..13b96776
--- /dev/null
+++ b/src/app/app.component.html
@@ -0,0 +1,3 @@
+
+
+
diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts
new file mode 100644
index 00000000..a411a0e7
--- /dev/null
+++ b/src/app/app.component.spec.ts
@@ -0,0 +1,45 @@
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { TestBed, async } from '@angular/core/testing'
+
+import { Platform } from '@ionic/angular'
+import { SplashScreen } from '@ionic-native/splash-screen/ngx'
+import { StatusBar } from '@ionic-native/status-bar/ngx'
+
+import { AppComponent } from './app.component'
+
+describe('AppComponent', () => {
+ let statusBarSpy, splashScreenSpy, platformReadySpy, platformSpy
+
+ beforeEach(async(() => {
+ statusBarSpy = jasmine.createSpyObj('StatusBar', ['styleDefault'])
+ splashScreenSpy = jasmine.createSpyObj('SplashScreen', ['hide'])
+ platformReadySpy = Promise.resolve()
+ platformSpy = jasmine.createSpyObj('Platform', { ready: platformReadySpy })
+
+ TestBed.configureTestingModule({
+ declarations: [AppComponent],
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
+ providers: [
+ { provide: StatusBar, useValue: statusBarSpy },
+ { provide: SplashScreen, useValue: splashScreenSpy },
+ { provide: Platform, useValue: platformSpy }
+ ]
+ }).compileComponents()
+ }))
+
+ it('should create the app', () => {
+ const fixture = TestBed.createComponent(AppComponent)
+ const app = fixture.debugElement.componentInstance
+ expect(app).toBeTruthy()
+ })
+
+ it('should initialize the app', async () => {
+ TestBed.createComponent(AppComponent)
+ expect(platformSpy.ready).toHaveBeenCalled()
+ await platformReadySpy
+ expect(statusBarSpy.styleDefault).toHaveBeenCalled()
+ expect(splashScreenSpy.hide).toHaveBeenCalled()
+ })
+
+ // TODO: add more tests!
+})
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index c42d1622..83545d36 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -1,166 +1,22 @@
-import { Component, ViewChild, NgZone } from '@angular/core'
-import { Platform, Nav } from 'ionic-angular'
-import { StatusBar } from '@ionic-native/status-bar'
-import { SplashScreen } from '@ionic-native/splash-screen'
-import { TabsPage } from '../pages/tabs/tabs'
-import { Deeplinks } from '@ionic-native/deeplinks'
-import { StartupChecksProvider } from '../providers/startup-checks/startup-checks.provider'
-import { SchemeRoutingProvider } from '../providers/scheme-routing/scheme-routing'
-import { TranslateService } from '@ngx-translate/core'
-import { ProtocolsProvider } from '../providers/protocols/protocols'
-import { SecretsProvider } from '../providers/secrets/secrets.provider'
-import { handleErrorLocal, ErrorCategory } from '../providers/error-handler/error-handler'
-import { WalletSelectCoinsPage } from '../pages/wallet-select-coins/wallet-select-coins'
-import { SecretCreatePage } from '../pages/secret-create/secret-create'
+import { Component } from '@angular/core'
-const DEEPLINK_VAULT_PREFIX = `airgap-vault://`
-const DEEPLINK_VAULT_ADD_ACCOUNT = `${DEEPLINK_VAULT_PREFIX}add-account/`
-
-interface ExposedPromise {
- promise: Promise
- resolve: (value?: any | PromiseLike) => void
- reject: (reason?: any) => void
-}
-
-function exposedPromise(): ExposedPromise {
- let resolve, reject
-
- // tslint:disable-next-line:promise-must-complete
- const promise = new Promise((res, rej) => {
- resolve = res
- reject = rej
- })
-
- return { promise, resolve, reject }
-}
+import { Platform } from '@ionic/angular'
+import { SplashScreen } from '@ionic-native/splash-screen/ngx'
+import { StatusBar } from '@ionic-native/status-bar/ngx'
@Component({
- templateUrl: 'app.html'
+ selector: 'app-root',
+ templateUrl: 'app.component.html'
})
-export class MyApp {
- @ViewChild(Nav) nav: Nav
-
- rootPage: any = null
-
- // Sometimes the deeplink was registered before the root page was set
- // This resulted in the root page "overwriting" the deep-linked page
- isInitialized: ExposedPromise = exposedPromise()
-
- constructor(
- private platform: Platform,
- private statusBar: StatusBar,
- private splashScreen: SplashScreen,
- private deepLinks: Deeplinks,
- private startupChecks: StartupChecksProvider,
- private schemeRoutingProvider: SchemeRoutingProvider,
- private translate: TranslateService,
- private protocolsProvider: ProtocolsProvider,
- private secretsProvider: SecretsProvider,
- private ngZone: NgZone
- ) {
- window['airGapHasStarted'] = true
- this.initializeApp().catch(handleErrorLocal(ErrorCategory.OTHER))
+export class AppComponent {
+ constructor(private platform: Platform, private splashScreen: SplashScreen, private statusBar: StatusBar) {
+ this.initializeApp()
}
- async initializeApp() {
- const supportedLanguages = ['en', 'de', 'zh-cn']
- for (const lang of supportedLanguages) {
- // We bundle languages so we don't have to load it over http
- // and we don't have to add a CSP / whitelist rule for it.
- this.translate.setTranslation(lang, require(`../assets/i18n/${lang}.json`))
- // TODO: Once we add more languages, we probably should not all languages by default
- // (we have to check if we can optimize that)
- }
-
- this.loadLanguages(supportedLanguages)
- this.protocolsProvider.addProtocols()
-
- await this.platform.ready()
-
- if (this.platform.is('cordova')) {
- this.statusBar.styleLightContent()
- this.statusBar.backgroundColorByHexString('#311B58')
+ initializeApp() {
+ this.platform.ready().then(() => {
+ this.statusBar.styleDefault()
this.splashScreen.hide()
- }
-
- this.initChecks()
- }
-
- loadLanguages(supportedLanguages: string[]) {
- this.translate.setDefaultLang('en')
-
- const language = this.translate.getBrowserLang()
-
- if (language) {
- const lowerCaseLanguage = language.toLowerCase()
- supportedLanguages.forEach(supportedLanguage => {
- if (supportedLanguage.startsWith(lowerCaseLanguage)) {
- this.translate.use(supportedLanguage)
- }
- })
- }
- }
-
- initChecks() {
- this.startupChecks
- .initChecks()
- .then(async () => {
- await this.nav.setRoot(TabsPage)
- this.isInitialized.resolve()
- })
- .catch(async check => {
- check.consequence(this.initChecks.bind(this))
- this.isInitialized.reject(`startup check failed ${check.name}`) // If we are here, we cannot sign a transaction (no secret, rooted, etc)
- })
- }
-
- async ngAfterViewInit() {
- await this.platform.ready()
- if (this.platform.is('cordova')) {
- this.deepLinks
- .route({
- '/': undefined
- })
- .subscribe(
- match => {
- // match.$route - the route we matched, which is the matched entry from the arguments to route()
- // match.$args - the args passed in the link
- // match.$link - the full link data
- if (match && match.$link && match.$link.url) {
- this.isInitialized.promise
- .then(async () => {
- console.log('Successfully matched route', match.$link.url)
-
- if (match.$link.url === DEEPLINK_VAULT_PREFIX || match.$link.url.startsWith(DEEPLINK_VAULT_ADD_ACCOUNT)) {
- if (this.secretsProvider.currentSecretsList.getValue().length > 0) {
- this.ngZone.run(async () => {
- await this.nav.popToRoot()
- const protocol = match.$link.url.substr(DEEPLINK_VAULT_ADD_ACCOUNT.length)
- if (protocol.length > 0) {
- this.nav
- .push(WalletSelectCoinsPage, {
- protocol: protocol
- })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- } else {
- this.nav.push(WalletSelectCoinsPage).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
- })
- }
- } else {
- this.schemeRoutingProvider.handleNewSyncRequest(this.nav, match.$link.url).catch(console.error)
- }
- })
- .catch(console.error)
- }
- },
- nomatch => {
- // nomatch.$link - the full link data
- if (nomatch && nomatch.$link && nomatch.$link.url) {
- console.error("Got a deeplink that didn't match", nomatch.$link.url)
- }
- }
- )
- }
+ })
}
}
diff --git a/src/app/app.html b/src/app/app.html
deleted file mode 100644
index 7b88c969..00000000
--- a/src/app/app.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index bf7ce5f5..0bc6c264 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -1,104 +1,19 @@
+import { NgModule } from '@angular/core'
import { BrowserModule } from '@angular/platform-browser'
-import { NgModule, RendererFactory2, NgZone } from '@angular/core'
-import { IonicApp, IonicModule, Platform } from 'ionic-angular'
-import { SplashScreen } from '@ionic-native/splash-screen'
-import { StatusBar } from '@ionic-native/status-bar'
-import { Deeplinks } from '@ionic-native/deeplinks'
-import { HttpClient, HttpClientModule } from '@angular/common/http'
-import { TranslateModule } from '@ngx-translate/core'
-import { MyApp } from './app.component'
-import { CameraPreview } from '@ionic-native/camera-preview'
-import { Clipboard } from '@ionic-native/clipboard'
-import { Diagnostic } from '@ionic-native/diagnostic'
-import { AppVersion } from '@ionic-native/app-version'
-import { MaterialIconsModule } from 'ionic2-material-icons'
-import { SecretsProvider } from '../providers/secrets/secrets.provider'
-import { SecureStorageService } from '../providers/storage/secure-storage'
-import { SecureStorageFactory } from '../providers/storage/secure-storage.factory'
-import { DeviceProvider } from '../providers/device/device'
-import { CameraNativeService } from '../providers/camera/camera.native.service'
-import { CameraFactory } from '../providers/camera/camera.factory'
-import { AudioNativeService } from '../providers/audio/audio.native.service'
-import { AudioServiceFactory } from '../providers/audio/audio.factory'
-import { EntropyService } from '../providers/entropy/entropy.service'
-import { GyroscopeNativeService } from '../providers/gyroscope/gyroscope.native.service'
-import { GyroscopeServiceFactory } from '../providers/gyroscope/gyroscope.factory'
-import { ComponentsModule } from '../components/components.module'
-import { PagesModule } from '../pages/pages.module'
-import { ScannerProvider } from '../providers/scanner/scanner'
-import { IonicStorageModule } from '@ionic/storage'
-import { DeviceMotion } from '@ionic-native/device-motion'
-import { StartupChecksProvider } from '../providers/startup-checks/startup-checks.provider'
-import { SchemeRoutingProvider } from '../providers/scheme-routing/scheme-routing'
-import { ClipboardProvider } from '../providers/clipboard/clipboard'
-import { PermissionsProvider } from '../providers/permissions/permissions'
-import { ShareUrlProvider } from '../providers/share-url/share-url'
-import { ErrorHandlerProvider } from '../providers/error-handler/error-handler'
-import { InteractionProvider } from '../providers/interaction/interaction'
-import { DeepLinkProvider } from '../providers/deep-link/deep-link'
-import { ProtocolsProvider } from '../providers/protocols/protocols'
+import { RouteReuseStrategy } from '@angular/router'
+
+import { IonicModule, IonicRouteStrategy } from '@ionic/angular'
+import { SplashScreen } from '@ionic-native/splash-screen/ngx'
+import { StatusBar } from '@ionic-native/status-bar/ngx'
+
+import { AppRoutingModule } from './app-routing.module'
+import { AppComponent } from './app.component'
@NgModule({
- declarations: [MyApp],
- imports: [
- BrowserModule,
- MaterialIconsModule,
- HttpClientModule,
- TranslateModule.forRoot(),
- IonicModule.forRoot(MyApp, {
- tabsHideOnSubPages: true
- }),
- ComponentsModule,
- PagesModule,
- IonicStorageModule.forRoot({
- name: '__airgap_storage',
- driverOrder: ['sqlite', 'localstorage']
- })
- ],
- bootstrap: [IonicApp],
- entryComponents: [MyApp],
- providers: [
- StatusBar,
- SplashScreen,
- AppVersion,
- CameraPreview,
- Deeplinks,
- DeviceMotion,
- Diagnostic,
- SecretsProvider,
- EntropyService,
- StartupChecksProvider,
- ScannerProvider,
- Clipboard,
- {
- provide: SecureStorageService,
- useFactory: SecureStorageFactory,
- deps: [Platform]
- },
- {
- provide: CameraNativeService,
- useFactory: CameraFactory,
- deps: [Platform, CameraPreview, RendererFactory2, PermissionsProvider]
- },
- {
- provide: AudioNativeService,
- useFactory: AudioServiceFactory,
- deps: [Platform, PermissionsProvider]
- },
- {
- provide: GyroscopeNativeService,
- useFactory: GyroscopeServiceFactory,
- deps: [Platform, DeviceMotion]
- },
- ClipboardProvider,
- DeviceProvider,
- SchemeRoutingProvider,
- PermissionsProvider,
- InteractionProvider,
- ShareUrlProvider,
- ErrorHandlerProvider,
- DeepLinkProvider,
- ProtocolsProvider
- ]
+ declarations: [AppComponent],
+ entryComponents: [],
+ imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
+ providers: [StatusBar, SplashScreen, { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }],
+ bootstrap: [AppComponent]
})
export class AppModule {}
diff --git a/src/app/app.scss b/src/app/app.scss
index e186ae9b..499aacdb 100644
--- a/src/app/app.scss
+++ b/src/app/app.scss
@@ -1,186 +1,6 @@
-// http://ionicframework.com/docs/theming/
-
-// App Global Sass
-// --------------------------------------------------
-// Put style rules here that you want to apply globally. These
-// styles are for the entire app and not just one component.
-// Additionally, this file can be also used as an entry point
-// to import other Sass files to be included in the output CSS.
-//
-// Shared Sass variables, which can be used to adjust Ionic's
-// default Sass variables, belong in "theme/variables.scss".
-//
-// To declare rules for a specific mode, create a child rule
-// for the .md, .ios, or .wp mode classes. The mode class is
-// automatically applied to the element in the app.
-
-.style__strong {
- font-weight: bold;
-}
-
-.color__primary {
- color: color($colors, primary);
-}
-
-.colored-background {
- color: color($colors, white);
- background: color($colors, secondary);
-
- p,
- h1,
- h2,
- h3,
- .select-text {
- color: color($colors, white);
- }
-}
-
-.background--color__gradient {
- background: linear-gradient(#6f53a1, color($colors, secondary, base));
-}
-
-.item {
- background-color: transparent;
-}
-
-/* List styling */
-ul {
- list-style: none;
- li:before {
- content: '\00AC';
- padding-right: 4px;
- }
-}
-
-/* Secret typography styling */
-.secret--typography {
- line-height: 32px;
- font-size: 16px;
- text-transform: lowercase;
- font-family: 'Courier New', Courier, 'Lucida Sans Typewriter', 'Lucida Typewriter', monospace;
- font-style: normal;
- font-weight: 600;
-}
-
-/* small button for secrets with less padding */
-verify-key {
- .button-round-md,
- .button-round-ios {
- padding: 0 1.5rem;
- }
-}
-
-/* font weight - medium */
-.font--weight__med {
- font-weight: 500;
-}
-
-.typography--mono {
- font-family: 'Courier New', Courier, 'Lucida Sans Typewriter', 'Lucida Typewriter', monospace;
- font-weight: 600;
- font-size: 1.4rem;
- word-wrap: break-word;
-}
-
-ion-input,
-ion-textarea {
- color: white;
-
- textarea {
- border: 1px solid color($colors, secondary);
- padding: 10px;
- }
-}
-
-.button--rounded {
- width: 32px;
- height: 32px;
-}
-
-.transparent-bg {
- background-color: transparent !important;
-
- .ion-app,
- ion-content,
- ion-app.md,
- ion-app.ios,
- ion-app,
- .colored-background {
- background-color: transparent !important;
- color: white;
- }
-}
-
-// back btn
-ion-icon,
-.toolbar-title {
- color: white;
-}
-
-.fab-action {
- position: absolute;
- bottom: 64px;
- z-index: 10;
- right: 12px;
-}
-
-qr-clipboard {
- padding: 20px;
- background-color: white;
-}
-
-/** Alert Dialogs **/
-.alert-title {
- color: color($colors, dark);
-}
-
-.alert-message {
- color: color($colors, dark);
-}
-
-/** Empty **/
-.empty-list {
- ion-icon {
- font-size: 8rem;
- }
-
- img {
- height: 40vh;
- }
-
- display: flex;
- justify-content: center;
- align-items: center;
- flex-direction: column;
- text-align: center;
- font-weight: 100;
- font-size: 1.4rem;
- height: 100%;
-}
-
-.hide-tabbar {
- .show-tabbar {
- opacity: 0;
- }
-}
-
-html,
-body,
-ion-app,
-div.nav-decor,
-.ion-content,
-.app-root {
- background-color: transparent !important;
-}
-
-.nav-decor,
-ion-app {
- background-color: transparent !important;
-}
-
-/* Center content vertically and horizontally */
-.content--align__center-center {
- justify-content: center;
- align-items: center;
- display: flex;
-}
+// App Styles
+// ----------------------------------------------------------------------------
+// Put style rules here that you want to apply to the entire application. These
+// styles are for the entire app and not just one component. Additionally, this
+// file can hold Sass mixins, functions, and placeholder classes to be imported
+// and used throughout the application.
diff --git a/src/app/main.ts b/src/app/main.ts
deleted file mode 100644
index c9b13fdf..00000000
--- a/src/app/main.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
-
-import { AppModule } from './app.module'
-
-platformBrowserDynamic().bootstrapModule(AppModule)
diff --git a/src/app/tab1/tab1.module.ts b/src/app/tab1/tab1.module.ts
new file mode 100644
index 00000000..c73d54ed
--- /dev/null
+++ b/src/app/tab1/tab1.module.ts
@@ -0,0 +1,12 @@
+import { IonicModule } from '@ionic/angular'
+import { RouterModule } from '@angular/router'
+import { NgModule } from '@angular/core'
+import { CommonModule } from '@angular/common'
+import { FormsModule } from '@angular/forms'
+import { Tab1Page } from './tab1.page'
+
+@NgModule({
+ imports: [IonicModule, CommonModule, FormsModule, RouterModule.forChild([{ path: '', component: Tab1Page }])],
+ declarations: [Tab1Page]
+})
+export class Tab1PageModule {}
diff --git a/src/app/tab1/tab1.page.html b/src/app/tab1/tab1.page.html
new file mode 100644
index 00000000..2f354583
--- /dev/null
+++ b/src/app/tab1/tab1.page.html
@@ -0,0 +1,44 @@
+
+
+
+ Tab One
+
+
+
+
+
+
+
+
+ Get Started
+ Welcome to Ionic
+
+
+
+ Now that your app has been created, you'll want to start building out features and components. Check out some of the resources below
+ for next steps.
+
+
+
+
+
+ Resources
+
+
+
+ Ionic Documentation
+
+
+
+ Scaffold Out Your App
+
+
+
+ Change Your App Layout
+
+
+
+ Theme Your App
+
+
+
diff --git a/src/app/tab1/tab1.page.scss b/src/app/tab1/tab1.page.scss
new file mode 100644
index 00000000..4d55a8e7
--- /dev/null
+++ b/src/app/tab1/tab1.page.scss
@@ -0,0 +1,4 @@
+.welcome-card ion-img {
+ max-height: 35vh;
+ overflow: hidden;
+}
diff --git a/src/app/tab1/tab1.page.spec.ts b/src/app/tab1/tab1.page.spec.ts
new file mode 100644
index 00000000..d1c84dba
--- /dev/null
+++ b/src/app/tab1/tab1.page.spec.ts
@@ -0,0 +1,26 @@
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { async, ComponentFixture, TestBed } from '@angular/core/testing'
+
+import { Tab1Page } from './tab1.page'
+
+describe('Tab1Page', () => {
+ let component: Tab1Page
+ let fixture: ComponentFixture
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [Tab1Page],
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
+ }).compileComponents()
+ }))
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(Tab1Page)
+ component = fixture.componentInstance
+ fixture.detectChanges()
+ })
+
+ it('should create', () => {
+ expect(component).toBeTruthy()
+ })
+})
diff --git a/src/app/tab1/tab1.page.ts b/src/app/tab1/tab1.page.ts
new file mode 100644
index 00000000..a1a78a51
--- /dev/null
+++ b/src/app/tab1/tab1.page.ts
@@ -0,0 +1,10 @@
+import { Component } from '@angular/core'
+
+@Component({
+ selector: 'app-tab1',
+ templateUrl: 'tab1.page.html',
+ styleUrls: ['tab1.page.scss']
+})
+export class Tab1Page {
+ constructor() {}
+}
diff --git a/src/app/tab2/tab2.module.ts b/src/app/tab2/tab2.module.ts
new file mode 100644
index 00000000..c8c465fc
--- /dev/null
+++ b/src/app/tab2/tab2.module.ts
@@ -0,0 +1,12 @@
+import { IonicModule } from '@ionic/angular'
+import { RouterModule } from '@angular/router'
+import { NgModule } from '@angular/core'
+import { CommonModule } from '@angular/common'
+import { FormsModule } from '@angular/forms'
+import { Tab2Page } from './tab2.page'
+
+@NgModule({
+ imports: [IonicModule, CommonModule, FormsModule, RouterModule.forChild([{ path: '', component: Tab2Page }])],
+ declarations: [Tab2Page]
+})
+export class Tab2PageModule {}
diff --git a/src/app/tab2/tab2.page.html b/src/app/tab2/tab2.page.html
new file mode 100644
index 00000000..0eb888a0
--- /dev/null
+++ b/src/app/tab2/tab2.page.html
@@ -0,0 +1,9 @@
+
+
+
+ Tab Two
+
+
+
+
+
diff --git a/src/pages/wallet-share/wallet-share.scss b/src/app/tab2/tab2.page.scss
similarity index 100%
rename from src/pages/wallet-share/wallet-share.scss
rename to src/app/tab2/tab2.page.scss
diff --git a/src/app/tab2/tab2.page.spec.ts b/src/app/tab2/tab2.page.spec.ts
new file mode 100644
index 00000000..878ca591
--- /dev/null
+++ b/src/app/tab2/tab2.page.spec.ts
@@ -0,0 +1,26 @@
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { async, ComponentFixture, TestBed } from '@angular/core/testing'
+
+import { Tab2Page } from './tab2.page'
+
+describe('Tab2Page', () => {
+ let component: Tab2Page
+ let fixture: ComponentFixture
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [Tab2Page],
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
+ }).compileComponents()
+ }))
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(Tab2Page)
+ component = fixture.componentInstance
+ fixture.detectChanges()
+ })
+
+ it('should create', () => {
+ expect(component).toBeTruthy()
+ })
+})
diff --git a/src/app/tab2/tab2.page.ts b/src/app/tab2/tab2.page.ts
new file mode 100644
index 00000000..5284f062
--- /dev/null
+++ b/src/app/tab2/tab2.page.ts
@@ -0,0 +1,10 @@
+import { Component } from '@angular/core'
+
+@Component({
+ selector: 'app-tab2',
+ templateUrl: 'tab2.page.html',
+ styleUrls: ['tab2.page.scss']
+})
+export class Tab2Page {
+ constructor() {}
+}
diff --git a/src/app/tab3/tab3.module.ts b/src/app/tab3/tab3.module.ts
new file mode 100644
index 00000000..71858613
--- /dev/null
+++ b/src/app/tab3/tab3.module.ts
@@ -0,0 +1,12 @@
+import { IonicModule } from '@ionic/angular'
+import { RouterModule } from '@angular/router'
+import { NgModule } from '@angular/core'
+import { CommonModule } from '@angular/common'
+import { FormsModule } from '@angular/forms'
+import { Tab3Page } from './tab3.page'
+
+@NgModule({
+ imports: [IonicModule, CommonModule, FormsModule, RouterModule.forChild([{ path: '', component: Tab3Page }])],
+ declarations: [Tab3Page]
+})
+export class Tab3PageModule {}
diff --git a/src/app/tab3/tab3.page.html b/src/app/tab3/tab3.page.html
new file mode 100644
index 00000000..f4af0b6b
--- /dev/null
+++ b/src/app/tab3/tab3.page.html
@@ -0,0 +1,9 @@
+
+
+
+ Tab Three
+
+
+
+
+
diff --git a/src/app/tab3/tab3.page.scss b/src/app/tab3/tab3.page.scss
new file mode 100644
index 00000000..e69de29b
diff --git a/src/app/tab3/tab3.page.spec.ts b/src/app/tab3/tab3.page.spec.ts
new file mode 100644
index 00000000..bf77a4da
--- /dev/null
+++ b/src/app/tab3/tab3.page.spec.ts
@@ -0,0 +1,26 @@
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { async, ComponentFixture, TestBed } from '@angular/core/testing'
+
+import { Tab3Page } from './tab3.page'
+
+describe('Tab3Page', () => {
+ let component: Tab3Page
+ let fixture: ComponentFixture
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [Tab3Page],
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
+ }).compileComponents()
+ }))
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(Tab3Page)
+ component = fixture.componentInstance
+ fixture.detectChanges()
+ })
+
+ it('should create', () => {
+ expect(component).toBeTruthy()
+ })
+})
diff --git a/src/app/tab3/tab3.page.ts b/src/app/tab3/tab3.page.ts
new file mode 100644
index 00000000..642c5b62
--- /dev/null
+++ b/src/app/tab3/tab3.page.ts
@@ -0,0 +1,10 @@
+import { Component } from '@angular/core'
+
+@Component({
+ selector: 'app-tab3',
+ templateUrl: 'tab3.page.html',
+ styleUrls: ['tab3.page.scss']
+})
+export class Tab3Page {
+ constructor() {}
+}
diff --git a/src/app/tabs/tabs.module.ts b/src/app/tabs/tabs.module.ts
new file mode 100644
index 00000000..07c38fea
--- /dev/null
+++ b/src/app/tabs/tabs.module.ts
@@ -0,0 +1,14 @@
+import { IonicModule } from '@ionic/angular'
+import { NgModule } from '@angular/core'
+import { CommonModule } from '@angular/common'
+import { FormsModule } from '@angular/forms'
+
+import { TabsPageRoutingModule } from './tabs.router.module'
+
+import { TabsPage } from './tabs.page'
+
+@NgModule({
+ imports: [IonicModule, CommonModule, FormsModule, TabsPageRoutingModule],
+ declarations: [TabsPage]
+})
+export class TabsPageModule {}
diff --git a/src/app/tabs/tabs.page.html b/src/app/tabs/tabs.page.html
new file mode 100644
index 00000000..8be3a1c1
--- /dev/null
+++ b/src/app/tabs/tabs.page.html
@@ -0,0 +1,18 @@
+
+
+
+
+ Tab One
+
+
+
+
+ Tab Two
+
+
+
+
+ Tab Three
+
+
+
diff --git a/src/app/tabs/tabs.page.scss b/src/app/tabs/tabs.page.scss
new file mode 100644
index 00000000..e69de29b
diff --git a/src/app/tabs/tabs.page.spec.ts b/src/app/tabs/tabs.page.spec.ts
new file mode 100644
index 00000000..e43a119d
--- /dev/null
+++ b/src/app/tabs/tabs.page.spec.ts
@@ -0,0 +1,26 @@
+import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'
+import { async, ComponentFixture, TestBed } from '@angular/core/testing'
+
+import { TabsPage } from './tabs.page'
+
+describe('TabsPage', () => {
+ let component: TabsPage
+ let fixture: ComponentFixture
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [TabsPage],
+ schemas: [CUSTOM_ELEMENTS_SCHEMA]
+ }).compileComponents()
+ }))
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(TabsPage)
+ component = fixture.componentInstance
+ fixture.detectChanges()
+ })
+
+ it('should create', () => {
+ expect(component).toBeTruthy()
+ })
+})
diff --git a/src/app/tabs/tabs.page.ts b/src/app/tabs/tabs.page.ts
new file mode 100644
index 00000000..f055d0af
--- /dev/null
+++ b/src/app/tabs/tabs.page.ts
@@ -0,0 +1,10 @@
+import { Component } from '@angular/core'
+
+@Component({
+ selector: 'app-tabs',
+ templateUrl: 'tabs.page.html',
+ styleUrls: ['tabs.page.scss']
+})
+export class TabsPage {
+ constructor() {}
+}
diff --git a/src/app/tabs/tabs.router.module.ts b/src/app/tabs/tabs.router.module.ts
new file mode 100644
index 00000000..1626b145
--- /dev/null
+++ b/src/app/tabs/tabs.router.module.ts
@@ -0,0 +1,55 @@
+import { NgModule } from '@angular/core'
+import { RouterModule, Routes } from '@angular/router'
+import { TabsPage } from './tabs.page'
+
+const routes: Routes = [
+ {
+ path: 'tabs',
+ component: TabsPage,
+ children: [
+ {
+ path: 'tab1',
+ children: [
+ {
+ path: '',
+ loadChildren: '../tab1/tab1.module#Tab1PageModule'
+ }
+ ]
+ },
+ {
+ path: 'tab2',
+ children: [
+ {
+ path: '',
+ loadChildren: '../tab2/tab2.module#Tab2PageModule'
+ }
+ ]
+ },
+ {
+ path: 'tab3',
+ children: [
+ {
+ path: '',
+ loadChildren: '../tab3/tab3.module#Tab3PageModule'
+ }
+ ]
+ },
+ {
+ path: '',
+ redirectTo: '/tabs/tab1',
+ pathMatch: 'full'
+ }
+ ]
+ },
+ {
+ path: '',
+ redirectTo: '/tabs/tab1',
+ pathMatch: 'full'
+ }
+]
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule]
+})
+export class TabsPageRoutingModule {}
diff --git a/src/assets/icon/favicon.ico b/src/assets/icon/favicon.ico
deleted file mode 100644
index d76fa29d..00000000
Binary files a/src/assets/icon/favicon.ico and /dev/null differ
diff --git a/src/assets/icon/favicon.png b/src/assets/icon/favicon.png
new file mode 100644
index 00000000..51888a7b
Binary files /dev/null and b/src/assets/icon/favicon.png differ
diff --git a/src/components/about-popover/about-popover.component.ts b/src/components/about-popover/about-popover.component.ts
deleted file mode 100644
index 860afa37..00000000
--- a/src/components/about-popover/about-popover.component.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Component } from '@angular/core'
-import { AppVersion } from '@ionic-native/app-version'
-
-@Component({
- template: `
-
- {{ 'about-popover.label' | translate }}
- {{ 'about-popover.version' | translate }} {{ versionNumber }}
- {{ 'about-popover.code' | translate }} {{ versionCode }}
-
- `
-})
-export class AboutPopoverComponent {
- public versionCode: string
- public versionNumber: string
-
- constructor(private appVersion: AppVersion) {}
-
- async ngOnInit() {
- this.versionNumber = await this.appVersion.getVersionNumber()
- this.versionCode = `${await this.appVersion.getVersionCode()}`
- }
-}
diff --git a/src/components/address-row/address-row.html b/src/components/address-row/address-row.html
deleted file mode 100644
index 761ff9c7..00000000
--- a/src/components/address-row/address-row.html
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
- {{label}}
- {{address}}
-
-
diff --git a/src/components/address-row/address-row.scss b/src/components/address-row/address-row.scss
deleted file mode 100644
index 31714bae..00000000
--- a/src/components/address-row/address-row.scss
+++ /dev/null
@@ -1,10 +0,0 @@
-address-row {
- ion-avatar {
- width: 48px;
- height: 48px;
- img {
- width: 48px;
- height: 48px;
- }
- }
-}
diff --git a/src/components/address-row/address-row.ts b/src/components/address-row/address-row.ts
deleted file mode 100644
index 55503f03..00000000
--- a/src/components/address-row/address-row.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Component, Input } from '@angular/core'
-
-@Component({
- selector: 'address-row',
- templateUrl: 'address-row.html'
-})
-export class AddressRowComponent {
- @Input()
- label: string
-
- @Input()
- address: string
-}
diff --git a/src/components/components.module.ts b/src/components/components.module.ts
deleted file mode 100644
index 4fd53891..00000000
--- a/src/components/components.module.ts
+++ /dev/null
@@ -1,71 +0,0 @@
-import { AboutPopoverComponent } from './about-popover/about-popover.component'
-import { NgModule } from '@angular/core'
-import { EntropyProgressComponent } from './entropy-progress/entropy-progress'
-import { TouchEntropyComponent } from './touch-entropy/touch-entropy'
-import { VerifyKeyComponent } from './verify-key/verify-key'
-import { HexagonIconComponent } from './hexagon-icon/hexagon-icon'
-import { IdenticonComponent } from './identicon/identicon'
-import { AddressRowComponent } from './address-row/address-row'
-import { FromToComponent } from './from-to/from-to'
-import { CurrentSecretComponent } from './current-secret/current-secret'
-import { IonTextAvatar } from './ion-text-avatar/ion-text-avatar'
-import { IonicModule } from 'ionic-angular'
-import { BrowserModule } from '@angular/platform-browser'
-import { MaterialIconsModule } from 'ionic2-material-icons'
-import { TraceInputDirective } from './trace-input/trace-input.directive'
-import { ProgressFooterComponent } from './progress-footer/progress-footer'
-import { WalletItemComponent } from './wallet-item/wallet-item'
-import { FeeConverterPipe } from './pipes/fee-converter/fee-converter.pipe'
-import { AmountConverterPipe } from './pipes/amount-converter/amount-converter.pipe'
-import { TranslateModule } from '@ngx-translate/core'
-import { SecretItemComponent } from './secret-item/secret-item'
-import { SignedTransactionComponent } from './signed-transaction/signed-transaction'
-import { QrClipboardComponent } from './qr-clipboard/qr-clipboard'
-import { QRCodeModule } from 'angularx-qrcode'
-import { CurrencySymbolComponent } from './currency-symbol/currency-symbol'
-
-@NgModule({
- declarations: [
- EntropyProgressComponent,
- TouchEntropyComponent,
- VerifyKeyComponent,
- HexagonIconComponent,
- IdenticonComponent,
- AddressRowComponent,
- FromToComponent,
- WalletItemComponent,
- CurrentSecretComponent,
- ProgressFooterComponent,
- IonTextAvatar,
- TraceInputDirective,
- FeeConverterPipe,
- AmountConverterPipe,
- SecretItemComponent,
- AboutPopoverComponent,
- SignedTransactionComponent,
- QrClipboardComponent,
- CurrencySymbolComponent,
- ],
- imports: [IonicModule, BrowserModule, TranslateModule, MaterialIconsModule, QRCodeModule],
- exports: [
- EntropyProgressComponent,
- TouchEntropyComponent,
- VerifyKeyComponent,
- HexagonIconComponent,
- IdenticonComponent,
- AddressRowComponent,
- FromToComponent,
- WalletItemComponent,
- CurrentSecretComponent,
- ProgressFooterComponent,
- IonTextAvatar,
- FeeConverterPipe,
- AmountConverterPipe,
- SecretItemComponent,
- AboutPopoverComponent,
- QrClipboardComponent,
- CurrencySymbolComponent,
- SignedTransactionComponent
- ]
-})
-export class ComponentsModule { }
diff --git a/src/components/currency-symbol/currency-symbol.html b/src/components/currency-symbol/currency-symbol.html
deleted file mode 100644
index e3b1b770..00000000
--- a/src/components/currency-symbol/currency-symbol.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/components/currency-symbol/currency-symbol.scss b/src/components/currency-symbol/currency-symbol.scss
deleted file mode 100644
index 8995a21e..00000000
--- a/src/components/currency-symbol/currency-symbol.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-currency-symbol {
-}
diff --git a/src/components/currency-symbol/currency-symbol.ts b/src/components/currency-symbol/currency-symbol.ts
deleted file mode 100644
index a0922e07..00000000
--- a/src/components/currency-symbol/currency-symbol.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Component, Input } from '@angular/core'
-
-@Component({
- selector: 'currency-symbol',
- templateUrl: 'currency-symbol.html'
-})
-export class CurrencySymbolComponent {
- @Input()
- private symbol: string
-
- public symbolURL: string = 'assets/symbols/generic-coin.svg'
-
- constructor() {
- /* */
- }
-
- ngAfterViewInit() {
- const imageUrl = 'assets/symbols/' + this.symbol.toLowerCase() + '.svg'
- const img = new Image()
- img.onload = () => {
- this.symbolURL = imageUrl
- }
- img.src = imageUrl
- }
-}
diff --git a/src/components/current-secret/current-secret.html b/src/components/current-secret/current-secret.html
deleted file mode 100644
index fc41652e..00000000
--- a/src/components/current-secret/current-secret.html
+++ /dev/null
@@ -1,6 +0,0 @@
-
- {{ 'current-secret.label' | translate }}
-
- {{ secret.label }}
-
-
diff --git a/src/components/current-secret/current-secret.scss b/src/components/current-secret/current-secret.scss
deleted file mode 100644
index 36f29a1b..00000000
--- a/src/components/current-secret/current-secret.scss
+++ /dev/null
@@ -1,16 +0,0 @@
-current-secret {
- hexagon-icon {
- float: left;
- width: 32px;
- height: 32px;
-
- h3 {
- font-size: 12px;
- }
- }
-
- .centered {
- display: flex;
- justify-content: center;
- }
-}
diff --git a/src/components/current-secret/current-secret.ts b/src/components/current-secret/current-secret.ts
deleted file mode 100644
index 03f4b85e..00000000
--- a/src/components/current-secret/current-secret.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import { Component, Output, EventEmitter, Input } from '@angular/core'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { Secret } from '../../models/secret'
-
-@Component({
- selector: 'current-secret',
- templateUrl: 'current-secret.html'
-})
-export class CurrentSecretComponent {
- private secrets: Secret[] = []
- private currentSecret = 0
-
- @Output('secretChanged')
- secretChanged = new EventEmitter()
-
- constructor(private secretsProvider: SecretsProvider) {
- this.secrets = this.secretsProvider.currentSecretsList.getValue()
- this.currentSecret = this.secrets.indexOf(this.secretsProvider.getActiveSecret())
- }
-
- @Input()
- set chosenSecret(secret: Secret) {
- this.currentSecret = this.secrets.indexOf(secret)
- }
-
- onChange(newSecret) {
- this.secretsProvider.setActiveSecret(this.secrets[newSecret])
- this.secretChanged.emit(this.secrets[newSecret])
- }
-}
diff --git a/src/components/entropy-progress/entropy-progress.html b/src/components/entropy-progress/entropy-progress.html
deleted file mode 100644
index b33fca49..00000000
--- a/src/components/entropy-progress/entropy-progress.html
+++ /dev/null
@@ -1 +0,0 @@
-{{ progressInPercent }}%
diff --git a/src/components/entropy-progress/entropy-progress.scss b/src/components/entropy-progress/entropy-progress.scss
deleted file mode 100644
index 2dc20700..00000000
--- a/src/components/entropy-progress/entropy-progress.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-entropy-progress {
- color: white;
-}
diff --git a/src/components/entropy-progress/entropy-progress.ts b/src/components/entropy-progress/entropy-progress.ts
deleted file mode 100644
index 207baf76..00000000
--- a/src/components/entropy-progress/entropy-progress.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Component, Input, OnChanges } from '@angular/core'
-
-@Component({
- selector: 'entropy-progress',
- templateUrl: 'entropy-progress.html'
-})
-export class EntropyProgressComponent implements OnChanges {
- @Input()
- maxValue: number = 1
-
- @Input()
- value: number = 0
-
- progressInPercent = 0
-
- ngOnChanges() {
- if (this.value > this.maxValue) {
- this.progressInPercent = 100
- } else {
- this.progressInPercent = Math.floor((this.value / this.maxValue) * 100)
- }
- }
-}
diff --git a/src/components/from-to/from-to.html b/src/components/from-to/from-to.html
deleted file mode 100644
index 53d93f91..00000000
--- a/src/components/from-to/from-to.html
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
-
- {{ 'from-to.amount_label' | translate }}
-
-
- {{ transaction.amount | amountConverter: { protocolIdentifier: transaction.protocolIdentifier } }}
-
-
-
-
- {{ 'from-to.fee_label' | translate }}
-
- {{ transaction.fee | feeConverter: { protocolIdentifier: transaction.protocolIdentifier } }}
-
-
-
-
- {{ 'from-to.data_label' | translate }}
-
- {{ transaction.data }}
-
-
-
-
-
-
-
diff --git a/src/components/from-to/from-to.scss b/src/components/from-to/from-to.scss
deleted file mode 100644
index e2f0b353..00000000
--- a/src/components/from-to/from-to.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-from-to {
- .line {
- border-left: 1px solid white;
- height: 96px;
- }
-}
diff --git a/src/components/from-to/from-to.ts b/src/components/from-to/from-to.ts
deleted file mode 100644
index 44809300..00000000
--- a/src/components/from-to/from-to.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Component, Input } from '@angular/core'
-import { Transaction } from '../../models/transaction.model'
-
-@Component({
- selector: 'from-to',
- templateUrl: 'from-to.html'
-})
-export class FromToComponent {
- @Input()
- transaction: Transaction
-
- constructor() { }
-}
diff --git a/src/components/hexagon-icon/hexagon-icon.html b/src/components/hexagon-icon/hexagon-icon.html
deleted file mode 100644
index 0412867a..00000000
--- a/src/components/hexagon-icon/hexagon-icon.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
{{letter?.substr(0, 1).toUpperCase()}}
-
diff --git a/src/components/hexagon-icon/hexagon-icon.scss b/src/components/hexagon-icon/hexagon-icon.scss
deleted file mode 100644
index 499e06dd..00000000
--- a/src/components/hexagon-icon/hexagon-icon.scss
+++ /dev/null
@@ -1,16 +0,0 @@
-hexagon-icon {
- height: 64px;
- width: 64px;
-
- /* hexagon background */
- .hexagon--background {
- -webkit-clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
- clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
- background-color: color($colors, primary);
- height: 100%;
- width: 93%;
- display: flex;
- justify-content: center;
- align-items: center;
- }
-}
diff --git a/src/components/hexagon-icon/hexagon-icon.ts b/src/components/hexagon-icon/hexagon-icon.ts
deleted file mode 100644
index 00136b14..00000000
--- a/src/components/hexagon-icon/hexagon-icon.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Component, Input } from '@angular/core'
-
-@Component({
- selector: 'hexagon-icon',
- templateUrl: 'hexagon-icon.html'
-})
-export class HexagonIconComponent {
- @Input()
- backgroundColor: string
-
- @Input()
- textColor = 'white'
-
- @Input()
- letter: string
-
- @Input()
- icon = 'add'
-
- @Input()
- opacity = 1
-}
diff --git a/src/components/identicon/identicon.html b/src/components/identicon/identicon.html
deleted file mode 100644
index 3af5aee5..00000000
--- a/src/components/identicon/identicon.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/components/identicon/identicon.scss b/src/components/identicon/identicon.scss
deleted file mode 100644
index d30f35dd..00000000
--- a/src/components/identicon/identicon.scss
+++ /dev/null
@@ -1,7 +0,0 @@
-identicon {
- img {
- overflow: hidden;
- border-radius: 50%;
- box-shadow: inset rgba(255, 255, 255, 0.2) 0 2px 2px, inset rgba(0, 0, 0, 0.3) 0 -1px 8px;
- }
-}
diff --git a/src/components/identicon/identicon.ts b/src/components/identicon/identicon.ts
deleted file mode 100644
index 84db9021..00000000
--- a/src/components/identicon/identicon.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Component, Input } from '@angular/core'
-import { toDataUrl } from 'myetherwallet-blockies'
-import { createIcon } from '@download/blockies'
-import { BigNumber } from 'bignumber.js'
-
-@Component({
- selector: 'identicon',
- templateUrl: 'identicon.html'
-})
-export class IdenticonComponent {
- // used in template
- identicon
-
- @Input()
- set address(value: string) {
- if (!value) {
- return
- }
- if (value.startsWith('ak_')) {
- this.identicon = createIcon({ seed: value }).toDataURL()
- } else if (value.startsWith('tz') || value.startsWith('kt')) {
- this.identicon = createIcon({ seed: `0${this.b582int(value)}`, spotcolor: '#000' }).toDataURL()
- } else {
- this.identicon = toDataUrl(value.toLowerCase())
- }
- }
-
- private b582int(v) {
- let rv = new BigNumber(0)
- let alpha = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
- for (let i = 0; i < v.length; i++) {
- rv = rv.plus(new BigNumber(alpha.indexOf(v[v.length - 1 - i])).multipliedBy(new BigNumber(alpha.length).exponentiatedBy(i)))
- }
- return rv.toString(16)
- }
-}
diff --git a/src/components/ion-text-avatar/ion-text-avatar.md.scss b/src/components/ion-text-avatar/ion-text-avatar.md.scss
deleted file mode 100644
index 87d94a55..00000000
--- a/src/components/ion-text-avatar/ion-text-avatar.md.scss
+++ /dev/null
@@ -1,23 +0,0 @@
-$ion-text-avatar-md-background-color: color($colors-md, primary) !default;
-$ion-text-avatar-md-text-color: color-contrast($colors-md, $ion-text-avatar-md-background-color) !default;
-
-.ion-text-avatar-md {
- color: $ion-text-avatar-md-text-color;
- background: $ion-text-avatar-md-background-color;
-}
-
-.item-md ion-avatar ion-text-avatar {
- @include border-radius($item-md-avatar-border-radius);
-
- overflow: hidden;
-
- width: $item-md-avatar-size;
- height: $item-md-avatar-size;
-}
-
-@each $color-name, $color-base, $color-contrast in get-colors($colors-md) {
- .ion-text-avatar-md-#{$color-name} {
- color: $color-contrast;
- background-color: $color-base;
- }
-}
diff --git a/src/components/ion-text-avatar/ion-text-avatar.scss b/src/components/ion-text-avatar/ion-text-avatar.scss
deleted file mode 100644
index b5e44e5e..00000000
--- a/src/components/ion-text-avatar/ion-text-avatar.scss
+++ /dev/null
@@ -1,16 +0,0 @@
-ion-text-avatar {
- display: flex;
- align-items: center;
- justify-content: center;
-
- font-size: large;
-}
-
-ion-chip ion-avatar ion-text-avatar {
- @include border-radius(50%);
-
- width: 100%;
- max-width: 100%;
- height: 100%;
- max-height: 100%;
-}
diff --git a/src/components/ion-text-avatar/ion-text-avatar.ts b/src/components/ion-text-avatar/ion-text-avatar.ts
deleted file mode 100644
index bd0c6e22..00000000
--- a/src/components/ion-text-avatar/ion-text-avatar.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Directive, ElementRef, Renderer } from '@angular/core'
-import { Config, Ion } from 'ionic-angular'
-
-@Directive({
- selector: 'ion-text-avatar'
-})
-export class IonTextAvatar extends Ion {
- constructor(config: Config, elementRef: ElementRef, renderer: Renderer) {
- super(config, elementRef, renderer, 'ion-text-avatar')
- }
-}
diff --git a/src/components/pipes/amount-converter/amount-converter.pipe.spec.ts b/src/components/pipes/amount-converter/amount-converter.pipe.spec.ts
deleted file mode 100644
index 36c7b6d4..00000000
--- a/src/components/pipes/amount-converter/amount-converter.pipe.spec.ts
+++ /dev/null
@@ -1,177 +0,0 @@
-import { AmountConverterPipe } from './amount-converter.pipe'
-import { ProtocolsProvider } from '../../../providers/protocols/protocols'
-import { BigNumber } from 'bignumber.js'
-const BN = BigNumber.clone({
- FORMAT: {
- decimalSeparator: `.`,
- groupSeparator: `'`,
- groupSize: 3
- }
-})
-
-describe('AmountConverter Pipe', () => {
- let amountConverterPipe: AmountConverterPipe
-
- beforeAll(() => {
- const protocolsProvider = new ProtocolsProvider()
- protocolsProvider.addProtocols()
- })
-
- beforeEach(() => {
- amountConverterPipe = new AmountConverterPipe()
- })
-
- describe('format number with commas', () => {
- it('should format short number', () => {
- expect(amountConverterPipe.formatBigNumber(new BN(`1`))).toEqual(`1`)
- })
-
- it('should add highcommas', () => {
- expect(amountConverterPipe.formatBigNumber(new BN(`1234567891`))).toEqual(`1'234'567'891`)
- })
-
- it('should should add highcommas only to first part of number', () => {
- expect(amountConverterPipe.formatBigNumber(new BN(`12345.67891`))).toEqual(`12'345.67891`)
- })
-
- it('should format long numbers', () => {
- expect(amountConverterPipe.formatBigNumber(new BN(`1234567891.1234567891`))).toEqual(`1'234'567'891.1234567891`)
- })
-
- it('should format short number if smaller than maxDigits', () => {
- expect(amountConverterPipe.formatBigNumber(new BN(`1`), 8)).toEqual(`1`)
- })
-
- it('should add "K" if number is too long', () => {
- expect(amountConverterPipe.formatBigNumber(new BN(`1234567891`), 8)).toEqual(`1'234'567K`)
- })
-
- it('should add "K" if number is too long and omit floating point', () => {
- expect(amountConverterPipe.formatBigNumber(new BN(`1234567891.1234567891`), 8)).toEqual(`1'234'567K`)
- })
-
- it('should format floating point part correctly', () => {
- expect(amountConverterPipe.formatBigNumber(new BN(`12345.67891`), 8)).toEqual(`12'345.679`)
- })
-
- it('should add "M" if number is too long', () => {
- expect(amountConverterPipe.formatBigNumber(new BN(`12345678912345`), 8)).toEqual(`12'345'678M`)
- })
-
- it('should add "M" if number is too long and omit floating point', () => {
- expect(amountConverterPipe.formatBigNumber(new BN(`12345678912345.000000000001`), 8)).toEqual(`12'345'678M`)
- })
-
- it('should limit long floating point', () => {
- expect(amountConverterPipe.formatBigNumber(new BN(`1.000000000001`), 8)).toEqual(`1`)
- })
- })
-
- describe('makeFullNumberSmaller', () => {
- it('should not make small number smaller', () => {
- expect(amountConverterPipe.makeFullNumberSmaller(new BN('1'), 3)).toEqual('1')
- expect(amountConverterPipe.makeFullNumberSmaller(new BN('12'), 3)).toEqual('12')
- expect(amountConverterPipe.makeFullNumberSmaller(new BN('123'), 3)).toEqual('123')
- })
-
- it('should make large number smaller', () => {
- expect(amountConverterPipe.makeFullNumberSmaller(new BN('1234'), 3)).toEqual('1K')
- expect(amountConverterPipe.makeFullNumberSmaller(new BN('12345'), 3)).toEqual('12K')
- expect(amountConverterPipe.makeFullNumberSmaller(new BN('123456'), 3)).toEqual('123K')
- expect(amountConverterPipe.makeFullNumberSmaller(new BN('1234567'), 3)).toEqual('1M')
- expect(amountConverterPipe.makeFullNumberSmaller(new BN('12345678'), 3)).toEqual('12M')
- expect(amountConverterPipe.makeFullNumberSmaller(new BN('123456789'), 3)).toEqual('123M')
- expect(amountConverterPipe.makeFullNumberSmaller(new BN('123456789123456789'), 3)).toEqual(`123'456'789'123M`)
- })
- })
-
- it('should display very small ETH number to a non-scientific string representation', () => {
- expect(amountConverterPipe.transform('1', { protocolIdentifier: 'eth', maxDigits: 0 })).toEqual('0.000000000000000001 ETH')
- })
-
- it('should display a normal ETH number to a non-scientific string representation', () => {
- expect(
- amountConverterPipe.transform('1000000000000000000', {
- protocolIdentifier: 'eth',
- maxDigits: 0
- })
- ).toEqual('1 ETH')
- })
-
- it('should display a big ETH number to a non-scientific string representation', () => {
- expect(
- amountConverterPipe.transform('10000000000000000000000000000000000', {
- protocolIdentifier: 'eth',
- maxDigits: 0
- })
- ).toEqual(`10'000'000'000'000'000 ETH`)
- })
-
- it('should return a valid amount if value is 0', () => {
- expect(amountConverterPipe.transform('0', { protocolIdentifier: 'eth', maxDigits: 0 })).toEqual('0 ETH')
- })
-
- it('should return an empty string when protocolIdentifier is not set', () => {
- expect(amountConverterPipe.transform('1', { protocolIdentifier: undefined, maxDigits: 0 })).toEqual('')
- })
-
- it('should handle values that are not a number', () => {
- expect(amountConverterPipe.transform('test', { protocolIdentifier: 'eth', maxDigits: 0 })).toEqual('')
- })
-
- it('should handle values that are undefined', () => {
- expect(amountConverterPipe.transform(undefined, { protocolIdentifier: 'eth', maxDigits: 0 })).toEqual('')
- })
-
- it('should handle values that are null', () => {
- expect(amountConverterPipe.transform(null, { protocolIdentifier: 'eth', maxDigits: 0 })).toEqual('')
- })
-
- it('should handle values that are empty object', () => {
- let value: any = {}
- expect(amountConverterPipe.transform(value, { protocolIdentifier: 'eth', maxDigits: 0 })).toEqual('')
- })
-
- function getTest(args) {
- it('Test with: ' + JSON.stringify(args), () => {
- expect(amountConverterPipe.transform(args.value, { protocolIdentifier: args.protocolIdentifier, maxDigits: 0 })).toEqual(
- args.expected
- )
- })
- }
-
- function makeTests(argsArray) {
- argsArray.forEach(v => {
- getTest(v)
- })
- }
-
- const truthyProtocolIdentifiers = [
- { value: '1', protocolIdentifier: 'btc', expected: '0.00000001 BTC' },
- { value: '1', protocolIdentifier: 'eth', expected: '0.000000000000000001 ETH' },
- { value: '1', protocolIdentifier: 'eth-erc20-ae', expected: '0.000000000000000001 AE-ERC20' }
- ]
- makeTests(truthyProtocolIdentifiers)
-
- const falsyValues = [
- { value: false, protocolIdentifier: 'eth', expected: '' },
- { value: 0, protocolIdentifier: 'eth', expected: '0 ETH' },
- { value: '', protocolIdentifier: 'eth', expected: '' },
- { value: null, protocolIdentifier: 'eth', expected: '' },
- { value: undefined, protocolIdentifier: 'eth', expected: '' },
- { value: NaN, protocolIdentifier: 'eth', expected: '' }
- ]
- makeTests(falsyValues)
-
- const falsyProtocolIdentifiers = [
- { value: '1', protocolIdentifier: false, expected: '' },
- { value: '1', protocolIdentifier: 0, expected: '' },
- { value: '1', protocolIdentifier: '', expected: '' },
- { value: '1', protocolIdentifier: null, expected: '' },
- { value: '1', protocolIdentifier: undefined, expected: '' },
- { value: '1', protocolIdentifier: NaN, expected: '' },
- { value: '1', protocolIdentifier: 'test', expected: '' },
- { value: '1', protocolIdentifier: 'asdf', expected: '' }
- ]
- makeTests(falsyProtocolIdentifiers)
-})
diff --git a/src/components/pipes/amount-converter/amount-converter.pipe.ts b/src/components/pipes/amount-converter/amount-converter.pipe.ts
deleted file mode 100644
index e5311b20..00000000
--- a/src/components/pipes/amount-converter/amount-converter.pipe.ts
+++ /dev/null
@@ -1,89 +0,0 @@
-import { PipeTransform, Pipe } from '@angular/core'
-import { BigNumber } from 'bignumber.js'
-import { getProtocolByIdentifier } from 'airgap-coin-lib'
-
-@Pipe({
- name: 'amountConverter'
-})
-export class AmountConverterPipe implements PipeTransform {
- transform(value: string | number, args: { protocolIdentifier: string; maxDigits: number }): string {
- if (!args.protocolIdentifier || (!value && value !== 0) || isNaN(Number(value)) || (args.maxDigits && isNaN(Number(args.maxDigits)))) {
- /* console.warn(
- `AmountConverterPipe: necessary properties missing!\n` +
- `Protocol: ${args.protocolIdentifier}\n` +
- `Value: ${value}\n` +
- `maxDigits: ${args.maxDigits}`
- ) */
- return ''
- }
-
- let protocol
-
- try {
- protocol = getProtocolByIdentifier(args.protocolIdentifier)
- } catch (e) {
- return ''
- }
-
- const BN = BigNumber.clone({
- FORMAT: {
- decimalSeparator: `.`,
- groupSeparator: `'`,
- groupSize: 3
- }
- })
- const amount = new BN(value).shiftedBy(-1 * protocol.decimals)
- return `${this.formatBigNumber(amount, args.maxDigits)} ${protocol.symbol.toUpperCase()}`
- }
-
- formatBigNumber(value: BigNumber, maxDigits?: number): string {
- if (!maxDigits) {
- return value.toFormat()
- }
-
- if (value.toFixed().length <= maxDigits) {
- return value.toFormat()
- }
-
- let integerValueLength = value.integerValue().toString().length
- if (integerValueLength >= maxDigits) {
- // We can omit floating point
- return this.makeFullNumberSmaller(value, maxDigits)
- }
-
- // Need regex to remove all unneccesary trailing zeros
- return value.toFormat(maxDigits - integerValueLength).replace(/\.?0+$/, '')
- }
-
- makeFullNumberSmaller(value: BigNumber, maxDigits: number): string {
- if (value.toFixed().length <= maxDigits) {
- return value.toFormat()
- }
-
- let result = value.integerValue()
-
- if (result.toString().length <= maxDigits) {
- return result.toFormat()
- }
-
- if (result.toString().length <= 3) {
- return result.toFormat()
- }
-
- // number is too long, take 3 digits away and try again
- result = result.dividedToIntegerBy(1000)
-
- if (result.toFixed().length <= maxDigits) {
- return result.toFormat() + 'K'
- }
-
- if (result.toFixed().length <= 3) {
- return result.toFormat() + 'K'
- }
-
- // number is too long, take 3 digits away and try again
- result = result.dividedToIntegerBy(1000)
-
- return result.toFormat() + 'M'
- }
-}
diff --git a/src/components/pipes/fee-converter/fee-converter.pipe.spec.ts b/src/components/pipes/fee-converter/fee-converter.pipe.spec.ts
deleted file mode 100644
index 4fb8f7e3..00000000
--- a/src/components/pipes/fee-converter/fee-converter.pipe.spec.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import { FeeConverterPipe } from './fee-converter.pipe'
-
-describe('FeeConverter Pipe', () => {
- let feeConverterPipe: FeeConverterPipe
-
- beforeEach(() => {
- feeConverterPipe = new FeeConverterPipe()
- })
-
- it('should display very small ETH number to a non-scientific string representation', () => {
- expect(feeConverterPipe.transform('1', { protocolIdentifier: 'eth' })).toEqual('0.000000000000000001 ETH')
- })
-
- it('should display a normal ETH number to a non-scientific string representation', () => {
- expect(feeConverterPipe.transform('1000000000000000000', { protocolIdentifier: 'eth' })).toEqual('1 ETH')
- })
-
- it('should display a big ETH number to a non-scientific string representation', () => {
- expect(feeConverterPipe.transform('10000000000000000000000000000000000', { protocolIdentifier: 'eth' })).toEqual(
- '10000000000000000 ETH'
- )
- })
-
- it('should return a valid amount if value is 0', () => {
- expect(feeConverterPipe.transform('0', { protocolIdentifier: 'eth' })).toEqual('0 ETH')
- })
-
- it('should return an empty string for non-numeric value', () => {
- expect(feeConverterPipe.transform('test', { protocolIdentifier: 'eth' })).toEqual('')
- })
-
- it('should return an empty string when protocolIdentifier is not set', () => {
- expect(feeConverterPipe.transform('1', { protocolIdentifier: undefined })).toEqual('')
- })
-
- it('should return an empty string when protocolIdentifier unknown', () => {
- expect(feeConverterPipe.transform('1', { protocolIdentifier: 'FeeConverterPipe' })).toEqual('')
- })
-
- function getTest(args) {
- it('Test with: ' + JSON.stringify(args), () => {
- expect(feeConverterPipe.transform(args.value, { protocolIdentifier: args.protocolIdentifier })).toEqual(args.expected)
- })
- }
-
- function makeTests(argsArray) {
- argsArray.forEach(v => {
- getTest(v)
- })
- }
-
- const truthyProtocolIdentifiers = [
- { value: '1', protocolIdentifier: 'btc', expected: '0.00000001 BTC' },
- { value: '1', protocolIdentifier: 'eth', expected: '0.000000000000000001 ETH' },
- { value: '1', protocolIdentifier: 'eth-erc20-ae', expected: '0.000000000000000001 ETH' }
- ]
- makeTests(truthyProtocolIdentifiers)
-
- const falsyValues = [
- { value: false, protocolIdentifier: 'eth', expected: '' },
- { value: 0, protocolIdentifier: 'eth', expected: '0 ETH' },
- { value: '', protocolIdentifier: 'eth', expected: '' },
- { value: null, protocolIdentifier: 'eth', expected: '' },
- { value: undefined, protocolIdentifier: 'eth', expected: '' },
- { value: NaN, protocolIdentifier: 'eth', expected: '' }
- ]
- makeTests(falsyValues)
-
- const falsyProtocolIdentifiers = [
- { value: '1', protocolIdentifier: false, expected: '' },
- { value: '1', protocolIdentifier: 0, expected: '' },
- { value: '1', protocolIdentifier: '', expected: '' },
- { value: '1', protocolIdentifier: null, expected: '' },
- { value: '1', protocolIdentifier: undefined, expected: '' },
- { value: '1', protocolIdentifier: NaN, expected: '' },
- { value: '1', protocolIdentifier: 'test', expected: '' },
- { value: '1', protocolIdentifier: 'asdf', expected: '' }
- ]
- makeTests(falsyProtocolIdentifiers)
-})
diff --git a/src/components/pipes/fee-converter/fee-converter.pipe.ts b/src/components/pipes/fee-converter/fee-converter.pipe.ts
deleted file mode 100644
index 3c54d248..00000000
--- a/src/components/pipes/fee-converter/fee-converter.pipe.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { Pipe, PipeTransform } from '@angular/core'
-import { BigNumber } from 'bignumber.js'
-import { getProtocolByIdentifier } from 'airgap-coin-lib'
-
-@Pipe({
- name: 'feeConverter'
-})
-export class FeeConverterPipe implements PipeTransform {
- transform(value: string | number, args: { protocolIdentifier: string }): string {
- if (!args.protocolIdentifier || (!value && value !== 0) || isNaN(Number(value))) {
- // console.warn(`FeeConverterPipe: necessary properties missing!\n` + `Protocol: ${args.protocolIdentifier}\n` + `Value: ${value}`)
- return ''
- }
- let protocol
-
- try {
- protocol = getProtocolByIdentifier(args.protocolIdentifier)
- } catch (e) {
- return ''
- }
-
- const amount = new BigNumber(value)
- const fee = amount.shiftedBy(-1 * protocol.feeDecimals)
-
- return fee.toFixed() + ' ' + protocol.feeSymbol.toUpperCase()
- }
-}
diff --git a/src/components/progress-footer/progress-footer.html b/src/components/progress-footer/progress-footer.html
deleted file mode 100644
index aa374f3a..00000000
--- a/src/components/progress-footer/progress-footer.html
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
- {{ leftLabel }}
-
-
-
-
-
-
-
-
-
- {{ rightLabel }}
-
-
-
-
-
diff --git a/src/components/progress-footer/progress-footer.scss b/src/components/progress-footer/progress-footer.scss
deleted file mode 100644
index 8798572f..00000000
--- a/src/components/progress-footer/progress-footer.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-progress-footer {
- .row {
- align-items: center;
- }
-}
diff --git a/src/components/progress-footer/progress-footer.ts b/src/components/progress-footer/progress-footer.ts
deleted file mode 100644
index 5c940992..00000000
--- a/src/components/progress-footer/progress-footer.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { Component, Input } from '@angular/core'
-import { NavController } from 'ionic-angular'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@Component({
- selector: 'progress-footer',
- templateUrl: 'progress-footer.html'
-})
-export class ProgressFooterComponent {
- @Input()
- progress = 0
-
- @Input()
- maxProgress = 1
-
- // make sure to bind the context / method.bind(this)
- @Input()
- rightAction: () => void
-
- @Input()
- rightEnabled = true
-
- @Input()
- rightLabel = 'Next'
-
- // make sure to bind the context / method.bind(this)
- @Input()
- leftAction = () => {
- this.navController.pop().catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- @Input()
- leftEnabled = true
-
- @Input()
- leftLabel = 'Back'
-
- public progressArray: number[] = []
-
- constructor(private navController: NavController) {}
-
- ngOnInit() {
- this.progressArray = new Array(this.maxProgress).fill(0).map((_x, i) => i)
- if (!this.rightAction) {
- throw new Error('ProgressFooterComponent: No "rightAction" method passed')
- }
- }
-}
diff --git a/src/components/qr-clipboard/qr-clipboard.html b/src/components/qr-clipboard/qr-clipboard.html
deleted file mode 100644
index d73eebb1..00000000
--- a/src/components/qr-clipboard/qr-clipboard.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/src/components/qr-clipboard/qr-clipboard.scss b/src/components/qr-clipboard/qr-clipboard.scss
deleted file mode 100644
index 54c6758e..00000000
--- a/src/components/qr-clipboard/qr-clipboard.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-qr-clipboard {
-
-}
diff --git a/src/components/qr-clipboard/qr-clipboard.ts b/src/components/qr-clipboard/qr-clipboard.ts
deleted file mode 100644
index 24b3350f..00000000
--- a/src/components/qr-clipboard/qr-clipboard.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Component, Input } from '@angular/core'
-import { ClipboardProvider } from '../../providers/clipboard/clipboard'
-
-@Component({
- selector: 'qr-clipboard',
- templateUrl: 'qr-clipboard.html'
-})
-export class QrClipboardComponent {
- @Input()
- level: string = 'L'
-
- @Input()
- qrdata: any = ''
-
- @Input()
- size: number = 300
-
- constructor(private clipboardProvider: ClipboardProvider) {}
-
- async copyToClipboard() {
- await this.clipboardProvider.copyAndShowToast(this.qrdata)
- }
-}
diff --git a/src/components/secret-item/secret-item.html b/src/components/secret-item/secret-item.html
deleted file mode 100644
index f89064e4..00000000
--- a/src/components/secret-item/secret-item.html
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
{{ secret.label }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/components/secret-item/secret-item.scss b/src/components/secret-item/secret-item.scss
deleted file mode 100644
index f6cbc8bd..00000000
--- a/src/components/secret-item/secret-item.scss
+++ /dev/null
@@ -1,10 +0,0 @@
-secret-item {
- ion-icon {
- font-size: 16px !important;
- }
- .secret--label {
- font-family: 'Courier New', Courier, 'Lucida Sans Typewriter', 'Lucida Typewriter', monospace;
- font-weight: 800;
- font-size: 16px !important;
- }
-}
diff --git a/src/components/secret-item/secret-item.ts b/src/components/secret-item/secret-item.ts
deleted file mode 100644
index ebaa1142..00000000
--- a/src/components/secret-item/secret-item.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { Component, Input } from '@angular/core'
-import { Secret } from '../../models/secret'
-import { InteractionSetting } from '../../providers/interaction/interaction'
-
-@Component({
- selector: 'secret-item',
- templateUrl: 'secret-item.html'
-})
-export class SecretItemComponent {
- @Input()
- secret: Secret
-
- public interactionSetting = InteractionSetting
-}
diff --git a/src/components/signed-transaction/signed-transaction.html b/src/components/signed-transaction/signed-transaction.html
deleted file mode 100644
index 08b195cf..00000000
--- a/src/components/signed-transaction/signed-transaction.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- {{ 'signed-transaction.transaction-unreadable' | translate }}
-
-
- {{ rawTxData }}
-
-
diff --git a/src/components/signed-transaction/signed-transaction.scss b/src/components/signed-transaction/signed-transaction.scss
deleted file mode 100644
index 7fb41da4..00000000
--- a/src/components/signed-transaction/signed-transaction.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-signed-transaction {
- .warning-icon {
- font-size: 4rem;
- }
- .word-break__all {
- word-break: break-all;
- }
-}
diff --git a/src/components/signed-transaction/signed-transaction.spec.ts b/src/components/signed-transaction/signed-transaction.spec.ts
deleted file mode 100644
index 832fbc2f..00000000
--- a/src/components/signed-transaction/signed-transaction.spec.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import { async, TestBed, ComponentFixture } from '@angular/core/testing'
-
-import { IdenticonComponent } from './../identicon/identicon'
-import { AddressRowComponent } from './../address-row/address-row'
-import { FromToComponent } from './../from-to/from-to'
-import { SignedTransactionComponent } from './signed-transaction'
-import { UnitHelper } from '../../../test-config/unit-test-helper'
-import { SyncProtocolUtils, EncodedType } from 'airgap-coin-lib'
-
-fdescribe('SignedTransactionComponent', () => {
- let signedTransactionFixture: ComponentFixture
- let signedTransaction: SignedTransactionComponent
-
- beforeEach(async(() => {
- TestBed.configureTestingModule(
- UnitHelper.testBed({
- declarations: [SignedTransactionComponent, FromToComponent, AddressRowComponent, IdenticonComponent]
- })
- ).compileComponents()
- }))
-
- beforeEach(async () => {
- signedTransactionFixture = TestBed.createComponent(SignedTransactionComponent)
- signedTransaction = signedTransactionFixture.componentInstance
- })
-
- it('should be created', () => {
- expect(signedTransaction instanceof SignedTransactionComponent).toBe(true)
- })
-
- it('should load the from-to component if a valid tx is given', async(async () => {
- const syncProtocol = new SyncProtocolUtils()
- const serializedTx = await syncProtocol.serialize({
- version: 1,
- protocol: 'eth',
- type: EncodedType.SIGNED_TRANSACTION,
- payload: {
- accountIdentifier: 'test',
- transaction:
- 'f86c808504a817c800825208944a1e1d37462a422873bfccb1e705b05cc4bd922e880de0b6b3a76400008026a00678aaa8f8fd478952bf46044589f5489e809c5ae5717dfe6893490b1f98b441a06a82b82dad7c3232968ec3aa2bba32879b3ecdb877934915d7e65e095fe53d5d'
- }
- })
-
- expect(signedTransaction.airGapTx).toBe(undefined)
- expect(signedTransaction.fallbackActivated).toBe(false)
-
- const signedTx = await syncProtocol.deserialize(serializedTx)
- signedTransaction.signedTx = signedTx
- await signedTransaction.ngOnChanges()
-
- expect(signedTransaction.airGapTx).toBeDefined()
- expect(signedTransaction.fallbackActivated).toBe(false)
- }))
-
- it('should load fallback if something about the TX is wrong', async(async () => {
- const syncProtocol = new SyncProtocolUtils()
- const serializedTx = await syncProtocol.serialize({
- version: 1,
- protocol: 'eth',
- type: EncodedType.SIGNED_TRANSACTION,
- payload: {
- accountIdentifier: 'test',
- transaction:
- 'asdasdasdasdsad944a1e1d37462a422873bfccb1e705b05cc4bd922e880de0b6b3a76400008026a00678aaa8f8fd478952bf46044589f5489e809c5ae5717dfe6893490b1f98b441a06a82b82dad7c3232968ec3aa2bba32879b3ecdb877934915d7e65e095fe53d5d'
- }
- })
-
- expect(signedTransaction.airGapTx).toBe(undefined)
- expect(signedTransaction.fallbackActivated).toBe(false)
-
- console.log(serializedTx)
-
- const signedTx = await syncProtocol.deserialize(serializedTx)
- signedTransaction.signedTx = signedTx
- await signedTransaction.ngOnChanges()
-
- expect(signedTransaction.airGapTx).toBeUndefined()
- expect(signedTransaction.fallbackActivated).toBe(true)
- }))
-})
diff --git a/src/components/signed-transaction/signed-transaction.ts b/src/components/signed-transaction/signed-transaction.ts
deleted file mode 100644
index 89efe683..00000000
--- a/src/components/signed-transaction/signed-transaction.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import { Component, Input } from '@angular/core'
-import {
- DeserializedSyncProtocol,
- IAirGapTransaction,
- getProtocolByIdentifier,
- UnsignedTransaction,
- SignedTransaction,
- SyncProtocolUtils
-} from 'airgap-coin-lib'
-
-@Component({
- selector: 'signed-transaction',
- templateUrl: 'signed-transaction.html'
-})
-export class SignedTransactionComponent {
- @Input()
- signedTx: DeserializedSyncProtocol
-
- @Input()
- unsignedTx: DeserializedSyncProtocol
-
- @Input()
- syncProtocolString: string
-
- airGapTx: IAirGapTransaction
- fallbackActivated: boolean = false
-
- rawTxData: string
-
- constructor() {
- //
- }
-
- async ngOnChanges() {
- if (this.syncProtocolString) {
- try {
- const syncUtils = new SyncProtocolUtils()
- const parts = this.syncProtocolString.split('?d=') // TODO: Use sync scheme handler to unpack
- this.signedTx = await syncUtils.deserialize(parts[parts.length - 1])
- } catch (err) {
- this.fallbackActivated = true
- this.rawTxData = this.syncProtocolString
- }
- }
-
- if (this.signedTx) {
- const protocol = getProtocolByIdentifier(this.signedTx.protocol)
- try {
- this.airGapTx = await protocol.getTransactionDetailsFromSigned(this.signedTx.payload as SignedTransaction)
- this.fallbackActivated = false
- } catch (e) {
- this.fallbackActivated = true
- this.rawTxData = (this.signedTx.payload as SignedTransaction).transaction
- }
- }
-
- if (this.unsignedTx) {
- const protocol = getProtocolByIdentifier(this.unsignedTx.protocol)
- try {
- this.airGapTx = await protocol.getTransactionDetails(this.unsignedTx.payload as UnsignedTransaction)
- this.fallbackActivated = false
- } catch (e) {
- this.fallbackActivated = true
- this.rawTxData = JSON.stringify((this.unsignedTx.payload as UnsignedTransaction).transaction)
- }
- }
- }
-}
diff --git a/src/components/touch-entropy/touch-entropy.html b/src/components/touch-entropy/touch-entropy.html
deleted file mode 100644
index d4820db6..00000000
--- a/src/components/touch-entropy/touch-entropy.html
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
{{ 'touch-entropy.text' | translate }}
-
-
diff --git a/src/components/touch-entropy/touch-entropy.scss b/src/components/touch-entropy/touch-entropy.scss
deleted file mode 100644
index b46e312d..00000000
--- a/src/components/touch-entropy/touch-entropy.scss
+++ /dev/null
@@ -1,21 +0,0 @@
-touch-entropy {
- #container {
- position: relative;
- height: 200px;
- }
-
- p {
- position: absolute;
- top: 80px;
- width: 100%;
- text-align: center;
- }
-
- canvas {
- position: absolute;
- border-color: white;
- border-style: solid;
- border-width: 1px;
- border-radius: 20px;
- }
-}
diff --git a/src/components/touch-entropy/touch-entropy.ts b/src/components/touch-entropy/touch-entropy.ts
deleted file mode 100644
index a7057531..00000000
--- a/src/components/touch-entropy/touch-entropy.ts
+++ /dev/null
@@ -1,153 +0,0 @@
-import { Component, Input, OnInit, Renderer2, ViewChild } from '@angular/core'
-import { Entropy, IEntropyGenerator } from '../../providers/entropy/IEntropyGenerator'
-import { Observable } from 'rxjs'
-
-import workerJS from '../../assets/workers/entropyCalculatorWorker'
-const blobURL = window.URL.createObjectURL(new Blob([workerJS]))
-const entropyCalculatorWorker = new Worker(blobURL)
-
-@Component({
- selector: 'touch-entropy',
- templateUrl: 'touch-entropy.html'
-})
-export class TouchEntropyComponent implements OnInit, IEntropyGenerator {
- @Input()
- cursorSize = 2
-
- @Input()
- randomFactorInPercent = 10
-
- @Input()
- cursorColor = 'white'
-
- @ViewChild('canvas')
- canvasRef
-
- private canvas: HTMLCanvasElement
- private context: CanvasRenderingContext2D
- private rectangle: ClientRect
- public showStrokes
-
- private handler
-
- private entropyObservable: Observable
-
- private collectedEntropyPercentage: number = 0
-
- private isDrawing = false
-
- constructor(private renderer: Renderer2) {
- this.entropyObservable = Observable.create(observer => {
- entropyCalculatorWorker.onmessage = event => {
- this.collectedEntropyPercentage += event.data.entropyMeasure
- observer.next({ entropyHex: event.data.entropyHex })
- }
-
- this.handler = entropy => {
- const buffer1 = this.arrayBufferFromIntArray(entropy)
- entropyCalculatorWorker.postMessage({ entropyBuffer: buffer1 }, [buffer1])
- }
- })
- }
-
- ngOnInit(): void {
- this.canvas = this.canvasRef.nativeElement
-
- this.canvas.setAttribute('height', `${this.canvas.parentElement.getBoundingClientRect().height}px`)
- this.canvas.setAttribute('width', `${this.canvas.parentElement.getBoundingClientRect().width}px`)
-
- this.context = this.canvas.getContext('2d')
- this.context.fillStyle = this.cursorColor
- this.rectangle = this.canvas.getBoundingClientRect()
- this.showStrokes = true
- }
-
- ngOnDestroy(): void {
- this.showStrokes = false
- }
-
- start(): Promise {
- this.collectedEntropyPercentage = 0
- return new Promise(resolve => {
- this.renderer.listen(this.canvas, 'mousedown', _e => {
- this.isDrawing = true
- })
-
- this.renderer.listen(this.canvas, 'touchstart', _e => {
- this.isDrawing = true
- })
-
- this.renderer.listen(this.canvas, 'mouseup', _e => {
- this.isDrawing = false
- })
-
- this.renderer.listen(this.canvas, 'touchend', _e => {
- this.isDrawing = false
- })
-
- this.renderer.listen(this.canvas, 'mousemove', e => {
- if (this.isDrawing) this.collectEntropy(e)
- })
-
- this.renderer.listen(this.canvas, 'touchmove', e => {
- if (this.isDrawing) this.collectEntropy(e)
- })
-
- resolve()
- })
- }
-
- stop(): Promise {
- return new Promise(resolve => {
- this.isDrawing = false
- resolve()
- })
- }
-
- collectEntropy(e) {
- let x = e.clientX || e.touches[0].clientX
- let y = e.clientY || e.touches[0].clientY
-
- let currX = Math.ceil(((x - this.rectangle.left) / (this.rectangle.right - this.rectangle.left)) * this.canvas.width)
- let currY = Math.ceil(((y - this.rectangle.top) / (this.rectangle.bottom - this.rectangle.top)) * this.canvas.height) - 56
-
- if (this.getRandomIntInclusive(0, 100) <= this.randomFactorInPercent) {
- let timeStampInMs =
- window.performance && window.performance.now && window.performance.timing && window.performance.timing.navigationStart
- ? window.performance.now() + window.performance.timing.navigationStart
- : Date.now()
-
- if (this.handler) {
- this.handler([currX, currY, timeStampInMs])
- }
- }
- }
-
- getEntropyUpdateObservable(): Observable {
- return this.entropyObservable
- }
-
- private getRandomIntInclusive(min: number, max: number) {
- const randomBuffer = new Uint32Array(1)
- window.crypto.getRandomValues(randomBuffer)
- let randomNumber = randomBuffer[0] / (0xffffffff + 1)
- min = Math.ceil(min)
- max = Math.floor(max)
- return Math.floor(randomNumber * (max - min + 1)) + min
- }
-
- private arrayBufferFromIntArray(array: number[]) {
- const buffer = new ArrayBuffer(array.length * 2)
- const bufView = new Uint8Array(buffer)
-
- for (let i = 0; i < array.length; i++) {
- bufView[i] = Math.abs(array[i] * 10000)
- }
-
- return buffer
- }
-
- getCollectedEntropyPercentage(): number {
- return this.collectedEntropyPercentage / 10
- }
-}
diff --git a/src/components/trace-input/trace-input.directive.ts b/src/components/trace-input/trace-input.directive.ts
deleted file mode 100644
index 62144ae6..00000000
--- a/src/components/trace-input/trace-input.directive.ts
+++ /dev/null
@@ -1,94 +0,0 @@
-import { Directive, ElementRef, NgZone, OnInit, Renderer2 } from '@angular/core'
-
-@Directive({
- selector: '[trace-input]',
- inputs: ['running: traceEnabled']
-})
-export class TraceInputDirective implements OnInit {
- private canvas: HTMLCanvasElement
- private context: CanvasRenderingContext2D
-
- private mousePos = { x: 0, y: 0 }
- private lastPos = this.mousePos
-
- private isDrawing: boolean
-
- constructor(elementRef: ElementRef, private ngZone: NgZone, private renderer: Renderer2) {
- this.canvas = elementRef.nativeElement
- this.context = this.canvas.getContext('2d')
- }
-
- ngOnInit() {
- this.renderer.listen(this.canvas, 'mousedown', e => {
- this.lastPos = this.getMousePosition(this.canvas, e)
- this.isDrawing = true
- this.startDrawing()
- })
-
- this.renderer.listen(this.canvas, 'touchstart', e => {
- this.lastPos = this.getTouchPosition(this.canvas, e)
- this.isDrawing = true
- this.startDrawing()
- })
-
- this.renderer.listen(this.canvas, 'mouseup', e => {
- this.lastPos = this.getMousePosition(this.canvas, e)
- this.isDrawing = false
- })
-
- this.renderer.listen(this.canvas, 'touchend', e => {
- this.lastPos = this.getTouchPosition(this.canvas, e)
- this.isDrawing = false
- })
-
- this.renderer.listen(this.canvas, 'mousemove', e => {
- this.mousePos = this.getMousePosition(this.canvas, e)
- })
-
- this.renderer.listen(this.canvas, 'touchmove', e => {
- this.mousePos = this.getTouchPosition(this.canvas, e)
- })
- }
-
- startDrawing() {
- if (!this.isDrawing) {
- return
- }
-
- this.ngZone.runOutsideAngular(() => {
- requestAnimationFrame(() => {
- this.renderEntropyDrawing()
- })
- })
- }
-
- getMousePosition(canvas, evt) {
- let rect = canvas.getBoundingClientRect()
- return {
- x: evt.clientX - rect.left,
- y: evt.clientY - rect.top
- }
- }
-
- getTouchPosition(canvas, evt) {
- let rect = canvas.getBoundingClientRect()
-
- if (!evt.touches[0]) {
- return this.lastPos
- }
-
- return {
- x: evt.touches[0].clientX - rect.left,
- y: evt.touches[0].clientY - rect.top
- }
- }
-
- renderEntropyDrawing() {
- this.context.strokeStyle = 'rgb(255, 255, 255)'
- this.context.moveTo(this.lastPos.x, this.lastPos.y)
- this.context.lineTo(this.mousePos.x, this.mousePos.y)
- this.context.stroke()
- this.lastPos = this.mousePos
- this.startDrawing()
- }
-}
diff --git a/src/components/verify-key/verify-key.html b/src/components/verify-key/verify-key.html
deleted file mode 100644
index 69eeb603..00000000
--- a/src/components/verify-key/verify-key.html
+++ /dev/null
@@ -1,56 +0,0 @@
-
-
- 10">
-
- {{ currentWords[i].word }}
-
-
- {{ i + 1 }}
-
-
-
-
-
-
-
-
-
-
-
- {{ 'verify-key.success_text' | translate }}
- {{ 'verify-key.continue_label' | translate }}
-
-
- 0" id="wordSelector" padding-top>
-
-
-
- {{ word.word }}
-
-
-
-
-
diff --git a/src/components/verify-key/verify-key.scss b/src/components/verify-key/verify-key.scss
deleted file mode 100644
index 7e68cc7d..00000000
--- a/src/components/verify-key/verify-key.scss
+++ /dev/null
@@ -1,38 +0,0 @@
-verify-key {
- .secret--container-60 {
- height: calc(60% - 36px);
- }
-
- .secret--container-40 {
- height: calc(40%- 36px);
- }
-
- .secret--container__inner {
- align-content: start;
- padding: 0 4px;
- }
-
- hr {
- border: 2px dashed color($colors, primary);
- border-style: none none dashed;
- color: color($colors, primary);
- margin: 8px 0;
- }
-
- .button-secret {
- @extend .secret--typography;
- font-weight: bold;
- }
-
- .xtra-small {
- button {
- @extend .secret--typography;
- font-size: 0.8em;
- padding: 0 1rem;
- }
- }
-
- .word-placeholder {
- min-width: 48px;
- }
-}
diff --git a/src/components/verify-key/verify-key.spec.ts b/src/components/verify-key/verify-key.spec.ts
deleted file mode 100644
index e6aa03fc..00000000
--- a/src/components/verify-key/verify-key.spec.ts
+++ /dev/null
@@ -1,182 +0,0 @@
-import 'jasmine'
-import { VerifyKeyComponent } from './verify-key'
-import { ComponentFixture, TestBed, async } from '@angular/core/testing'
-import { IonicModule } from 'ionic-angular'
-import { HttpClient, HttpClientModule } from '@angular/common/http'
-import { TranslateModule } from '@ngx-translate/core'
-
-describe('Component: VerifyKey', () => {
- let component: VerifyKeyComponent
- let fixture: ComponentFixture
-
- const correctMnemonic =
- 'usage puzzle bottom amused genuine bike brown ripple lend aware symbol genuine neutral tortoise pluck rose brown cliff sing smile appear black occur zero'
-
- beforeEach(async(() => {
- TestBed.configureTestingModule({
- declarations: [VerifyKeyComponent],
- imports: [IonicModule.forRoot(VerifyKeyComponent), HttpClientModule, TranslateModule.forRoot()]
- })
- .compileComponents()
- .then(() => {
- fixture = TestBed.createComponent(VerifyKeyComponent)
- component = fixture.componentInstance
- })
- }))
-
- it('should validate a regular mnemonic, and emit correct event', async(() => {
- component.secret = correctMnemonic
- fixture.detectChanges()
- let words = component.secret.split(' ')
-
- // validate onComplete Event is True
- component.onContinue.subscribe(event => {
- expect(event).toBeTruthy()
- })
-
- words.forEach((word, i) => {
- expect(component.isFull()).toBeFalsy()
- component.useWord({ word: word })
- })
-
- expect(component.isFull()).toBeTruthy()
- expect(component.isCorrect()).toBeTruthy()
- }))
-
- it('should detect a wrong word in a mnemonic', async(() => {
- component.secret = correctMnemonic
- fixture.detectChanges()
- const words = component.secret.split(' ')
-
- // validate onComplete Event is False
- component.onContinue.subscribe(event => {
- expect(event).toBeFalsy()
- })
-
- words.forEach((word, i) => {
- expect(component.isFull()).toBeFalsy()
- if (i === 5) {
- component.useWord({ word: 'wrongWord' })
- } else {
- component.useWord({ word: word })
- }
- })
-
- expect(component.isFull()).toBeTruthy()
- expect(component.isCorrect()).toBeFalsy()
- }))
-
- it('should validate a mnemonic where the same word appears 2 times', async(() => {
- component.secret = correctMnemonic
- fixture.detectChanges()
- component.ngOnInit()
- const words = component.secret.split(' ')
-
- words.forEach((word, i) => {
- component.useWord({ word: word })
- })
-
- expect(component.isCorrect()).toBeTruthy()
- }))
-
- it('should not validate user input that is too short', async(() => {
- component.secret = correctMnemonic
- fixture.detectChanges()
- component.ngOnInit()
- const words = component.secret.split(' ')
-
- words.forEach((word, i) => {
- if (i === words.length - 1) return
- component.useWord({ word: word })
- })
-
- expect(component.isFull()).toBeFalsy()
- expect(component.isCorrect()).toBeFalsy()
- component.useWord({ word: words[words.length - 1] })
- expect(component.isFull()).toBeTruthy()
- expect(component.isCorrect()).toBeTruthy()
- }))
-
- it('should give the correct empty spots', async(() => {
- component.secret = correctMnemonic
- fixture.detectChanges()
- component.ngOnInit()
- const words = component.secret.split(' ')
-
- // first empty spot is zero
- expect(component.emptySpot(component.currentWords)).toEqual(0)
-
- component.useWord({ word: words[0] })
-
- // next empty spot is one
- expect(component.emptySpot(component.currentWords)).toEqual(1)
- }))
-
- it('should let users select words to correct them', async(() => {
- component.secret = correctMnemonic
- fixture.detectChanges()
- component.ngOnInit()
- const words = component.secret.split(' ')
-
- words.forEach((word, i) => {
- component.useWord({ word: word })
- })
-
- // now select a word
- component.selectWord(5)
- expect(component.selectedWord).toEqual(5)
- expect(component.currentWords[5]).toEqual({ word: words[5] })
- }))
-
- it('should give users 3 words to choose from', async(() => {
- component.secret = correctMnemonic
- component.ngOnInit()
- fixture.detectChanges()
-
- let wordSelector = fixture.nativeElement.querySelector('#wordSelector')
-
- // check if there are three words
- expect(wordSelector.children.length).toBe(3)
-
- let foundWord = false
- for (let i = 0; i < wordSelector.children.length; i++) {
- if (wordSelector.children.item(i).textContent.trim() === correctMnemonic.split(' ')[0]) {
- foundWord = true
- }
- }
-
- // check if one of the words is the correct one
- expect(foundWord).toBeTruthy()
- }))
-
- it('should give users 3 words to choose from if selecting a specific one', async(() => {
- component.secret = correctMnemonic
- component.ngOnInit()
- fixture.detectChanges()
-
- component.secret.split(' ').forEach((word, i) => {
- if (i > 10) return
- component.useWord({ word: word })
- })
-
- const selectedIndex = 5
- component.selectWord(selectedIndex)
-
- fixture.detectChanges()
-
- let wordSelector = fixture.nativeElement.querySelector('#wordSelector')
-
- // check if there are three words
- expect(wordSelector.children.length).toBe(3)
-
- let foundWord = false
- for (let i = 0; i < wordSelector.children.length; i++) {
- if (wordSelector.children.item(i).textContent.trim() === correctMnemonic.split(' ')[selectedIndex]) {
- foundWord = true
- }
- }
-
- // check if one of the words is the correct one
- expect(foundWord).toBeTruthy()
- }))
-})
diff --git a/src/components/verify-key/verify-key.ts b/src/components/verify-key/verify-key.ts
deleted file mode 100644
index 04ff14cb..00000000
--- a/src/components/verify-key/verify-key.ts
+++ /dev/null
@@ -1,170 +0,0 @@
-import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'
-import * as bip39 from 'bip39'
-import { sha3_256 } from 'js-sha3'
-interface Word {
- word: string
-}
-
-const ADDITIONAL_WORDS = 2
-
-@Component({
- selector: 'verify-key',
- templateUrl: 'verify-key.html'
-})
-export class VerifyKeyComponent implements OnInit {
- @Input()
- secret: string
-
- @Output()
- onContinue = new EventEmitter()
-
- @Output()
- onComplete = new EventEmitter()
-
- isCompleted: boolean = false
-
- splittedSecret: Word[] = []
- currentWords: Word[] = []
- promptedWords: Word[] = []
-
- selectedWord: number = null
-
- ngOnInit(): void {
- this.splittedSecret = this.secret
- .toLowerCase()
- .split(' ')
- .map(word => {
- return {
- word: word
- }
- })
- this.reset()
-
- this.onComplete.subscribe(result => {
- this.isCompleted = result
- })
- }
-
- ngOnDestroy(): void {
- this.onComplete.unsubscribe()
- }
-
- continue() {
- this.onContinue.emit()
- }
-
- promptNextWord() {
- this.promptedWords.length = 0
-
- const correctWord = this.splittedSecret[this.emptySpot(this.currentWords)]
-
- this.promptedWords.push(correctWord)
-
- const wordList = bip39.wordlists.EN.slice()
-
- for (let i = 0; i < ADDITIONAL_WORDS; i++) {
- const filteredList = wordList.filter(word => !this.splittedSecret.find(w => w.word === word))
-
- let hashedWord = sha3_256(correctWord.word)
- for (let hashRuns = 0; hashRuns <= i; hashRuns++) {
- hashedWord = sha3_256(hashedWord)
- }
-
- const word: Word = {
- word: filteredList[this.stringToIntHash(hashedWord, 0, filteredList.length)]
- }
-
- this.promptedWords.push(word)
- }
-
- this.promptedWords = this.shuffle(this.promptedWords)
- }
-
- shuffle(a) {
- let counter = a.length
-
- while (counter > 0) {
- let index = Math.floor(Math.random() * counter)
-
- counter--
-
- let temp = a[counter]
- a[counter] = a[index]
- a[index] = temp
- }
-
- return a
- }
-
- stringToIntHash(str: string, lowerbound: number, upperbound: number) {
- let result = 0
-
- for (let i = 0; i < str.length; i++) {
- result = result + str.charCodeAt(i)
- }
-
- return (result % (upperbound - lowerbound)) + lowerbound
- }
-
- isSelectedWord(word: Word): boolean {
- if (this.selectedWord !== null) {
- return this.currentWords[this.selectedWord].word === word.word
- }
- return false
- }
-
- selectEmptySpot() {
- this.selectedWord = null
- this.promptNextWord()
- }
-
- useWord(word: Word) {
- let index = this.emptySpot(this.currentWords)
-
- // unselect any selected words
- this.selectedWord = null
- this.currentWords[index] = word
-
- // prompt next word
- if (!this.isFull() && index < this.splittedSecret.length - 1) {
- return this.promptNextWord()
- }
-
- if (this.isFull()) {
- // if all words are placed, check for correctness, else next
- this.promptedWords = []
- this.onComplete.emit(this.isCorrect())
- }
- }
-
- emptySpot(array: Word[]): number {
- if (this.selectedWord !== null) {
- return this.selectedWord
- }
- return array.findIndex(obj => obj === null)
- }
-
- selectWord(index: number) {
- this.selectedWord = index
- this.promptNextWord()
- }
-
- reset() {
- this.selectedWord = null
- this.currentWords = Array(this.splittedSecret.length).fill(null)
- this.promptNextWord()
- }
-
- isFull() {
- return this.currentWords.filter(w => w !== null).length === this.splittedSecret.length
- }
-
- isCorrect() {
- return (
- this.currentWords
- .map(w => (w ? w.word : '-'))
- .join(' ')
- .trim() === this.secret.trim()
- )
- }
-}
diff --git a/src/components/wallet-item/wallet-item.html b/src/components/wallet-item/wallet-item.html
deleted file mode 100644
index 9df6a780..00000000
--- a/src/components/wallet-item/wallet-item.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
- {{ wallet.coinProtocol.name }} {{ wallet.coinProtocol.symbol }}
- {{ wallet.receivingPublicAddress }}
-
-
diff --git a/src/components/wallet-item/wallet-item.scss b/src/components/wallet-item/wallet-item.scss
deleted file mode 100644
index db9859e8..00000000
--- a/src/components/wallet-item/wallet-item.scss
+++ /dev/null
@@ -1,11 +0,0 @@
-wallet-item {
- .symbol--icon img {
- height: 24px;
- width: 24px;
- }
- .symbol--icon {
- position: absolute;
- left: 24px;
- top: 32px;
- }
-}
diff --git a/src/components/wallet-item/wallet-item.ts b/src/components/wallet-item/wallet-item.ts
deleted file mode 100644
index 892a06f9..00000000
--- a/src/components/wallet-item/wallet-item.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Component, Input } from '@angular/core'
-import { AirGapWallet } from 'airgap-coin-lib'
-
-@Component({
- selector: 'wallet-item',
- templateUrl: 'wallet-item.html'
-})
-export class WalletItemComponent {
- @Input()
- wallet: AirGapWallet
-}
diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts
new file mode 100644
index 00000000..bc0327db
--- /dev/null
+++ b/src/environments/environment.prod.ts
@@ -0,0 +1,3 @@
+export const environment = {
+ production: true
+}
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
new file mode 100644
index 00000000..745ee023
--- /dev/null
+++ b/src/environments/environment.ts
@@ -0,0 +1,16 @@
+// This file can be replaced during build by using the `fileReplacements` array.
+// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.
+// The list of file replacements can be found in `angular.json`.
+
+export const environment = {
+ production: false
+}
+
+/*
+ * For easier debugging in development mode, you can import the following file
+ * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.
+ *
+ * This import should be commented out in production mode because it will have a negative impact
+ * on performance if an error is thrown.
+ */
+// import 'zone.js/dist/zone-error'; // Included with Angular CLI.
diff --git a/src/global.scss b/src/global.scss
new file mode 100644
index 00000000..95b74f55
--- /dev/null
+++ b/src/global.scss
@@ -0,0 +1,11 @@
+// http://ionicframework.com/docs/theming/
+@import '~@ionic/angular/css/core.css';
+@import '~@ionic/angular/css/normalize.css';
+@import '~@ionic/angular/css/structure.css';
+@import '~@ionic/angular/css/typography.css';
+@import '~@ionic/angular/css/display.css';
+@import '~@ionic/angular/css/padding.css';
+@import '~@ionic/angular/css/float-elements.css';
+@import '~@ionic/angular/css/text-alignment.css';
+@import '~@ionic/angular/css/text-transformation.css';
+@import '~@ionic/angular/css/flex-utils.css';
diff --git a/src/index.html b/src/index.html
index 6e0ccd9d..f9c29f7b 100644
--- a/src/index.html
+++ b/src/index.html
@@ -1,8 +1,11 @@
-
+
-
+
AirGap Vault
+
+
+
+
-
-
-
+
@@ -40,38 +43,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/src/karma.conf.js b/src/karma.conf.js
new file mode 100644
index 00000000..84c498f4
--- /dev/null
+++ b/src/karma.conf.js
@@ -0,0 +1,31 @@
+// Karma configuration file, see link for more information
+// https://karma-runner.github.io/1.0/config/configuration-file.html
+
+module.exports = function(config) {
+ config.set({
+ basePath: '',
+ frameworks: ['jasmine', '@angular-devkit/build-angular'],
+ plugins: [
+ require('karma-jasmine'),
+ require('karma-chrome-launcher'),
+ require('karma-jasmine-html-reporter'),
+ require('karma-coverage-istanbul-reporter'),
+ require('@angular-devkit/build-angular/plugins/karma')
+ ],
+ client: {
+ clearContext: false // leave Jasmine Spec Runner output visible in browser
+ },
+ coverageIstanbulReporter: {
+ dir: require('path').join(__dirname, '../coverage'),
+ reports: ['html', 'lcovonly', 'text-summary'],
+ fixWebpackSourcePaths: true
+ },
+ reporters: ['progress', 'kjhtml'],
+ port: 9876,
+ colors: true,
+ logLevel: config.LOG_INFO,
+ autoWatch: true,
+ browsers: ['Chrome'],
+ singleRun: false
+ })
+}
diff --git a/src/main.ts b/src/main.ts
new file mode 100644
index 00000000..f3825fe5
--- /dev/null
+++ b/src/main.ts
@@ -0,0 +1,13 @@
+import { enableProdMode } from '@angular/core'
+import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
+
+import { AppModule } from './app/app.module'
+import { environment } from './environments/environment'
+
+if (environment.production) {
+ enableProdMode()
+}
+
+platformBrowserDynamic()
+ .bootstrapModule(AppModule)
+ .catch(err => console.log(err))
diff --git a/src/manifest.json b/src/manifest.json
deleted file mode 100644
index aac66fbd..00000000
--- a/src/manifest.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "name": "Ionic",
- "short_name": "Ionic",
- "start_url": "index.html",
- "display": "standalone",
- "icons": [
- {
- "src": "assets/img/logo.png",
- "sizes": "512x512",
- "type": "image/png"
- }
- ],
- "background_color": "#4e8ef7",
- "theme_color": "#4e8ef7"
-}
diff --git a/src/models/BIP39Signer.spec.ts b/src/models/BIP39Signer.spec.ts
deleted file mode 100644
index 9abeb360..00000000
--- a/src/models/BIP39Signer.spec.ts
+++ /dev/null
@@ -1,106 +0,0 @@
-import { BIP39Signer } from './BIP39Signer'
-
-describe('BIP39: Signer', () => {
- const signer = new BIP39Signer()
- // Test with different secret lengths
- const secrets = [
- 'police fade pink dose curious bid mixed blade rotate food situate junk rival torch inflict poem shrimp owner grant cable cook bless swarm curious',
- 'clarify excuse sunny crazy can aerobic harbor imitate shuffle hurry vacuum object captain miss unveil oval answer retreat',
- 'ozone supply spread pipe frown bread squirrel life split heart pave avoid'
- ]
-
- it('create an instance', () => {
- expect(signer).toBeTruthy()
- })
-
- it('generates same seed from same entropy', () => {
- const expectedSecret =
- 'demise stem detect together legal stand road industry thought casino danger arrow busy kick tide female own ship'
- const secret = signer.entropyToMnemonic('3a5aa8f1f1d7f7a92ebb99e0e46cdd8651f2f47872a79e18')
- expect(secret).toBe(secret)
- })
-
- it('generates correct social recovery keys, 24 words seed', () => {
- const numberOfShares = 5
- const threshold = 3
-
- const shares = signer.generateSocialRecover(secrets[0], numberOfShares, threshold)
- const restoredSecretFull = signer.recoverKey(shares)
- const restoredSecretExact = signer.recoverKey(shares.slice(0, threshold))
-
- expect(shares.length).toBe(numberOfShares)
- expect(restoredSecretFull).toBe(secrets[0])
- expect(restoredSecretExact).toBe(secrets[0])
-
- expect(function() {
- signer.recoverKey(shares.slice(0, threshold - 1))
- }).toThrowError(
- 'Checksum error, either the passed shares were generated for different secrets or the amount of shares is below the threshold'
- )
- })
-
- it('generates correct social recovery keys, 18 words seed', () => {
- const numberOfShares = 5
- const threshold = 3
-
- const shares = signer.generateSocialRecover(secrets[1], numberOfShares, threshold)
- const restoredSecretFull = signer.recoverKey(shares)
- const restoredSecretExact = signer.recoverKey(shares.slice(0, threshold))
-
- expect(shares.length).toBe(numberOfShares)
- expect(restoredSecretFull).toBe(secrets[1])
- expect(restoredSecretExact).toBe(secrets[1])
-
- expect(function() {
- signer.recoverKey(shares.slice(0, threshold - 1))
- }).toThrowError(
- 'Checksum error, either the passed shares were generated for different secrets or the amount of shares is below the threshold'
- )
- })
-
- it('generates correct social recovery keys, 12 words seed', () => {
- const numberOfShares = 5
- const threshold = 3
-
- const shares = signer.generateSocialRecover(secrets[2], numberOfShares, threshold)
- const restoredSecretFull = signer.recoverKey(shares)
- const restoredSecretExact = signer.recoverKey(shares.slice(0, threshold))
-
- expect(shares.length).toBe(numberOfShares)
- expect(restoredSecretFull).toBe(secrets[2])
- expect(restoredSecretExact).toBe(secrets[2])
-
- expect(function() {
- signer.recoverKey(shares.slice(0, threshold - 1))
- }).toThrowError(
- 'Checksum error, either the passed shares were generated for different secrets or the amount of shares is below the threshold'
- )
- })
-
- it('throw error on wrong threshold configuration', () => {
- let numberOfShares = 5
- let threshold = 6
-
- expect(function() {
- signer.generateSocialRecover(secrets[0], numberOfShares, threshold)
- }).toThrowError('The threshold needs to be smaller or equal to the number or shares')
- })
-
- it('throw error on wrong numberOfShares configuration', () => {
- let numberOfShares = 1
- let threshold = 1
-
- expect(function() {
- signer.generateSocialRecover(secrets[0], numberOfShares, threshold)
- }).toThrowError('At least two shares are needed')
- })
-
- it('throw error on wrong numberOfShares configuration', () => {
- let numberOfShares = 1
- let threshold = 1
-
- expect(function() {
- signer.generateSocialRecover(secrets[0], numberOfShares, threshold)
- }).toThrowError('At least two shares are needed')
- })
-})
diff --git a/src/models/BIP39Signer.ts b/src/models/BIP39Signer.ts
deleted file mode 100644
index f78364e7..00000000
--- a/src/models/BIP39Signer.ts
+++ /dev/null
@@ -1,129 +0,0 @@
-import { sha3_256 } from 'js-sha3'
-import bip39 from 'bip39'
-import secretJS from 'secrets.js-grempe'
-
-export class BIP39Signer {
- readonly checkSumLength = 10
-
- private getOffsetMapping(share: string): any {
- const shareWordCount = share.split(' ').length
- if (shareWordCount === 48) {
- return { offset: 99, seedOffset: 64 }
- } else if (shareWordCount === 36) {
- return { offset: 67, seedOffset: 42 }
- } else if (shareWordCount === 24) {
- return { offset: 67, seedOffset: 32 }
- }
- throw new Error('Currently only recovery of secrets with 24, 18 or 12 words are supported')
- }
-
- private getRandomIntInclusive(min: number, max: number): number {
- const randomBuffer = new Uint32Array(1)
- window.crypto.getRandomValues(randomBuffer)
- let randomNumber = randomBuffer[0] / (0xffffffff + 1)
- min = Math.ceil(min)
- max = Math.floor(max)
- return Math.floor(randomNumber * (max - min + 1)) + min
- }
-
- entropyToMnemonic(entropy: string): string {
- return bip39.entropyToMnemonic(entropy)
- }
-
- mnemonicToEntropy(mnemonic: string): string {
- const usedList = BIP39Signer.determineWordList(mnemonic)
-
- if (!usedList) {
- throw Error('non-compatible mnemonic')
- }
-
- return bip39.mnemonicToEntropy(mnemonic, usedList)
- }
-
- static prepareMnemonic(mnemonic: string): string {
- return mnemonic.trim().toLowerCase()
- }
-
- static validateMnemonic(mnemonic: string): boolean {
- const preparedMnemonic = BIP39Signer.prepareMnemonic(mnemonic)
- const wordList = BIP39Signer.determineWordList(preparedMnemonic)
- return bip39.validateMnemonic(preparedMnemonic, wordList)
- }
-
- static determineWordList(mnemonic: string): any[] {
- for (const list of BIP39Signer.wordLists()) {
- if (bip39.validateMnemonic(BIP39Signer.prepareMnemonic(mnemonic), list)) {
- return list
- }
- }
- }
-
- static wordLists(): any[] {
- return [
- bip39.wordlists.english
- /*
- bip39.wordlists.chinese_simplified,
- bip39.wordlists.chinese_traditional,
- bip39.wordlists.french,
- bip39.wordlists.italian,
- bip39.wordlists.japanese,
- bip39.wordlists.korean,
- bip39.wordlists.spanish
- */
- ]
- }
-
- generateSocialRecover(secret: string, numberOfShares: number, threshold: number): string[] {
- if (threshold > numberOfShares) {
- throw new Error('The threshold needs to be smaller or equal to the number or shares')
- } else if (numberOfShares < 2) {
- throw new Error('At least two shares are needed')
- }
- const secretDigester = sha3_256.create()
-
- // TODO check if mnemoinc or secret
- const seed: string = bip39.mnemonicToEntropy(secret)
- secretDigester.update(seed)
-
- const shares = secretJS.share(seed + secretDigester.hex().slice(0, this.checkSumLength), numberOfShares, threshold)
- const calculatedShares = []
- for (let i = 0; i < shares.length; i++) {
- let paddedShare = shares[i].concat(
- Array(29)
- .fill(0)
- .map(() => this.getRandomIntInclusive(0, 9))
- .join('')
- )
- calculatedShares[i] = `${bip39.entropyToMnemonic(paddedShare.slice(0, 64))} ${bip39.entropyToMnemonic(paddedShare.slice(64, 128))}`
- }
- return calculatedShares
- }
-
- recoverKey(shares: any): string {
- const offset = this.getOffsetMapping(shares[0])
- let translatedShares = []
- for (let i = 0; i < shares.length; i++) {
- let words = shares[i].split(' ')
- let firstHalf = words.slice(0, 24)
- let secondHalf = words.slice(24, words.length)
- translatedShares[i] = `${bip39.mnemonicToEntropy(firstHalf.join(' '))}${bip39.mnemonicToEntropy(secondHalf.join(' '))}`.substr(
- 0,
- offset.offset
- )
- }
- const secretDigester = sha3_256.create()
- const combine = secretJS.combine(translatedShares)
- const seed = combine.slice(0, -this.checkSumLength)
-
- secretDigester.update(seed)
-
- let checksum = secretDigester.hex().slice(0, this.checkSumLength)
- let checksum2 = combine.substr(-this.checkSumLength)
- if (checksum !== checksum2) {
- throw new Error(
- 'Checksum error, either the passed shares were generated for different secrets or the amount of shares is below the threshold'
- )
- }
- return bip39.entropyToMnemonic(seed)
- }
-}
diff --git a/src/models/Warning.ts b/src/models/Warning.ts
deleted file mode 100644
index f0299585..00000000
--- a/src/models/Warning.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-enum Warning {
- ROOT,
- SCREENSHOT,
- NETWORK
-}
diff --git a/src/models/mixins.ts b/src/models/mixins.ts
deleted file mode 100644
index a76d8e96..00000000
--- a/src/models/mixins.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export function applyMixins(derivedCtor: any, baseCtors: any[]) {
- baseCtors.forEach(baseCtor => {
- Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {
- derivedCtor.prototype[name] = baseCtor.prototype[name]
- })
- })
-}
diff --git a/src/models/secret.ts b/src/models/secret.ts
deleted file mode 100644
index 313fe785..00000000
--- a/src/models/secret.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import { UUID } from 'angular2-uuid'
-import { BIP39Signer } from './BIP39Signer'
-import { AirGapWallet } from 'airgap-coin-lib'
-import { InteractionSetting } from '../providers/interaction/interaction'
-
-const signer = new BIP39Signer()
-
-export class Secret {
- public id: string = UUID.UUID()
- public label: string
-
- public secretHex: string
- public isParanoia: boolean
- public hasSocialRecovery: boolean
- public interactionSetting: InteractionSetting
-
- public wallets: AirGapWallet[]
-
- private twofactor: string
-
- constructor(seed: string, label: string = '', isParanoia = false, interactionSetting = InteractionSetting.UNDETERMINED) {
- this.label = label
- this.isParanoia = isParanoia
- this.interactionSetting = interactionSetting
-
- // TODO: better check whether this is a mnemonic (validate)
- if (seed && seed.indexOf(' ') > -1) {
- seed = signer.mnemonicToEntropy(seed)
- }
-
- this.secretHex = seed
- }
-
- flushSecret() {
- delete this.secretHex
- }
-
- recoverMnemonicFromHex(hex: string): string {
- return signer.entropyToMnemonic(hex)
- }
-
- hasTwofactor(): boolean {
- return this.twofactor && this.twofactor.length > 0
- }
-
- static generateSocialRecover(secret: string, numberOfShares: number, threshold: number): string[] {
- return signer.generateSocialRecover(secret, numberOfShares, threshold)
- }
-
- static recoverSecretFromShares(shares: string[]): string {
- return signer.recoverKey(shares)
- }
-
- static init(obj) {
- return Object.assign(new Secret(null, obj.label), obj)
- }
-}
diff --git a/src/models/serializable.model.ts b/src/models/serializable.model.ts
deleted file mode 100644
index 5f346608..00000000
--- a/src/models/serializable.model.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-export class Serializable {
- fillFromJSON(json: string): this {
- let jsonObj = JSON.parse(json)
- for (let propName in jsonObj) {
- this[propName] = JSON.parse(jsonObj[propName])
- }
- return this
- }
-
- fillFromObj(jsonObj: Object): this {
- for (let propName in jsonObj) {
- this[propName] = jsonObj[propName]
- }
- return this
- }
-}
diff --git a/src/models/transaction.model.ts b/src/models/transaction.model.ts
deleted file mode 100644
index c86eb391..00000000
--- a/src/models/transaction.model.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { TransactionParameter } from './transactionparameters'
-import { IAirGapTransaction } from 'airgap-coin-lib'
-import BigNumber from 'bignumber.js'
-
-export class Transaction implements IAirGapTransaction {
- amount: BigNumber
- blockHeight: string
- data: string
- fee: BigNumber
- from: string[]
- hash: string
- isInbound: boolean
- meta: {}
- protocolIdentifier: string
- to: string[]
- timestamp: number
-
- information: TransactionParameter[] = []
-
- payload: string
- publicKey: string
-}
diff --git a/src/models/transactionparameters.ts b/src/models/transactionparameters.ts
deleted file mode 100644
index 6b5c8c64..00000000
--- a/src/models/transactionparameters.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export class TransactionParameter {
- label: string
- value: string
- type: string
-}
diff --git a/src/pages/about/about.html b/src/pages/about/about.html
deleted file mode 100644
index 34c92046..00000000
--- a/src/pages/about/about.html
+++ /dev/null
@@ -1,10 +0,0 @@
-
- {{ 'about.label' | translate }}
-
-
-
- {{ appName }}
- {{ packageName }}
- {{ versionCode }}
- {{ versionNumber }}
-
diff --git a/src/pages/about/about.module.ts b/src/pages/about/about.module.ts
deleted file mode 100644
index 90439958..00000000
--- a/src/pages/about/about.module.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { TranslateModule } from '@ngx-translate/core'
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { AboutPage } from './about'
-
-@NgModule({
- declarations: [AboutPage],
- imports: [IonicPageModule.forChild(AboutPage), TranslateModule]
-})
-export class AboutPageModule {}
diff --git a/src/pages/about/about.scss b/src/pages/about/about.scss
deleted file mode 100644
index 639956d6..00000000
--- a/src/pages/about/about.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-page-about {
-
-}
diff --git a/src/pages/about/about.ts b/src/pages/about/about.ts
deleted file mode 100644
index 9a01834c..00000000
--- a/src/pages/about/about.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Component } from '@angular/core'
-import { AppVersion } from '@ionic-native/app-version'
-import { NavController, NavParams } from 'ionic-angular'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@Component({
- selector: 'page-about',
- templateUrl: 'about.html'
-})
-export class AboutPage {
- public appName = ''
- public packageName = ''
- public versionNumber = ''
- public versionCode = ''
-
- constructor(public navCtrl: NavController, public navParams: NavParams, private app: AppVersion) {
- this.updateVersions().catch(handleErrorLocal(ErrorCategory.CORDOVA_PLUGIN))
- }
-
- async updateVersions() {
- this.appName = await this.app.getAppName()
- this.packageName = await this.app.getPackageName()
- this.versionNumber = await this.app.getVersionNumber()
- this.versionCode = String(await this.app.getVersionCode())
- }
-}
diff --git a/src/pages/distribution-onboarding/distribution-onboarding.html b/src/pages/distribution-onboarding/distribution-onboarding.html
deleted file mode 100644
index d164077e..00000000
--- a/src/pages/distribution-onboarding/distribution-onboarding.html
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
- {{ 'distribution-onboarding.ask-permission.text' | translate }}
-
-
-
-
-
- {{ 'next' | translate }}
-
-
-
-
-
-
-
-
- {{ 'distribution-onboarding.no-vm.text' | translate }}
-
-
-
-
-
-
- {{ 'distribution-onboarding.understood_label' | translate }}
-
-
-
-
-
-
-
diff --git a/src/pages/distribution-onboarding/distribution-onboarding.module.ts b/src/pages/distribution-onboarding/distribution-onboarding.module.ts
deleted file mode 100644
index 59f7c78e..00000000
--- a/src/pages/distribution-onboarding/distribution-onboarding.module.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { DistributionOnboardingPage } from './distribution-onboarding'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [DistributionOnboardingPage],
- imports: [IonicPageModule.forChild(DistributionOnboardingPage), TranslateModule]
-})
-export class DistributionOnboardingPageModule {}
diff --git a/src/pages/distribution-onboarding/distribution-onboarding.scss b/src/pages/distribution-onboarding/distribution-onboarding.scss
deleted file mode 100644
index c38e552b..00000000
--- a/src/pages/distribution-onboarding/distribution-onboarding.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-page-distribution-onboarding {
-}
diff --git a/src/pages/distribution-onboarding/distribution-onboarding.ts b/src/pages/distribution-onboarding/distribution-onboarding.ts
deleted file mode 100644
index f4937aee..00000000
--- a/src/pages/distribution-onboarding/distribution-onboarding.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { Component, ViewChild } from '@angular/core'
-import { IonicPage, ViewController, Slides } from 'ionic-angular'
-import { Storage } from '@ionic/storage'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-distribution-onboarding',
- templateUrl: 'distribution-onboarding.html'
-})
-export class DistributionOnboardingPage {
- @ViewChild(Slides) slides: Slides
-
- constructor(private viewController: ViewController, private storage: Storage) {}
-
- async next() {
- this.slides.slideNext()
- }
-
- async accept() {
- await this.storage.set('DISCLAIMER_ELECTRON', true)
- this.viewController.dismiss().catch(handleErrorLocal(ErrorCategory.IONIC_MODAL))
- }
-}
diff --git a/src/pages/interaction-selection-settings/interaction-selection-settings.html b/src/pages/interaction-selection-settings/interaction-selection-settings.html
deleted file mode 100644
index 92b0ab6a..00000000
--- a/src/pages/interaction-selection-settings/interaction-selection-settings.html
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-
- {{ 'interaction-selection-settings.title' | translate }}
-
-
-
-
-
-
-
-
- {{ 'interaction-selection-settings.text' | translate }}
-
-
-
- {{ 'interaction-selection-settings.selector.always' | translate }}
-
-
-
- {{ 'interaction-selection-settings.selector.same-device' | translate }}
-
-
-
- {{ 'interaction-selection-settings.selector.offline-device' | translate }}
-
-
-
-
- {{ 'interaction-selection-settings.description' | translate }}
-
-
-
-
-
-
- {{ 'interaction-selection-settings.continue_label' | translate }}
-
-
-
-
- {{ 'interaction-selection-settings.continue_label' | translate }}
-
-
-
-
diff --git a/src/pages/interaction-selection-settings/interaction-selection-settings.module.ts b/src/pages/interaction-selection-settings/interaction-selection-settings.module.ts
deleted file mode 100644
index 0c7ed4f2..00000000
--- a/src/pages/interaction-selection-settings/interaction-selection-settings.module.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { InteractionSelectionSettingsPage } from './interaction-selection-settings'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [InteractionSelectionSettingsPage],
- imports: [IonicPageModule.forChild(InteractionSelectionSettingsPage), TranslateModule],
- entryComponents: [InteractionSelectionSettingsPage]
-})
-export class InteractionSelectionSettingsPageModule {}
diff --git a/src/pages/interaction-selection-settings/interaction-selection-settings.scss b/src/pages/interaction-selection-settings/interaction-selection-settings.scss
deleted file mode 100644
index 4bde7d84..00000000
--- a/src/pages/interaction-selection-settings/interaction-selection-settings.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-page-interaction-selection-settings {
-}
diff --git a/src/pages/interaction-selection-settings/interaction-selection-settings.ts b/src/pages/interaction-selection-settings/interaction-selection-settings.ts
deleted file mode 100644
index 83e85735..00000000
--- a/src/pages/interaction-selection-settings/interaction-selection-settings.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams, Platform } from 'ionic-angular'
-import { WalletSharePage } from '../wallet-share/wallet-share'
-import { TransactionSignedPage } from '../transaction-signed/transaction-signed'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { Secret } from '../../models/secret'
-import { InteractionSetting } from '../../providers/interaction/interaction'
-import {
- IInteractionOptions,
- InteractionOperationType,
- InteractionCommunicationType,
- InteractionProvider
-} from '../../providers/interaction/interaction'
-
-declare let window: any
-
-@IonicPage()
-@Component({
- selector: 'page-interaction-selection-settings',
- templateUrl: 'interaction-selection-settings.html'
-})
-export class InteractionSelectionSettingsPage {
- public interactionSetting = InteractionSetting
- public selectedSetting: InteractionSetting
- public isEdit = false
- private secret: Secret
-
- private interactionOptions: IInteractionOptions
-
- constructor(
- public navCtrl: NavController,
- public navParams: NavParams,
- private secretProvider: SecretsProvider,
- private platform: Platform,
- private interactionProvider: InteractionProvider
- ) {}
-
- async ionViewWillLoad() {
- this.isEdit = await this.navParams.get('isEdit')
- this.interactionOptions = await this.navParams.get('interactionOptions')
-
- if (this.isEdit) {
- this.secret = this.navParams.get('secret')
- this.selectedSetting = this.secret.interactionSetting
- } else {
- this.secret = this.secretProvider.getActiveSecret()
- this.selectedSetting =
- this.interactionOptions.communicationType === InteractionCommunicationType.QR
- ? InteractionSetting.OFFLINE_DEVICE
- : this.interactionOptions.communicationType === InteractionCommunicationType.DEEPLINK
- ? InteractionSetting.SAME_DEVICE
- : undefined
- this.secret.interactionSetting = this.selectedSetting || InteractionSetting.UNDETERMINED // Default to store is undetermined
- this.selectedSetting = this.selectedSetting || InteractionSetting.ALWAYS_ASK // Default to display is always ask
- this.secretProvider.addOrUpdateSecret(this.secret)
- }
- }
-
- onSelectedSettingChange(selectedSetting) {
- this.secret.interactionSetting = selectedSetting
- this.secretProvider.addOrUpdateSecret(this.secret)
- }
-
- goToNextPage() {
- this.interactionProvider.startInteraction(this.navCtrl, this.interactionOptions, this.secret)
- }
-
- popToRoot() {
- this.navCtrl.popToRoot().catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-}
diff --git a/src/pages/interaction-selection/interaction-selection.html b/src/pages/interaction-selection/interaction-selection.html
deleted file mode 100644
index feb226f9..00000000
--- a/src/pages/interaction-selection/interaction-selection.html
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- {{ 'interaction-selection.title' | translate }}
-
-
-
-
-
-
-
-
-
-
-
- {{ 'interaction-selection.same-device_label' | translate }}
-
- {{ 'interaction-selection.same-device_info' | translate }}
-
-
-
-
-
-
- {{ 'interaction-selection.offline-device_label' | translate }}
-
- {{ 'interaction-selection.offline-device_info' | translate }}
-
-
diff --git a/src/pages/interaction-selection/interaction-selection.module.ts b/src/pages/interaction-selection/interaction-selection.module.ts
deleted file mode 100644
index c94348d6..00000000
--- a/src/pages/interaction-selection/interaction-selection.module.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { InteractionSelectionPage } from './interaction-selection'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [InteractionSelectionPage],
- imports: [IonicPageModule.forChild(InteractionSelectionPage), TranslateModule],
- entryComponents: [InteractionSelectionPage]
-})
-export class InteractionSelectionPageModule {}
diff --git a/src/pages/interaction-selection/interaction-selection.scss b/src/pages/interaction-selection/interaction-selection.scss
deleted file mode 100644
index a06c5335..00000000
--- a/src/pages/interaction-selection/interaction-selection.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-page-interaction-selection {
- ion-row img {
- height: 20vh;
- }
-}
diff --git a/src/pages/interaction-selection/interaction-selection.ts b/src/pages/interaction-selection/interaction-selection.ts
deleted file mode 100644
index b4a030b7..00000000
--- a/src/pages/interaction-selection/interaction-selection.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams } from 'ionic-angular'
-import { AirGapWallet, DeserializedSyncProtocol, EncodedType, SyncProtocolUtils, SyncWalletRequest } from 'airgap-coin-lib'
-import { InteractionSelectionSettingsPage } from '../interaction-selection-settings/interaction-selection-settings'
-import { ErrorCategory, handleErrorLocal } from '../../providers/error-handler/error-handler'
-import { WalletSharePage } from '../wallet-share/wallet-share'
-import { ShareUrlProvider } from '../../providers/share-url/share-url'
-import {
- InteractionSetting,
- InteractionProvider,
- IInteractionOptions,
- InteractionCommunicationType
-} from '../../providers/interaction/interaction'
-import { Transaction } from '../../models/transaction.model'
-import { Secret } from '../../models/secret'
-
-@IonicPage()
-@Component({
- selector: 'page-interaction-selection',
- templateUrl: 'interaction-selection.html'
-})
-export class InteractionSelectionPage {
- private interactionOptions: IInteractionOptions
-
- constructor(
- public navCtrl: NavController,
- public navParams: NavParams,
- private secretsProvider: SecretsProvider,
- private interactionProvider: InteractionProvider
- ) {
- this.interactionOptions = this.navParams.get('interactionOptions')
- }
-
- async selectOfflineDevice() {
- this.interactionOptions.communicationType = InteractionCommunicationType.QR
- this.goToNextPage()
- }
-
- async selectSameDevice() {
- this.interactionOptions.communicationType = InteractionCommunicationType.DEEPLINK
- this.goToNextPage()
- }
-
- private goToNextPage() {
- const secret = this.secretsProvider.getActiveSecret()
- if (secret.interactionSetting === InteractionSetting.UNDETERMINED) {
- this.goToInteractionSelectionSettingsPage(this.interactionOptions)
- } else {
- this.interactionProvider.startInteraction(this.navCtrl, this.interactionOptions, secret)
- }
- }
-
- private goToInteractionSelectionSettingsPage(interactionOptions: IInteractionOptions) {
- this.navCtrl
- .push(InteractionSelectionSettingsPage, {
- interactionOptions: interactionOptions
- })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-}
diff --git a/src/pages/introduction/introduction.html b/src/pages/introduction/introduction.html
deleted file mode 100644
index 9c7f8516..00000000
--- a/src/pages/introduction/introduction.html
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
- {{ 'introduction.title' | translate }}
-
-
-
-
-
- {{ 'introduction.highest.label' | translate }}
- {{ 'introduction.medium.label' | translate }}
-
-
-
-
-
-
-
-
- {{ 'introduction.vault.heading' | translate }}
-
-
-
-
-
-
-
- {{ 'introduction.communication.highest_text' | translate }}
-
-
-
-
-
-
- {{ 'introduction.wallet.heading' | translate }}
- {{ 'introduction.wallet.text' | translate }}
-
-
-
-
-
-
-
-
-
-
- {{ 'introduction.vault.heading' | translate }}
-
-
-
-
-
-
-
- {{ 'introduction.communication.medium_text' | translate }}
-
-
-
-
-
-
- {{ 'introduction.wallet.heading' | translate }}
- {{ 'introduction.wallet.text' | translate }}
-
-
-
-
-
-
-
-
- {{ 'introduction.wallet_install_label' | translate }}
- {{ 'introduction.continue_label' | translate }}
-
-
-
diff --git a/src/pages/introduction/introduction.module.ts b/src/pages/introduction/introduction.module.ts
deleted file mode 100644
index cce36158..00000000
--- a/src/pages/introduction/introduction.module.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule, Platform } from 'ionic-angular'
-import { IntroductionPage } from './introduction'
-import { IonicStorageModule } from '@ionic/storage'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [IntroductionPage],
- imports: [IonicStorageModule, IonicPageModule.forChild(IntroductionPage), TranslateModule],
- providers: [Platform],
- entryComponents: [IntroductionPage]
-})
-export class IntroductionPageModule {}
diff --git a/src/pages/introduction/introduction.scss b/src/pages/introduction/introduction.scss
deleted file mode 100644
index e85bde20..00000000
--- a/src/pages/introduction/introduction.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-page-introduction {
- .connector--img {
- height: 40px;
- width: 40px;
- }
-}
diff --git a/src/pages/introduction/introduction.ts b/src/pages/introduction/introduction.ts
deleted file mode 100644
index dc479033..00000000
--- a/src/pages/introduction/introduction.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-import { Component } from '@angular/core'
-import { Platform, ViewController } from 'ionic-angular'
-import { Storage } from '@ionic/storage'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-declare var cordova: any
-
-@Component({
- selector: 'page-introduction',
- templateUrl: 'introduction.html'
-})
-export class IntroductionPage {
- public security: string = 'highest'
-
- constructor(private viewController: ViewController, private platform: Platform, private storage: Storage) {}
-
- accept() {
- this.storage
- .set('INTRODUCTION_INITIAL', true)
- .then(() => {
- this.viewController.dismiss().catch(handleErrorLocal(ErrorCategory.IONIC_MODAL))
- })
- .catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- }
-
- public downloadClient() {
- this.openUrl('https://github.com/airgap-it')
- }
-
- public downloadApp() {
- // This should open App Store and not InAppBrowser
- if (this.platform.is('android')) {
- window.open('https://play.google.com/store/apps/details?id=it.airgap.wallet')
- } else if (this.platform.is('ios')) {
- window.open('itms-apps://itunes.apple.com/app/id1420996542') // AirGap Wallet
- }
- }
-
- private openUrl(url: string) {
- if (this.platform.is('ios') || this.platform.is('android')) {
- cordova.InAppBrowser.open(url, '_system', 'location=true')
- } else {
- window.open(url, '_blank')
- }
- }
-}
diff --git a/src/pages/local-authentication-onboarding/local-authentication-onboarding.html b/src/pages/local-authentication-onboarding/local-authentication-onboarding.html
deleted file mode 100644
index 8f8fb262..00000000
--- a/src/pages/local-authentication-onboarding/local-authentication-onboarding.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
- {{ 'local-authentication-onboarding.text' | translate }}
-
-
-
-
-
-
- {{ 'local-authentication-onboarding.authenticate_label' | translate }}
-
-
-
-
diff --git a/src/pages/local-authentication-onboarding/local-authentication-onboarding.module.ts b/src/pages/local-authentication-onboarding/local-authentication-onboarding.module.ts
deleted file mode 100644
index 79b4e21d..00000000
--- a/src/pages/local-authentication-onboarding/local-authentication-onboarding.module.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { LocalAuthenticationOnboardingPage } from './local-authentication-onboarding'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [LocalAuthenticationOnboardingPage],
- imports: [IonicPageModule.forChild(LocalAuthenticationOnboardingPage), TranslateModule]
-})
-export class LocalAuthenticationOnboardingPageModule {}
diff --git a/src/pages/local-authentication-onboarding/local-authentication-onboarding.scss b/src/pages/local-authentication-onboarding/local-authentication-onboarding.scss
deleted file mode 100644
index ebcdd659..00000000
--- a/src/pages/local-authentication-onboarding/local-authentication-onboarding.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-page-local-authentication-onboarding {
- img {
- height: 40vh;
- }
-}
diff --git a/src/pages/local-authentication-onboarding/local-authentication-onboarding.ts b/src/pages/local-authentication-onboarding/local-authentication-onboarding.ts
deleted file mode 100644
index 4cfecca4..00000000
--- a/src/pages/local-authentication-onboarding/local-authentication-onboarding.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams } from 'ionic-angular'
-import { Storage } from '@ionic/storage'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-
-@IonicPage()
-@Component({
- selector: 'page-local-authentication-onboarding',
- templateUrl: 'local-authentication-onboarding.html'
-})
-export class LocalAuthenticationOnboardingPage {
- private protocolIdentifier: string
- private isHDWallet: boolean
- private customDerivationPath: string
-
- constructor(
- public navCtrl: NavController,
- public navParams: NavParams,
- private storage: Storage,
- private secretsProvider: SecretsProvider
- ) {
- this.protocolIdentifier = this.navParams.get('protocolIdentifier')
- this.isHDWallet = this.navParams.get('isHDWallet')
- this.customDerivationPath = this.navParams.get('customDerivationPath')
- }
-
- async authenticate() {
- await this.storage.set('DISCLAIMER_HIDE_LOCAL_AUTH_ONBOARDING', true)
- try {
- await this.secretsProvider.addWallet(this.protocolIdentifier, this.isHDWallet, this.customDerivationPath)
- } catch (e) {
- return await this.navCtrl.pop()
- }
- await this.navCtrl.popToRoot()
- }
-}
diff --git a/src/pages/pages.module.ts b/src/pages/pages.module.ts
deleted file mode 100644
index 306c0a6d..00000000
--- a/src/pages/pages.module.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicModule } from 'ionic-angular'
-import { BrowserModule } from '@angular/platform-browser'
-import { MaterialIconsModule } from 'ionic2-material-icons'
-import { ComponentsModule } from '../components/components.module'
-import { AboutPageModule } from './about/about.module'
-import { SecretGeneratePageModule } from './secret-generate/secret-generate.module'
-import { SecretValidatePageModule } from './secret-validate/secret-validate.module'
-import { SecretCreatePageModule } from './secret-create/secret-create.module'
-import { SecretEditPageModule } from './secret-edit/secret-edit.module'
-import { SecretRulesPageModule } from './secret-rules/secret-rules.module'
-import { SecretShowPageModule } from './secret-show/secret-show.module'
-import { WalletAddressPageModule } from './wallet-address/wallet-address.module'
-import { TabsPageModule } from './tabs/tabs.module'
-import { TabSettingsPageModule } from './tab-settings/tab-settings.module'
-import { TransactionDetailPageModule } from './transaction-detail/transaction-detail.module'
-import { TransactionSignedPageModule } from './transaction-signed/transaction-signed.module'
-import { TabWalletsPageModule } from './tab-wallets/tab-wallets.module'
-import { SecretImportPageModule } from './secret-import/secret-import.module'
-import { WarningsModalPageModule } from './warnings-modal/warnings-modal.module'
-import { SocialRecoverySetupPageModule } from './social-recovery-setup/social-recovery-setup.module'
-import { TabScanPageModule } from './tab-scan/tab-scan.module'
-import { WalletSelectCoinsPageModule } from './wallet-select-coins/wallet-select-coins.module'
-import { SocialRecoveryShowSharePageModule } from './social-recovery-show-share/social-recovery-show-share.module'
-import { SocialRecoveryValidateSharePageModule } from './social-recovery-validate-share/social-recovery-validate-share.module'
-import { WalletSharePageModule } from './wallet-share/wallet-share.module'
-import { SocialRecoveryImportPageModule } from './social-recovery-import/social-recovery-import.module'
-import { IntroductionPageModule } from '../pages/introduction/introduction.module'
-import { LocalAuthenticationOnboardingPageModule } from './local-authentication-onboarding/local-authentication-onboarding.module'
-import { SecretGenerateOnboardingPageModule } from './secret-generate-onboarding/secret-generate-onboarding.module'
-import { DistributionOnboardingPageModule } from './distribution-onboarding/distribution-onboarding.module'
-import { InteractionSelectionPageModule } from './interaction-selection/interaction-selection.module'
-import { InteractionSelectionSettingsPageModule } from './interaction-selection-settings/interaction-selection-settings.module'
-
-@NgModule({
- imports: [
- IonicModule,
- BrowserModule,
- MaterialIconsModule,
- ComponentsModule,
- AboutPageModule,
- SecretGeneratePageModule,
- SecretGenerateOnboardingPageModule,
- SecretValidatePageModule,
- SecretCreatePageModule,
- SecretEditPageModule,
- SecretRulesPageModule,
- SecretShowPageModule,
- WalletAddressPageModule,
- WalletSharePageModule,
- TabsPageModule,
- TabSettingsPageModule,
- TabScanPageModule,
- TransactionDetailPageModule,
- TransactionSignedPageModule,
- TabWalletsPageModule,
- SecretImportPageModule,
- WarningsModalPageModule,
- SocialRecoverySetupPageModule,
- SocialRecoveryShowSharePageModule,
- SocialRecoveryValidateSharePageModule,
- SocialRecoveryImportPageModule,
- WalletSelectCoinsPageModule,
- LocalAuthenticationOnboardingPageModule,
- DistributionOnboardingPageModule,
- IntroductionPageModule,
- InteractionSelectionPageModule,
- InteractionSelectionSettingsPageModule
- ],
- exports: []
-})
-export class PagesModule {}
diff --git a/src/pages/secret-create/secret-create.html b/src/pages/secret-create/secret-create.html
deleted file mode 100644
index fddf4f52..00000000
--- a/src/pages/secret-create/secret-create.html
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- {{ 'secret-create.heading' | translate }}
-
- {{ 'secret-create.text' | translate }}
-
-
-
- {{ 'secret-create.generate.label' | translate }}
-
-
- {{ 'secret-create.generate.text' | translate }}
-
-
-
- {{ 'secret-create.import.label' | translate }}
-
-
- {{ 'secret-create.import.text' | translate }}
-
-
-
- {{ 'secret-create.social-recovery.label' | translate }}
-
-
- {{ 'secret-create.social-recovery.text' | translate }}
-
diff --git a/src/pages/secret-create/secret-create.module.ts b/src/pages/secret-create/secret-create.module.ts
deleted file mode 100644
index 122009f3..00000000
--- a/src/pages/secret-create/secret-create.module.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { SecretCreatePage } from './secret-create'
-import { MaterialIconsModule } from 'ionic2-material-icons'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [SecretCreatePage],
- imports: [MaterialIconsModule, IonicPageModule.forChild(SecretCreatePage), TranslateModule],
- entryComponents: [SecretCreatePage]
-})
-export class SecretCreatePageModule {}
diff --git a/src/pages/secret-create/secret-create.scss b/src/pages/secret-create/secret-create.scss
deleted file mode 100644
index 8e3a18bd..00000000
--- a/src/pages/secret-create/secret-create.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-page-secret-create {
-}
diff --git a/src/pages/secret-create/secret-create.ts b/src/pages/secret-create/secret-create.ts
deleted file mode 100644
index eb285e36..00000000
--- a/src/pages/secret-create/secret-create.ts
+++ /dev/null
@@ -1,39 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController } from 'ionic-angular'
-import { SecretGeneratePage } from '../secret-generate/secret-generate'
-import { SecretImportPage } from '../secret-import/secret-import'
-import { SocialRecoveryImportPage } from '../social-recovery-import/social-recovery-import'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { SecretGenerateOnboardingPage } from '../secret-generate-onboarding/secret-generate-onboarding'
-import { Storage } from '@ionic/storage'
-import { ErrorCategory, handleErrorLocal } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-secret-create',
- templateUrl: 'secret-create.html'
-})
-export class SecretCreatePage {
- constructor(private navController: NavController, private secretsProvider: SecretsProvider, private storage: Storage) {}
-
- public isRoot(): boolean {
- return this.secretsProvider.currentSecretsList.getValue().length === 0
- }
-
- public async goToGenerate() {
- const hasShownDisclaimer = await this.storage.get('DISCLAIMER_GENERATE_INITIAL')
- if (hasShownDisclaimer) {
- this.navController.push(SecretGeneratePage).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- } else {
- this.navController.push(SecretGenerateOnboardingPage).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
- }
-
- public goToImport() {
- this.navController.push(SecretImportPage).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- public goToSocialRecoveryImport() {
- this.navController.push(SocialRecoveryImportPage).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-}
diff --git a/src/pages/secret-edit/secret-edit-popover/secret-edit-popover.component.ts b/src/pages/secret-edit/secret-edit-popover/secret-edit-popover.component.ts
deleted file mode 100644
index 0ff81154..00000000
--- a/src/pages/secret-edit/secret-edit-popover/secret-edit-popover.component.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component } from '@angular/core'
-import { ViewController, NavParams, AlertController } from 'ionic-angular'
-import { Secret } from '../../../models/secret'
-import { SecretsProvider } from '../../../providers/secrets/secrets.provider'
-import { TranslateService } from '@ngx-translate/core'
-import { handleErrorLocal, ErrorCategory } from '../../../providers/error-handler/error-handler'
-
-@Component({
- template: `
-
- Settings
-
-
- Delete
-
-
- `
-})
-export class SecretEditPopoverComponent {
- private secret: Secret
- private onDelete: Function
-
- constructor(
- private alertCtrl: AlertController,
- private navParams: NavParams,
- private secretsProvider: SecretsProvider,
- private viewCtrl: ViewController,
- private translateService: TranslateService
- ) {
- this.secret = this.navParams.get('secret')
- this.onDelete = this.navParams.get('onDelete')
- }
-
- delete() {
- this.translateService
- .get([
- 'secret-edit-delete-popover.title',
- 'secret-edit-delete-popover.text',
- 'secret-edit-delete-popover.cancel_label',
- 'secret-edit-delete-popover.delete_label'
- ])
- .subscribe(values => {
- let title = values['secret-edit-delete-popover.title']
- let message = values['secret-edit-delete-popover.text']
- let cancelButton = values['secret-edit-delete-popover.cancel_label']
- let deleteButton = values['secret-edit-delete-popover.delete_label']
- let alert = this.alertCtrl.create({
- title: title,
- message: message,
- buttons: [
- {
- text: cancelButton,
- role: 'cancel',
- handler: () => {
- this.viewCtrl.dismiss().catch(handleErrorLocal(ErrorCategory.IONIC_MODAL))
- }
- },
- {
- text: deleteButton,
- handler: () => {
- this.secretsProvider.remove(this.secret).catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- this.viewCtrl.dismiss().catch(handleErrorLocal(ErrorCategory.IONIC_MODAL))
-
- if (this.onDelete) {
- this.onDelete()
- }
- }
- }
- ]
- })
- alert.present().catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- })
- }
-}
diff --git a/src/pages/secret-edit/secret-edit.html b/src/pages/secret-edit/secret-edit.html
deleted file mode 100644
index 8604b0d3..00000000
--- a/src/pages/secret-edit/secret-edit.html
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
- {{ isGenerating ? 'Save' : 'Edit' }} {{ 'secret-edit.title' | translate }}
-
-
-
-
-
-
-
-
- {{ 'secret-edit.text' | translate }}
-
-
- {{ 'secret-edit.secret_input_label' | translate }}
-
-
-
- {{ 'secret-edit.security-level.heading' | translate }}
-
- {{ 'secret-edit.security-level.text' | translate }}
-
-
-
-
-
-
-
-
-
- {{ 'secret-edit.passcode.label' | translate }}
- {{ 'secret-edit.passcode.text' | translate }}
-
-
-
-
-
- {{ 'secret-edit.secret-recovery.heading' | translate }}
-
- {{ 'secret-edit.secret-recovery.text' | translate }}
-
-
-
-
-
-
-
- {{ 'secret-edit.social-recovery.label' | translate }}
-
-
-
- {{ 'secret-edit.interaction.label' | translate }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ 'secret-edit.confirm_label' | translate }}
-
-
-
-
diff --git a/src/pages/secret-edit/secret-edit.module.ts b/src/pages/secret-edit/secret-edit.module.ts
deleted file mode 100644
index 0e03437c..00000000
--- a/src/pages/secret-edit/secret-edit.module.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { SecretEditPage } from './secret-edit'
-import { ComponentsModule } from '../../components/components.module'
-import { MaterialIconsModule } from 'ionic2-material-icons'
-import { SecretEditPopoverComponent } from './secret-edit-popover/secret-edit-popover.component'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [SecretEditPage, SecretEditPopoverComponent],
- imports: [ComponentsModule, MaterialIconsModule, IonicPageModule.forChild(SecretEditPage), TranslateModule],
- entryComponents: [SecretEditPage, SecretEditPopoverComponent]
-})
-export class SecretEditPageModule {}
diff --git a/src/pages/secret-edit/secret-edit.scss b/src/pages/secret-edit/secret-edit.scss
deleted file mode 100644
index b7ee3286..00000000
--- a/src/pages/secret-edit/secret-edit.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-page-secret-create {
- ion-icon {
- color: white;
- }
-}
diff --git a/src/pages/secret-edit/secret-edit.ts b/src/pages/secret-edit/secret-edit.ts
deleted file mode 100644
index cc18e26c..00000000
--- a/src/pages/secret-edit/secret-edit.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams, PopoverController } from 'ionic-angular'
-import { Secret } from '../../models/secret'
-import { InteractionSetting } from '../../providers/interaction/interaction'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { SocialRecoverySetupPage } from '../social-recovery-setup/social-recovery-setup'
-import { SecretEditPopoverComponent } from './secret-edit-popover/secret-edit-popover.component'
-import { WalletSelectCoinsPage } from '../wallet-select-coins/wallet-select-coins'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-import { InteractionSelectionSettingsPage } from '../interaction-selection-settings/interaction-selection-settings'
-
-@IonicPage()
-@Component({
- selector: 'page-secret-edit',
- templateUrl: 'secret-edit.html'
-})
-export class SecretEditPage {
- isGenerating: boolean = false
- public interactionSetting: boolean = false
-
- private secret: Secret
-
- constructor(
- public navController: NavController,
- public popoverCtrl: PopoverController,
- public navParams: NavParams,
- private secretsProvider: SecretsProvider
- ) {
- this.secret = this.navParams.get('secret')
- this.isGenerating = this.navParams.get('isGenerating')
-
- this.interactionSetting = this.secret.interactionSetting !== InteractionSetting.UNDETERMINED
- }
-
- confirm() {
- this.secretsProvider
- .addOrUpdateSecret(this.secret)
- .then(async () => {
- await this.dismiss()
- if (this.isGenerating) {
- this.navController.push(WalletSelectCoinsPage).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
- })
- .catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- }
-
- dismiss() {
- return this.navController.popToRoot()
- }
-
- goToSocialRecoverySetup() {
- this.navController.push(SocialRecoverySetupPage, { secret: this.secret }).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- goToWalletInteraction() {
- this.navController
- .push(InteractionSelectionSettingsPage, { secret: this.secret, isEdit: true })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- presentEditPopover(event) {
- let popover = this.popoverCtrl.create(SecretEditPopoverComponent, {
- secret: this.secret,
- onDelete: () => {
- this.dismiss().catch(handleErrorLocal(ErrorCategory.IONIC_MODAL))
- }
- })
- popover
- .present({
- ev: event
- })
- .catch(handleErrorLocal(ErrorCategory.IONIC_MODAL))
- }
-}
diff --git a/src/pages/secret-generate-onboarding/secret-generate-onboarding.html b/src/pages/secret-generate-onboarding/secret-generate-onboarding.html
deleted file mode 100644
index c846db0a..00000000
--- a/src/pages/secret-generate-onboarding/secret-generate-onboarding.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
- {{ 'secret-generate-onboarding.text' | translate }}
-
-
-
-
-
-
- {{ 'secret-generate-onboarding.grant-permission_label' | translate }}
-
-
-
-
diff --git a/src/pages/secret-generate-onboarding/secret-generate-onboarding.module.ts b/src/pages/secret-generate-onboarding/secret-generate-onboarding.module.ts
deleted file mode 100644
index 4dfba65c..00000000
--- a/src/pages/secret-generate-onboarding/secret-generate-onboarding.module.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { SecretGenerateOnboardingPage } from './secret-generate-onboarding'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [SecretGenerateOnboardingPage],
- imports: [IonicPageModule.forChild(SecretGenerateOnboardingPage), TranslateModule]
-})
-export class SecretGenerateOnboardingPageModule {}
diff --git a/src/pages/secret-generate-onboarding/secret-generate-onboarding.scss b/src/pages/secret-generate-onboarding/secret-generate-onboarding.scss
deleted file mode 100644
index 4b878093..00000000
--- a/src/pages/secret-generate-onboarding/secret-generate-onboarding.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-page-secret-generate-onboarding {
- img {
- height: 45vh;
- }
-}
diff --git a/src/pages/secret-generate-onboarding/secret-generate-onboarding.ts b/src/pages/secret-generate-onboarding/secret-generate-onboarding.ts
deleted file mode 100644
index 195b1bac..00000000
--- a/src/pages/secret-generate-onboarding/secret-generate-onboarding.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController } from 'ionic-angular'
-import { Storage } from '@ionic/storage'
-import { SecretGeneratePage } from '../secret-generate/secret-generate'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-secret-generate-onboarding',
- templateUrl: 'secret-generate-onboarding.html'
-})
-export class SecretGenerateOnboardingPage {
- constructor(public navCtrl: NavController, private storage: Storage) {}
-
- async continue() {
- await this.storage.set('DISCLAIMER_GENERATE_INITIAL', true)
- this.navCtrl.push(SecretGeneratePage).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-}
diff --git a/src/pages/secret-generate/secret-generate.html b/src/pages/secret-generate/secret-generate.html
deleted file mode 100644
index 798ff48d..00000000
--- a/src/pages/secret-generate/secret-generate.html
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
- {{ 'secret-generate.heading' | translate }}
-
- {{ 'secret-generate.text' | translate }}
-
-
-
-
-
-
- {{ 'secret-generate.description' | translate }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ 'secret-generate.continue_label' | translate }}
-
-
-
-
diff --git a/src/pages/secret-generate/secret-generate.module.ts b/src/pages/secret-generate/secret-generate.module.ts
deleted file mode 100644
index 3a9486f7..00000000
--- a/src/pages/secret-generate/secret-generate.module.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { NgModule, RendererFactory2 } from '@angular/core'
-import { IonicPageModule, Platform } from 'ionic-angular'
-import { SecretGeneratePage } from './secret-generate'
-import { GyroscopeNativeService } from '../../providers/gyroscope/gyroscope.native.service'
-import { CameraNativeService } from '../../providers/camera/camera.native.service'
-import { CameraFactory } from '../../providers/camera/camera.factory'
-import { AudioNativeService } from '../../providers/audio/audio.native.service'
-import { AudioServiceFactory } from '../../providers/audio/audio.factory'
-import { GyroscopeServiceFactory } from '../../providers/gyroscope/gyroscope.factory'
-import { Gyroscope } from '@ionic-native/gyroscope'
-import { SecureStorageService } from '../../providers/storage/secure-storage'
-import { SecureStorageFactory } from '../../providers/storage/secure-storage.factory'
-import { ComponentsModule } from '../../components/components.module'
-import { MaterialIconsModule } from 'ionic2-material-icons'
-import { ScannerProvider } from '../../providers/scanner/scanner'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [SecretGeneratePage],
- imports: [ComponentsModule, MaterialIconsModule, IonicPageModule.forChild(SecretGeneratePage), TranslateModule],
- providers: [
- Gyroscope,
- ScannerProvider,
- Platform,
- {
- provide: SecureStorageService,
- useFactory: SecureStorageFactory,
- deps: [Platform]
- },
- {
- provide: CameraNativeService,
- useFactory: CameraFactory,
- deps: [Platform, RendererFactory2]
- },
- {
- provide: AudioNativeService,
- useFactory: AudioServiceFactory,
- deps: [Platform]
- },
- {
- provide: GyroscopeNativeService,
- useFactory: GyroscopeServiceFactory,
- deps: [Platform, Gyroscope]
- }
- ],
- entryComponents: [SecretGeneratePage]
-})
-export class SecretGeneratePageModule {}
diff --git a/src/pages/secret-generate/secret-generate.scss b/src/pages/secret-generate/secret-generate.scss
deleted file mode 100644
index 31dba9c4..00000000
--- a/src/pages/secret-generate/secret-generate.scss
+++ /dev/null
@@ -1,38 +0,0 @@
-secret-generate {
- .bar-button,
- .content {
- color: white;
- }
-
- div#overlay {
- position: fixed;
- top: 50%;
- left: 50%;
- min-width: 100%;
- min-height: 100%;
- width: auto;
- height: auto;
- z-index: -99;
- -ms-transform: translateX(-50%) translateY(-50%);
- -moz-transform: translateX(-50%) translateY(-50%);
- -webkit-transform: translateX(-50%) translateY(-50%);
- transform: translateX(-50%) translateY(-50%);
- background: rgba(color($colors, secondary), 0.5);
- }
-
- video#bgvid {
- position: fixed;
- top: 50%;
- left: 50%;
- min-width: 100%;
- min-height: 100%;
- width: auto;
- height: auto;
- z-index: -100;
- -ms-transform: translateX(-50%) translateY(-50%);
- -moz-transform: translateX(-50%) translateY(-50%);
- -webkit-transform: translateX(-50%) translateY(-50%);
- transform: translateX(-50%) translateY(-50%);
- background-size: cover;
- }
-}
diff --git a/src/pages/secret-generate/secret-generate.ts b/src/pages/secret-generate/secret-generate.ts
deleted file mode 100644
index 8fdfad62..00000000
--- a/src/pages/secret-generate/secret-generate.ts
+++ /dev/null
@@ -1,143 +0,0 @@
-import { ChangeDetectorRef, Component, ViewChild, RendererFactory2, Renderer2, ElementRef } from '@angular/core'
-import { NavController, Platform } from 'ionic-angular'
-import { SecretRulesPage } from '../secret-rules/secret-rules'
-import { Secret } from '../../models/secret'
-import { CameraNativeService } from '../../providers/camera/camera.native.service'
-import { AudioNativeService } from '../../providers/audio/audio.native.service'
-import { EntropyService } from '../../providers/entropy/entropy.service'
-import { GyroscopeNativeService } from '../../providers/gyroscope/gyroscope.native.service'
-import { TouchEntropyComponent } from '../../components/touch-entropy/touch-entropy'
-import { PermissionsProvider, PermissionTypes } from '../../providers/permissions/permissions'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@Component({
- selector: 'secret-generate',
- templateUrl: 'secret-generate.html'
-})
-export class SecretGeneratePage {
- public isBrowser = false
-
- private renderer: Renderer2
-
- @ViewChild('videoElement')
- videoElement: ElementRef
-
- @ViewChild('touchEntropy')
- touchEntropy: TouchEntropyComponent
-
- public cameraEnabled = true
- public audioEnabled = true
- public gyroEnabled = true
- public touchEnabled = true
-
- private ENTROPY_STARTUP_TIME = 5
- private startupTimeWaited = false
-
- entropy = {
- isFull: false
- }
-
- constructor(
- private navController: NavController,
- public gyroService: GyroscopeNativeService,
- public entropyService: EntropyService,
- public cameraService: CameraNativeService,
- public audioService: AudioNativeService,
- private platform: Platform,
- private changeDetectorRef: ChangeDetectorRef,
- private permissionsProvider: PermissionsProvider,
- private rendererFactory: RendererFactory2
- ) {
- this.isBrowser = !this.platform.is('cordova')
- this.renderer = this.rendererFactory.createRenderer(null, null)
- setTimeout(() => {
- this.startupTimeWaited = true
- this.checkEntropySourceStatus()
- }, this.ENTROPY_STARTUP_TIME * 1000)
- }
-
- checkEntropySourceStatus() {
- if (this.startupTimeWaited) {
- this.audioEnabled = this.audioService.getCollectedEntropyPercentage() !== 0
- this.cameraEnabled = this.cameraService.getCollectedEntropyPercentage() !== 0
- this.gyroEnabled = this.gyroService.getCollectedEntropyPercentage() !== 0
- // Touch will not be disabled
- }
- }
-
- async ionViewWillEnter() {
- await this.platform.ready()
-
- if (this.isBrowser) {
- this.cameraService.setVideoElement(this.videoElement)
- }
- this.cameraService.viewWillEnter()
- this.injectCSS()
-
- await this.permissionsProvider.requestPermissions([PermissionTypes.CAMERA, PermissionTypes.MICROPHONE])
-
- this.initEntropy()
- }
-
- private injectCSS() {
- // inject css to html, body, .ion-app, ion-content
- this.renderer.addClass(document.body, 'hide-tabbar')
- }
-
- private uninjectCSS() {
- // removes injected css
- this.renderer.removeClass(document.body, 'hide-tabbar')
- }
-
- initEntropy() {
- this.entropyService.addEntropySource(this.cameraService)
- this.entropyService.addEntropySource(this.audioService)
- this.entropyService.addEntropySource(this.gyroService)
- this.entropyService.addEntropySource(this.touchEntropy)
- this.entropyService
- .startEntropyCollection()
- .then(() => {
- this.entropyService
- .getEntropyUpdateObservable()
- .auditTime(200)
- .subscribe(() => {
- this.checkEntropy()
- })
- })
- .catch(handleErrorLocal(ErrorCategory.ENTROPY_COLLECTION))
- }
-
- checkEntropy() {
- this.changeDetectorRef.detectChanges()
- this.checkEntropySourceStatus()
-
- const enabledSources = [this.audioEnabled, this.cameraEnabled, this.gyroEnabled, this.touchEnabled]
- const percentageNeeded = enabledSources.reduce((a, b) => a + (b ? 100 : 0), 0)
-
- if (
- Math.min(100, this.audioService.getCollectedEntropyPercentage()) +
- Math.min(100, this.cameraService.getCollectedEntropyPercentage()) +
- Math.min(100, this.gyroService.getCollectedEntropyPercentage()) +
- Math.min(100, this.touchEntropy.getCollectedEntropyPercentage()) >=
- percentageNeeded
- ) {
- this.entropy.isFull = true
- }
- }
-
- ionViewDidLeave() {
- this.cameraService.viewDidLeave()
- this.uninjectCSS()
- this.entropyService.stopEntropyCollection().catch(handleErrorLocal(ErrorCategory.ENTROPY_COLLECTION))
- }
-
- goToSecretRulesPage() {
- this.entropyService
- .getEntropyAsHex()
- .then(hashHex => {
- let secret = new Secret(hashHex)
- this.navController.push(SecretRulesPage, { secret: secret }).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- })
- .catch(handleErrorLocal(ErrorCategory.ENTROPY_COLLECTION))
- }
-}
diff --git a/src/pages/secret-import/secret-import.html b/src/pages/secret-import/secret-import.html
deleted file mode 100644
index 9eecddf9..00000000
--- a/src/pages/secret-import/secret-import.html
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
- {{ 'secret-import.title' | translate }}
-
-
-
-
-
- {{ 'secret-import.text' | translate }}
-
-
-
-
-
- {{ 'secret-import.warning' | translate }}
-
-
-
-
-
-
-
- {{ 'secret-import.import_label' | translate }}
-
-
-
-
diff --git a/src/pages/secret-import/secret-import.module.ts b/src/pages/secret-import/secret-import.module.ts
deleted file mode 100644
index d3fcb21e..00000000
--- a/src/pages/secret-import/secret-import.module.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { SecretImportPage } from './secret-import'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [SecretImportPage],
- imports: [IonicPageModule.forChild(SecretImportPage), TranslateModule],
- entryComponents: [SecretImportPage]
-})
-export class SecretImportPageModule {}
diff --git a/src/pages/secret-import/secret-import.scss b/src/pages/secret-import/secret-import.scss
deleted file mode 100644
index d04ea0ec..00000000
--- a/src/pages/secret-import/secret-import.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-page-secret-import {
- ion-icon {
- color: white;
- }
- ion-textarea {
- font-family: 'Courier New', Courier, 'Lucida Sans Typewriter', 'Lucida Typewriter', monospace;
- font-weight: 600;
- text-transform: lowercase;
- }
- textarea {
- height: 24vh;
- }
-}
diff --git a/src/pages/secret-import/secret-import.ts b/src/pages/secret-import/secret-import.ts
deleted file mode 100644
index a5cdcf62..00000000
--- a/src/pages/secret-import/secret-import.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController } from 'ionic-angular'
-import { BIP39Signer } from '../../models/BIP39Signer'
-import { SecretEditPage } from '../secret-edit/secret-edit'
-import { Secret } from '../../models/secret'
-import { FormGroup, Validators, FormBuilder } from '@angular/forms'
-import { MnemonicValidator } from '../../validators/mnemonic.validator'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-const signer = new BIP39Signer()
-
-@IonicPage()
-@Component({
- selector: 'page-secret-import',
- templateUrl: 'secret-import.html'
-})
-export class SecretImportPage {
- readonly mnemonic: string
- secretImportForm: FormGroup
-
- constructor(public navController: NavController, private formBuilder: FormBuilder) {
- const formGroup = {
- mnemonic: ['', Validators.compose([Validators.required, MnemonicValidator.isValid])]
- }
-
- this.secretImportForm = this.formBuilder.group(formGroup)
- }
-
- goToSecretCreatePage() {
- const secret = new Secret(signer.mnemonicToEntropy(BIP39Signer.prepareMnemonic(this.mnemonic)))
- this.navController.push(SecretEditPage, { secret: secret, isGenerating: true }).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-}
diff --git a/src/pages/secret-rules/secret-rules.html b/src/pages/secret-rules/secret-rules.html
deleted file mode 100644
index 1628640b..00000000
--- a/src/pages/secret-rules/secret-rules.html
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
- {{ 'secret-rules.title' | translate }}
-
-
-
-
-
- {{ 'secret-rules.heading' | translate }}
-
- {{ 'secret-rules.text' | translate }}
-
- {{ 'secret-rules.description' | translate }}
-
-
- {{ 'secret-rules.rules-list.item-1_text' | translate }}
-
- {{ 'secret-rules.rules-list.item-2_text' | translate }}
-
- {{ 'secret-rules.rules-list.item-3_text' | translate }}
-
- {{ 'secret-rules.rules-list.item-4_text' | translate }}
-
- {{ 'secret-rules.rules-list.item-5_text' | translate }}
-
- {{ 'secret-rules.rules-list.item-6_text' | translate }}
-
-
-
-
-
-
-
- {{ 'secret-rules.understood_label' | translate }}
-
-
-
-
diff --git a/src/pages/secret-rules/secret-rules.module.ts b/src/pages/secret-rules/secret-rules.module.ts
deleted file mode 100644
index eb73a90c..00000000
--- a/src/pages/secret-rules/secret-rules.module.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { SecretRulesPage } from './secret-rules'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [SecretRulesPage],
- imports: [IonicPageModule.forChild(SecretRulesPage), TranslateModule],
- entryComponents: [SecretRulesPage]
-})
-export class SecretRulesPageModule {}
diff --git a/src/pages/secret-rules/secret-rules.scss b/src/pages/secret-rules/secret-rules.scss
deleted file mode 100644
index b748e729..00000000
--- a/src/pages/secret-rules/secret-rules.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-page-follow-rules {
- ion-icon {
- color: white;
- }
-}
diff --git a/src/pages/secret-rules/secret-rules.ts b/src/pages/secret-rules/secret-rules.ts
deleted file mode 100644
index 64cb0558..00000000
--- a/src/pages/secret-rules/secret-rules.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams } from 'ionic-angular'
-import { SecretShowPage } from '../secret-show/secret-show'
-import { Secret } from '../../models/secret'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-secret-rules',
- templateUrl: 'secret-rules.html'
-})
-export class SecretRulesPage {
- private secret: Secret
-
- constructor(private navController: NavController, private navParams: NavParams) {
- this.secret = this.navParams.get('secret')
- }
-
- goToShowSecret() {
- this.navController.push(SecretShowPage, { secret: this.secret }).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-}
diff --git a/src/pages/secret-show/secret-show.html b/src/pages/secret-show/secret-show.html
deleted file mode 100644
index 0656a6aa..00000000
--- a/src/pages/secret-show/secret-show.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-
- {{ 'secret-show.title' | translate }}
-
-
-
-
-
- {{ 'secret-show.text' | translate }}
-
- {{ secret.recoverMnemonicFromHex(secret.secretHex) }}
-
-
-
-
-
-
- {{ 'secret-show.next-step_label' | translate }}
-
-
-
-
diff --git a/src/pages/secret-show/secret-show.module.ts b/src/pages/secret-show/secret-show.module.ts
deleted file mode 100644
index 22591856..00000000
--- a/src/pages/secret-show/secret-show.module.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { SecretShowPage } from './secret-show'
-import { SecretValidatePageModule } from '../secret-validate/secret-validate.module'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [SecretShowPage],
- imports: [SecretValidatePageModule, IonicPageModule.forChild(SecretShowPage), TranslateModule],
- entryComponents: [SecretShowPage]
-})
-export class SecretShowPageModule {}
diff --git a/src/pages/secret-show/secret-show.scss b/src/pages/secret-show/secret-show.scss
deleted file mode 100644
index 6bb9f6e0..00000000
--- a/src/pages/secret-show/secret-show.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-page-secret-show {
- ion-icon {
- color: white;
- }
-}
diff --git a/src/pages/secret-show/secret-show.ts b/src/pages/secret-show/secret-show.ts
deleted file mode 100644
index f5b59d54..00000000
--- a/src/pages/secret-show/secret-show.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-import { Component } from '@angular/core'
-import { AlertController, IonicPage, NavController, NavParams } from 'ionic-angular'
-import { SecretValidatePage } from '../secret-validate/secret-validate'
-import { Secret } from '../../models/secret'
-import { SHOW_SECRET_MIN_TIME_IN_SECONDS } from '../../app/constants'
-import { TranslateService } from '@ngx-translate/core'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-secret-show',
- templateUrl: 'secret-show.html'
-})
-export class SecretShowPage {
- private secret: Secret
- startTime = new Date()
-
- constructor(
- public navController: NavController,
- private alertController: AlertController,
- private navParams: NavParams,
- private translateService: TranslateService
- ) {
- this.secret = this.navParams.get('secret')
- }
-
- goToValidateSecret() {
- if (this.startTime.getTime() + SHOW_SECRET_MIN_TIME_IN_SECONDS * 1000 > new Date().getTime()) {
- this.translateService
- .get([
- 'secret-show.too-fast_alert.title',
- 'secret-show.too-fast_alert.heading',
- 'secret-show.too-fast_alert.text',
- 'secret-show.too-fast_alert.wait_label_p1',
- 'secret-show.too-fast_alert.wait_label_p2'
- ])
- .subscribe(values => {
- let title: string = values['secret-show.too-fast_alert.title']
- let heading: string = values['secret-show.too-fast_alert.heading']
- let text: string = values['secret-show.too-fast_alert.text']
- let wait_label_p1: string = values['secret-show.too-fast_alert.wait_label_p1']
- let wait_label_p2: string = values['secret-show.too-fast_alert.wait_label_p2']
-
- this.alertController
- .create({
- title: title,
- message:
- heading +
- ' ' +
- text +
- ' ' +
- wait_label_p1 +
- '' +
- SHOW_SECRET_MIN_TIME_IN_SECONDS.toString() +
- wait_label_p2 +
- ' ',
- buttons: ['Okay']
- })
- .present()
- .catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- })
- } else {
- this.navController.push(SecretValidatePage, { secret: this.secret }).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
- }
-}
diff --git a/src/pages/secret-validate/secret-validate.html b/src/pages/secret-validate/secret-validate.html
deleted file mode 100644
index 6cb4c7c5..00000000
--- a/src/pages/secret-validate/secret-validate.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
- {{ 'secret-validate.title' | translate }}
-
-
-
- {{ 'secret-validate.text' | translate }}
-
-
diff --git a/src/pages/secret-validate/secret-validate.module.ts b/src/pages/secret-validate/secret-validate.module.ts
deleted file mode 100644
index 069c834d..00000000
--- a/src/pages/secret-validate/secret-validate.module.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { SecretValidatePage } from './secret-validate'
-import { ComponentsModule } from '../../components/components.module'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [SecretValidatePage],
- imports: [ComponentsModule, IonicPageModule.forChild(SecretValidatePage), TranslateModule],
- entryComponents: [SecretValidatePage]
-})
-export class SecretValidatePageModule {}
diff --git a/src/pages/secret-validate/secret-validate.scss b/src/pages/secret-validate/secret-validate.scss
deleted file mode 100644
index 4674d6d8..00000000
--- a/src/pages/secret-validate/secret-validate.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-page-secret-validate {
- ion-icon,
- .toolbar-title {
- color: white;
- }
-}
diff --git a/src/pages/secret-validate/secret-validate.ts b/src/pages/secret-validate/secret-validate.ts
deleted file mode 100644
index 964f2262..00000000
--- a/src/pages/secret-validate/secret-validate.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { Component, ViewChild } from '@angular/core'
-import { IonicPage, NavController, NavParams } from 'ionic-angular'
-import { VerifyKeyComponent } from '../../components/verify-key/verify-key'
-import { Secret } from '../../models/secret'
-import { SecretEditPage } from '../secret-edit/secret-edit'
-import { ErrorCategory, handleErrorLocal } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-secret-validate',
- templateUrl: 'secret-validate.html'
-})
-export class SecretValidatePage {
- @ViewChild('verify')
- verify: VerifyKeyComponent
-
- private secret: Secret
- private validated = false
-
- constructor(private navController: NavController, private navParams: NavParams) {
- this.secret = this.navParams.get('secret')
- }
-
- onComplete(isCorrect: boolean) {
- this.validated = isCorrect
- }
-
- onContinue() {
- this.goToSecretEditPage()
- }
-
- goToSecretEditPage() {
- this.navController
- .push(SecretEditPage, { secret: this.secret, isGenerating: true })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-}
diff --git a/src/pages/social-recovery-import/social-recovery-import.html b/src/pages/social-recovery-import/social-recovery-import.html
deleted file mode 100644
index 3d3d4bd3..00000000
--- a/src/pages/social-recovery-import/social-recovery-import.html
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
- {{ 'social-recovery-import.title' | translate }}
-
-
-
-
-
- {{ 'social-recovery-import.text' | translate }}
-
- {{ 'social-recovery-import.share-recovery.heading' | translate }}
-
-
-
- {{ i }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ 'social-recovery-import.recover_label' | translate }}
-
-
-
-
diff --git a/src/pages/social-recovery-import/social-recovery-import.module.ts b/src/pages/social-recovery-import/social-recovery-import.module.ts
deleted file mode 100644
index 470f7035..00000000
--- a/src/pages/social-recovery-import/social-recovery-import.module.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { SocialRecoveryImportPage } from './social-recovery-import'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [SocialRecoveryImportPage],
- imports: [IonicPageModule.forChild(SocialRecoveryImportPage), TranslateModule],
- entryComponents: [SocialRecoveryImportPage]
-})
-export class SocialRecoveryImportPageModule {}
diff --git a/src/pages/social-recovery-import/social-recovery-import.scss b/src/pages/social-recovery-import/social-recovery-import.scss
deleted file mode 100644
index 083422fc..00000000
--- a/src/pages/social-recovery-import/social-recovery-import.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-page-social-recovery-setup {
- .full--height {
- height: 100%;
- }
-}
diff --git a/src/pages/social-recovery-import/social-recovery-import.ts b/src/pages/social-recovery-import/social-recovery-import.ts
deleted file mode 100644
index 5de5ff0a..00000000
--- a/src/pages/social-recovery-import/social-recovery-import.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams } from 'ionic-angular'
-import { Secret } from '../../models/secret'
-import { SecretEditPage } from '../secret-edit/secret-edit'
-import { FormGroup, FormBuilder, Validators } from '@angular/forms'
-import { MnemonicValidator } from '../../validators/mnemonic.validator'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-social-recovery-import',
- templateUrl: 'social-recovery-import.html'
-})
-export class SocialRecoveryImportPage {
- public numberOfShares: number
- public shares: string[]
-
- socialRecoveryForm: FormGroup
-
- constructor(public navCtrl: NavController, public navParams: NavParams, public formBuilder: FormBuilder) { }
-
- setNumberOfShares(i: number) {
- this.numberOfShares = i
- this.shares = Array(i)
-
- let formGroup = {}
-
- this.getNumberArray(i).forEach(i => {
- formGroup['share_' + i.toString()] = ['', Validators.compose([Validators.required, MnemonicValidator.isValidShare])]
- if (this.socialRecoveryForm && this.socialRecoveryForm.value['share_' + i.toString()]) {
- formGroup['share_' + i.toString()][0] = this.socialRecoveryForm.value['share_' + i.toString()]
- }
- })
-
- this.socialRecoveryForm = this.formBuilder.group(formGroup)
- }
-
- recover() {
- try {
- const secret = Secret.recoverSecretFromShares(this.shares)
- this.navCtrl
- .push(SecretEditPage, { secret: new Secret(secret, 'Recovery by Social Recovery') })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- } catch (error) {
- console.log('oops')
- }
- }
-
- back() {
- this.navCtrl.pop().catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- getNumberArray(i: number): number[] {
- return Array(i)
- .fill(0)
- .map((_x, i) => i)
- }
-}
diff --git a/src/pages/social-recovery-setup/social-recovery-setup.html b/src/pages/social-recovery-setup/social-recovery-setup.html
deleted file mode 100644
index 4cfd22f1..00000000
--- a/src/pages/social-recovery-setup/social-recovery-setup.html
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-
- {{ 'social-recovery-setup.title' | translate }}
-
-
-
-
-
- {{ 'social-recovery-setup.text' | translate }}
- {{ 'social-recovery-setup.secret-shares.label' | translate }}
- {{ 'social-recovery-setup.secret-shares.text' | translate }}
- {{ 'social-recovery-setup.shares-number_label' | translate }}
-
-
- {{ i }}
-
-
- {{ 'social-recovery-setup.shares-recovery_label' | translate }}
-
- numberOfShares"
- >
- {{ i }}
-
-
-
-
-
-
-
- {{ 'social-recovery-setup.start_label' | translate }}
-
-
-
-
-
-
-
-
-
-
-
- {{ 'social-recovery-setup.back_label' | translate }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ 'social-recovery-setup.next_label' | translate }}
-
-
-
-
-
-
diff --git a/src/pages/social-recovery-setup/social-recovery-setup.module.ts b/src/pages/social-recovery-setup/social-recovery-setup.module.ts
deleted file mode 100644
index 7185ed59..00000000
--- a/src/pages/social-recovery-setup/social-recovery-setup.module.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { SocialRecoverySetupPage } from './social-recovery-setup'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [SocialRecoverySetupPage],
- imports: [IonicPageModule.forChild(SocialRecoverySetupPage), TranslateModule],
- entryComponents: [SocialRecoverySetupPage]
-})
-export class SocialRecoverySetupPageModule {}
diff --git a/src/pages/social-recovery-setup/social-recovery-setup.scss b/src/pages/social-recovery-setup/social-recovery-setup.scss
deleted file mode 100644
index 083422fc..00000000
--- a/src/pages/social-recovery-setup/social-recovery-setup.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-page-social-recovery-setup {
- .full--height {
- height: 100%;
- }
-}
diff --git a/src/pages/social-recovery-setup/social-recovery-setup.ts b/src/pages/social-recovery-setup/social-recovery-setup.ts
deleted file mode 100644
index 49ed87d0..00000000
--- a/src/pages/social-recovery-setup/social-recovery-setup.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams } from 'ionic-angular'
-import { Secret } from '../../models/secret'
-import { SocialRecoveryShowSharePage } from '../social-recovery-show-share/social-recovery-show-share'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import * as bip39 from 'bip39'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-social-recovery-setup',
- templateUrl: 'social-recovery-setup.html'
-})
-export class SocialRecoverySetupPage {
- private numberOfShares = 3
- private numberOfRequiredShares = 2
- private secret: Secret
-
- constructor(public navCtrl: NavController, public navParams: NavParams, private secretProvider: SecretsProvider) {
- this.secret = this.navParams.get('secret')
- }
-
- setNumberOfShares(i: number) {
- this.numberOfShares = i
- if (this.numberOfRequiredShares > this.numberOfShares) {
- this.numberOfRequiredShares = this.numberOfShares
- }
- }
-
- setNumberOfRequiredShares(i: number) {
- this.numberOfRequiredShares = i
- }
-
- back() {
- this.navCtrl.pop().catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- next() {
- this.secretProvider
- .retrieveEntropyForSecret(this.secret)
- .then(entropy => {
- const shares = Secret.generateSocialRecover(bip39.entropyToMnemonic(entropy), this.numberOfShares, this.numberOfRequiredShares)
- this.navCtrl
- .push(SocialRecoveryShowSharePage, { shares: shares, currentShare: 0, secret: this.secret })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- })
- .catch(error => {
- console.warn(error)
- })
- }
-}
diff --git a/src/pages/social-recovery-show-share/social-recovery-show-share.html b/src/pages/social-recovery-show-share/social-recovery-show-share.html
deleted file mode 100644
index 2efc1047..00000000
--- a/src/pages/social-recovery-show-share/social-recovery-show-share.html
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
- {{ 'social-recovery-show-share.title' | translate }}
-
-
-
-
-
-
- {{ 'social-recovery-show-share.secret-shares.label_p1' | translate }} {{ currentShare + 1 }}
- {{ 'social-recovery-show-share.label_p2' | translate }} {{ shares?.length }}
-
- {{ 'social-recovery-show-share.text' | translate }}
- {{ shares[currentShare] }}
-
-
-
-
-
diff --git a/src/pages/social-recovery-show-share/social-recovery-show-share.module.ts b/src/pages/social-recovery-show-share/social-recovery-show-share.module.ts
deleted file mode 100644
index 0c2dc23f..00000000
--- a/src/pages/social-recovery-show-share/social-recovery-show-share.module.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { SocialRecoveryShowSharePage } from './social-recovery-show-share'
-import { ComponentsModule } from '../../components/components.module'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [SocialRecoveryShowSharePage],
- imports: [ComponentsModule, IonicPageModule.forChild(SocialRecoveryShowSharePage), TranslateModule],
- entryComponents: [SocialRecoveryShowSharePage]
-})
-export class SocialRecoveryShowSharePageModule {}
diff --git a/src/pages/social-recovery-show-share/social-recovery-show-share.scss b/src/pages/social-recovery-show-share/social-recovery-show-share.scss
deleted file mode 100644
index 2faa7767..00000000
--- a/src/pages/social-recovery-show-share/social-recovery-show-share.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-page-social-recovery-show-share {
-}
diff --git a/src/pages/social-recovery-show-share/social-recovery-show-share.ts b/src/pages/social-recovery-show-share/social-recovery-show-share.ts
deleted file mode 100644
index be6054a7..00000000
--- a/src/pages/social-recovery-show-share/social-recovery-show-share.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams } from 'ionic-angular'
-import { SocialRecoveryValidateSharePage } from '../social-recovery-validate-share/social-recovery-validate-share'
-import { Secret } from '../../models/secret'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-social-recovery-show-share',
- templateUrl: 'social-recovery-show-share.html'
-})
-export class SocialRecoveryShowSharePage {
- secret: Secret
- shares: string[]
- currentShare: number
-
- constructor(private navCtrl: NavController, navParams: NavParams) {
- this.shares = navParams.get('shares')
- this.secret = navParams.get('secret')
- this.currentShare = navParams.get('currentShare')
- }
-
- back() {
- this.navCtrl.pop().catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- next() {
- this.navCtrl
- .push(SocialRecoveryValidateSharePage, { shares: this.shares, currentShare: this.currentShare, secret: this.secret })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- finish() {
- this.navCtrl.popToRoot().catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-}
diff --git a/src/pages/social-recovery-validate-share/social-recovery-validate-share.html b/src/pages/social-recovery-validate-share/social-recovery-validate-share.html
deleted file mode 100644
index 1a42175d..00000000
--- a/src/pages/social-recovery-validate-share/social-recovery-validate-share.html
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- {{ 'social-recovery-validate-share.title' | translate }}
-
-
-
-
-
- {{ 'social-recovery-validate-share.text' | translate }}
-
-
-
-
-
-
diff --git a/src/pages/social-recovery-validate-share/social-recovery-validate-share.module.ts b/src/pages/social-recovery-validate-share/social-recovery-validate-share.module.ts
deleted file mode 100644
index f53c74a3..00000000
--- a/src/pages/social-recovery-validate-share/social-recovery-validate-share.module.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { SocialRecoveryValidateSharePage } from './social-recovery-validate-share'
-import { ComponentsModule } from '../../components/components.module'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [SocialRecoveryValidateSharePage],
- imports: [ComponentsModule, IonicPageModule.forChild(SocialRecoveryValidateSharePage), TranslateModule],
- entryComponents: [SocialRecoveryValidateSharePage]
-})
-export class SocialRecoveryValidateSharePageModule {}
diff --git a/src/pages/social-recovery-validate-share/social-recovery-validate-share.scss b/src/pages/social-recovery-validate-share/social-recovery-validate-share.scss
deleted file mode 100644
index 110ab7cd..00000000
--- a/src/pages/social-recovery-validate-share/social-recovery-validate-share.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-page-social-recovery-validate-share {
-}
diff --git a/src/pages/social-recovery-validate-share/social-recovery-validate-share.ts b/src/pages/social-recovery-validate-share/social-recovery-validate-share.ts
deleted file mode 100644
index 1b0b40c0..00000000
--- a/src/pages/social-recovery-validate-share/social-recovery-validate-share.ts
+++ /dev/null
@@ -1,60 +0,0 @@
-import { Component, ViewChild } from '@angular/core'
-import { IonicPage, NavController, NavParams } from 'ionic-angular'
-import { VerifyKeyComponent } from '../../components/verify-key/verify-key'
-import { SocialRecoveryShowSharePage } from '../social-recovery-show-share/social-recovery-show-share'
-import { Secret } from '../../models/secret'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { ErrorCategory, handleErrorLocal } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-social-recovery-validate-share',
- templateUrl: 'social-recovery-validate-share.html'
-})
-export class SocialRecoveryValidateSharePage {
- @ViewChild('verify')
- verify: VerifyKeyComponent
-
- validated = false
- shares: string[]
- currentShare: number
- secret: Secret
-
- constructor(public navCtrl: NavController, public navParams: NavParams, private secretsProvider: SecretsProvider) {
- this.secret = navParams.get('secret')
- this.shares = navParams.get('shares')
- this.currentShare = navParams.get('currentShare')
- }
-
- onComplete(isCorrect: boolean) {
- this.validated = isCorrect
- }
-
- onContinue() {
- this.next.bind(this)()
- }
-
- back() {
- this.navCtrl.pop().catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- next() {
- if (this.shares.length === this.currentShare + 1) {
- this.secret.hasSocialRecovery = true
- this.secretsProvider
- .addOrUpdateSecret(this.secret)
- .then(() => {
- this.navCtrl.popToRoot().catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- })
- .catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- } else {
- this.navCtrl
- .push(SocialRecoveryShowSharePage, {
- shares: this.shares,
- currentShare: this.currentShare + 1,
- secret: this.secret
- })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
- }
-}
diff --git a/src/pages/tab-scan/tab-scan.html b/src/pages/tab-scan/tab-scan.html
deleted file mode 100644
index ea16a00e..00000000
--- a/src/pages/tab-scan/tab-scan.html
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
- {{ 'tab-scan.title' | translate }}
-
-
-
-
- {{ 'tab-scan.text' | translate }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ 'tab-scan.grant-permission_label' | translate }}
-
-
-
diff --git a/src/pages/tab-scan/tab-scan.module.ts b/src/pages/tab-scan/tab-scan.module.ts
deleted file mode 100644
index dbf62300..00000000
--- a/src/pages/tab-scan/tab-scan.module.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule, Platform } from 'ionic-angular'
-import { TabScanPage } from './tab-scan'
-import { ComponentsModule } from '../../components/components.module'
-import { ScannerProvider } from '../../providers/scanner/scanner'
-import { ZXingScannerModule } from '@zxing/ngx-scanner'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [TabScanPage],
- imports: [ComponentsModule, ZXingScannerModule, IonicPageModule.forChild(TabScanPage), TranslateModule],
- providers: [ScannerProvider, Platform],
- entryComponents: [TabScanPage]
-})
-export class TabScanPageModule {}
diff --git a/src/pages/tab-scan/tab-scan.scss b/src/pages/tab-scan/tab-scan.scss
deleted file mode 100644
index d06b7a3e..00000000
--- a/src/pages/tab-scan/tab-scan.scss
+++ /dev/null
@@ -1,29 +0,0 @@
-page-tab-scan {
- .transparent {
- background: none !important;
- }
-
- p {
- background: rgba(color($colors, secondary-light), 0.5);
- }
-
- .row--height__100 {
- height: calc(100% - 48px);
- img {
- height: 45vh;
- }
- }
- .guides--container {
- position: absolute;
- height: 100%;
- width: 100%;
- top: 0;
- left: 0;
- .guides--container__img {
- width: 60%;
- max-width: 400px;
- margin-top: 3em;
- max-height: 50%;
- }
- }
-}
diff --git a/src/pages/tab-scan/tab-scan.ts b/src/pages/tab-scan/tab-scan.ts
deleted file mode 100644
index a44f783b..00000000
--- a/src/pages/tab-scan/tab-scan.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-import { Component, ViewChild } from '@angular/core'
-import { AlertController, IonicPage, NavController, Platform } from 'ionic-angular'
-import { Transaction } from '../../models/transaction.model'
-import { ScannerProvider } from '../../providers/scanner/scanner'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { SchemeRoutingProvider } from '../../providers/scheme-routing/scheme-routing'
-import { ZXingScannerComponent } from '@zxing/ngx-scanner'
-import { PermissionsProvider, PermissionTypes, PermissionStatus } from '../../providers/permissions/permissions'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-tab-scan',
- templateUrl: 'tab-scan.html'
-})
-export class TabScanPage {
- @ViewChild('scanner')
- zxingScanner: ZXingScannerComponent
- availableDevices: MediaDeviceInfo[]
- selectedDevice: MediaDeviceInfo
- scannerEnabled = true
-
- public isBrowser = false
-
- hasCameras = false
-
- public hasCameraPermission = false
-
- constructor(
- private schemeRouting: SchemeRoutingProvider,
- private alertCtrl: AlertController,
- private navController: NavController,
- private platform: Platform,
- private secretsProvider: SecretsProvider,
- private scanner: ScannerProvider,
- private permissionsProvider: PermissionsProvider
- ) {
- this.isBrowser = !this.platform.is('cordova')
- }
-
- async ionViewWillEnter() {
- if (this.platform.is('cordova')) {
- await this.platform.ready()
- await this.checkCameraPermissionsAndActivate()
- }
- }
-
- async requestPermission() {
- await this.permissionsProvider.userRequestsPermissions([PermissionTypes.CAMERA])
- await this.checkCameraPermissionsAndActivate()
- }
-
- async checkCameraPermissionsAndActivate() {
- const permission = await this.permissionsProvider.hasCameraPermission()
- if (permission === PermissionStatus.GRANTED) {
- this.hasCameraPermission = true
- this.startScan()
- }
- }
-
- ionViewDidEnter() {
- if (!this.platform.is('cordova')) {
- this.hasCameraPermission = true
- this.zxingScanner.camerasNotFound.subscribe((_devices: MediaDeviceInfo[]) => {
- console.error('An error has occurred when trying to enumerate your video-stream-enabled devices.')
- })
- if (this.selectedDevice) {
- // Not the first time that we open scanner
- this.zxingScanner.startScan(this.selectedDevice)
- }
- this.zxingScanner.camerasFound.subscribe((devices: MediaDeviceInfo[]) => {
- this.hasCameras = true
- this.availableDevices = devices
- this.selectedDevice = devices[0]
- })
- }
- }
-
- ionViewWillLeave() {
- if (this.platform.is('cordova')) {
- this.scanner.destroy()
- } else {
- this.zxingScanner.resetCodeReader()
- }
- }
-
- public startScan() {
- if (this.platform.is('cordova')) {
- this.scanner.show()
- this.scanner.scan(
- text => {
- this.checkScan(text).catch(handleErrorLocal(ErrorCategory.SCHEME_ROUTING))
- },
- error => {
- console.warn(error)
- this.startScan()
- }
- )
- } else {
- // We don't need to do anything in the browser because it keeps scanning
- }
- }
-
- async checkScan(data: string) {
- return this.schemeRouting.handleNewSyncRequest(this.navController, data, () => {
- this.startScan()
- })
- }
-}
diff --git a/src/pages/tab-settings/tab-settings.html b/src/pages/tab-settings/tab-settings.html
deleted file mode 100644
index dd1e497b..00000000
--- a/src/pages/tab-settings/tab-settings.html
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
- {{ 'tab-settings.title' | translate }}
-
-
-
-
-
- {{ 'tab-settings.information_label' | translate }}
-
-
-
- {{ 'tab-settings.about' | translate }}
-
-
-
- {{ 'tab-settings.paste-from-clipboard_label' | translate }}
-
-
-
- {{ 'tab-settings.secrets_label' | translate }}
-
-
-
-
-
-
- {{ 'tab-settings.add-settings_label' | translate }}
-
-
-
-
diff --git a/src/pages/tab-settings/tab-settings.module.ts b/src/pages/tab-settings/tab-settings.module.ts
deleted file mode 100644
index 6d4ca292..00000000
--- a/src/pages/tab-settings/tab-settings.module.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { ComponentsModule } from '../../components/components.module'
-import { MaterialIconsModule } from 'ionic2-material-icons'
-import { TranslateModule } from '@ngx-translate/core'
-import { TabSettingsPage } from './tab-settings'
-
-@NgModule({
- declarations: [TabSettingsPage],
- imports: [ComponentsModule, MaterialIconsModule, IonicPageModule.forChild(TabSettingsPage), TranslateModule],
- entryComponents: [TabSettingsPage]
-})
-export class TabSettingsPageModule {}
diff --git a/src/pages/tab-settings/tab-settings.scss b/src/pages/tab-settings/tab-settings.scss
deleted file mode 100644
index 5e16247e..00000000
--- a/src/pages/tab-settings/tab-settings.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-page-tab-settings {
-}
diff --git a/src/pages/tab-settings/tab-settings.ts b/src/pages/tab-settings/tab-settings.ts
deleted file mode 100644
index c3f03637..00000000
--- a/src/pages/tab-settings/tab-settings.ts
+++ /dev/null
@@ -1,99 +0,0 @@
-import { Component } from '@angular/core'
-import { AlertController, IonicPage, NavController, ToastController, ModalController } from 'ionic-angular'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { ClipboardProvider } from '../../providers/clipboard/clipboard'
-import { SchemeRoutingProvider } from '../../providers/scheme-routing/scheme-routing'
-import { Secret } from '../../models/secret'
-import { SecretCreatePage } from '../secret-create/secret-create'
-import { SecretEditPage } from '../secret-edit/secret-edit'
-import { Observable } from 'rxjs'
-import { AboutPage } from '../about/about'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-tab-settings',
- templateUrl: 'tab-settings.html'
-})
-export class TabSettingsPage {
- private secrets: Observable
-
- constructor(
- public modalController: ModalController,
- public navController: NavController,
- private secretsProvider: SecretsProvider,
- private alertController: AlertController,
- private toastController: ToastController,
- private schemeRoutingProvider: SchemeRoutingProvider,
- private clipboardProvider: ClipboardProvider
- ) {
- this.secrets = this.secretsProvider.currentSecretsList.asObservable()
- }
-
- ionViewWillEnter() {
- this.secrets.subscribe(async list => {
- await this.secretsProvider.isReady()
- if (list.length === 0) {
- this.navController.push(SecretCreatePage).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
- })
- }
-
- goToNewSecret() {
- this.navController.push(SecretCreatePage).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- goToEditSecret(secret: Secret) {
- this.navController.push(SecretEditPage, { secret: secret }).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- deleteSecret(secret: Secret) {
- this.alertController
- .create({
- title: 'Delete ' + secret.label,
- subTitle: 'Are you sure you want to delete ' + secret.label + '?',
- buttons: [
- {
- text: 'Delete',
- handler: () => {
- this.secretsProvider.remove(secret).catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
-
- let toast = this.toastController.create({
- message: 'Secret deleted',
- duration: 5000,
- showCloseButton: true,
- closeButtonText: 'Undo'
- })
-
- toast.onDidDismiss((_data, role) => {
- if (role === 'close') {
- this.secretsProvider.addOrUpdateSecret(secret).catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- }
- })
- toast.present().catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- }
- },
- {
- text: 'Cancel'
- }
- ]
- })
- .present()
- .catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- }
-
- public about() {
- this.navController.push(AboutPage).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- public pasteClipboard() {
- this.clipboardProvider.paste().then(
- (text: string) => {
- this.schemeRoutingProvider.handleNewSyncRequest(this.navController, text).catch(handleErrorLocal(ErrorCategory.SCHEME_ROUTING))
- },
- (err: string) => {
- console.error('Error: ' + err)
- }
- )
- }
-}
diff --git a/src/pages/tab-wallets/fillter-wallets.filter.ts b/src/pages/tab-wallets/fillter-wallets.filter.ts
deleted file mode 100644
index fa742e3b..00000000
--- a/src/pages/tab-wallets/fillter-wallets.filter.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Pipe, PipeTransform } from '@angular/core'
-import { AirGapWallet } from 'airgap-coin-lib'
-
-@Pipe({
- name: 'filterWallets'
-})
-export class FilterWalletsPipe implements PipeTransform {
- transform(items: AirGapWallet[], args: { symbol: string }): any {
- if (!items) {
- return []
- }
-
- if (!args.symbol) {
- return items
- } else {
- return items.filter(
- wallet =>
- wallet.coinProtocol.symbol.toLowerCase().includes(args.symbol) || wallet.coinProtocol.name.toLowerCase().includes(args.symbol)
- )
- }
- }
-}
diff --git a/src/pages/tab-wallets/tab-wallets.html b/src/pages/tab-wallets/tab-wallets.html
deleted file mode 100644
index 36578a3e..00000000
--- a/src/pages/tab-wallets/tab-wallets.html
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
- {{ 'tab-wallets.title' | translate }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ 'tab-wallets.empty-state_text' | translate }}
-
-
-
-
-
-
- {{ 'tab-wallets.add-wallet_label' | translate }}
-
-
-
diff --git a/src/pages/tab-wallets/tab-wallets.module.ts b/src/pages/tab-wallets/tab-wallets.module.ts
deleted file mode 100644
index 894822c8..00000000
--- a/src/pages/tab-wallets/tab-wallets.module.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { TabWalletsPage } from './tab-wallets'
-import { ComponentsModule } from '../../components/components.module'
-import { MaterialIconsModule } from 'ionic2-material-icons'
-import { FilterWalletsPipe } from './fillter-wallets.filter'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [TabWalletsPage, FilterWalletsPipe],
- imports: [ComponentsModule, MaterialIconsModule, IonicPageModule.forChild(TabWalletsPage), TranslateModule],
- entryComponents: [TabWalletsPage]
-})
-export class TabWalletsPageModule {}
diff --git a/src/pages/tab-wallets/tab-wallets.scss b/src/pages/tab-wallets/tab-wallets.scss
deleted file mode 100644
index bd7570a4..00000000
--- a/src/pages/tab-wallets/tab-wallets.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-page-receive-currency {
-}
diff --git a/src/pages/tab-wallets/tab-wallets.ts b/src/pages/tab-wallets/tab-wallets.ts
deleted file mode 100644
index e0a9ef91..00000000
--- a/src/pages/tab-wallets/tab-wallets.ts
+++ /dev/null
@@ -1,65 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams } from 'ionic-angular'
-import { WalletAddressPage } from '../wallet-address/wallet-address'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { WalletSelectCoinsPage } from '../wallet-select-coins/wallet-select-coins'
-import { Secret } from '../../models/secret'
-import { AirGapWallet } from 'airgap-coin-lib'
-import { BehaviorSubject } from 'rxjs/BehaviorSubject'
-import { SecretCreatePage } from '../secret-create/secret-create'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-tab-wallets',
- templateUrl: 'tab-wallets.html'
-})
-export class TabWalletsPage {
- symbolFilter: string
- activeSecret: Secret
-
- public wallets = new BehaviorSubject([])
-
- constructor(public navController: NavController, public navParams: NavParams, private secretsProvider: SecretsProvider) {}
-
- ionViewWillEnter() {
- let secrets = this.secretsProvider.currentSecretsList.asObservable()
- secrets.subscribe(async list => {
- await this.secretsProvider.isReady()
- if (list.length === 0) {
- this.navController.push(SecretCreatePage).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
- })
- }
-
- ionViewDidEnter() {
- if (this.secretsProvider.getActiveSecret()) {
- this.activeSecret = this.secretsProvider.getActiveSecret()
- this.wallets.next(this.activeSecret.wallets)
- }
- }
-
- onSecretChanged(secret: Secret) {
- this.activeSecret = secret
- this.wallets.next(this.activeSecret.wallets)
- }
-
- goToReceiveAddress(wallet: AirGapWallet) {
- this.navController.push(WalletAddressPage, { wallet: wallet }).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- filterItems(ev: any) {
- let val = ev.target.value
- if (val && val !== '') {
- val = val.trim().toLowerCase()
- this.symbolFilter = val
- } else {
- this.symbolFilter = null
- }
- }
-
- addWallet() {
- this.navController.push(WalletSelectCoinsPage).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
-}
diff --git a/src/pages/tabs/tabs.html b/src/pages/tabs/tabs.html
deleted file mode 100644
index a9b10c94..00000000
--- a/src/pages/tabs/tabs.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/pages/tabs/tabs.module.ts b/src/pages/tabs/tabs.module.ts
deleted file mode 100644
index 2d598ddc..00000000
--- a/src/pages/tabs/tabs.module.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { TabsPage } from './tabs'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [TabsPage],
- imports: [IonicPageModule.forChild(TabsPage), TranslateModule],
- entryComponents: [TabsPage]
-})
-export class TabsPageModule {}
diff --git a/src/pages/tabs/tabs.scss b/src/pages/tabs/tabs.scss
deleted file mode 100644
index 756101d7..00000000
--- a/src/pages/tabs/tabs.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-page-tabs {
-}
diff --git a/src/pages/tabs/tabs.ts b/src/pages/tabs/tabs.ts
deleted file mode 100644
index 7b9ba126..00000000
--- a/src/pages/tabs/tabs.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage } from 'ionic-angular'
-import { TabScanPage } from '../tab-scan/tab-scan'
-import { TabWalletsPage } from '../tab-wallets/tab-wallets'
-import { TabSettingsPage } from '../tab-settings/tab-settings'
-
-@IonicPage()
-@Component({
- selector: 'page-tabs',
- templateUrl: 'tabs.html'
-})
-export class TabsPage {
- tabWallets = TabWalletsPage
- tabScan = TabScanPage
- tabSettings = TabSettingsPage
-}
diff --git a/src/pages/transaction-detail/transaction-detail.html b/src/pages/transaction-detail/transaction-detail.html
deleted file mode 100644
index ee99ce71..00000000
--- a/src/pages/transaction-detail/transaction-detail.html
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
- {{ 'transaction-detail.title' | translate }}
-
-
-
-
-
-
-
{{ 'transaction-detail.text' | translate }}
-
-
-
-
-
-
-
-
-
- {{ 'transaction-detail.sign-tx_label' | translate }}
-
-
-
-
diff --git a/src/pages/transaction-detail/transaction-detail.module.ts b/src/pages/transaction-detail/transaction-detail.module.ts
deleted file mode 100644
index f913e3dd..00000000
--- a/src/pages/transaction-detail/transaction-detail.module.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { TransactionDetailPage } from './transaction-detail'
-import { ComponentsModule } from '../../components/components.module'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [TransactionDetailPage],
- imports: [ComponentsModule, IonicPageModule.forChild(TransactionDetailPage), TranslateModule],
- entryComponents: [TransactionDetailPage]
-})
-export class TransactionDetailPageModule {}
diff --git a/src/pages/transaction-detail/transaction-detail.scss b/src/pages/transaction-detail/transaction-detail.scss
deleted file mode 100644
index 3d58597e..00000000
--- a/src/pages/transaction-detail/transaction-detail.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-page-transaction-detail {
- ion-icon {
- color: white;
- }
-}
diff --git a/src/pages/transaction-detail/transaction-detail.ts b/src/pages/transaction-detail/transaction-detail.ts
deleted file mode 100644
index 11a705ac..00000000
--- a/src/pages/transaction-detail/transaction-detail.ts
+++ /dev/null
@@ -1,117 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams } from 'ionic-angular'
-import {
- AirGapWallet,
- UnsignedTransaction,
- IAirGapTransaction,
- SyncProtocolUtils,
- DeserializedSyncProtocol,
- EncodedType
-} from 'airgap-coin-lib'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import bip39 from 'bip39'
-import { InteractionProvider, InteractionOperationType } from '../../providers/interaction/interaction'
-import { handleErrorLocal } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-transaction-detail',
- templateUrl: 'transaction-detail.html'
-})
-export class TransactionDetailPage {
- broadcastUrl?: string
-
- public transaction: UnsignedTransaction
- public wallet: AirGapWallet
- public airGapTx: IAirGapTransaction
- public deserializedSync: DeserializedSyncProtocol
-
- constructor(
- public navController: NavController,
- public navParams: NavParams,
- private secretsProvider: SecretsProvider,
- private interactionProvider: InteractionProvider
- ) {}
-
- async ionViewWillEnter() {
- this.transaction = this.navParams.get('transaction')
- this.wallet = this.navParams.get('wallet')
- this.deserializedSync = this.navParams.get('deserializedSync')
- try {
- this.airGapTx = await this.wallet.coinProtocol.getTransactionDetails(this.transaction)
- } catch (e) {
- console.log('cannot read tx details', e)
- }
- }
-
- async signAndGoToNextPage() {
- const signedTx = await this.signTransaction(this.transaction, this.wallet)
- this.broadcastUrl = await this.generateBroadcastUrl(this.wallet, signedTx, this.transaction)
-
- this.interactionProvider.startInteraction(
- this.navController,
- {
- operationType: InteractionOperationType.TRANSACTION_BROADCAST,
- url: this.broadcastUrl,
- wallet: this.wallet,
- signedTx: signedTx,
- transaction: this.transaction
- },
- this.secretsProvider.getActiveSecret()
- )
- }
-
- async generateBroadcastUrl(wallet: AirGapWallet, signedTx: string, unsignedTransaction: UnsignedTransaction): Promise {
- let txDetails = {
- from: undefined,
- amount: undefined,
- fee: undefined,
- to: undefined
- }
-
- try {
- txDetails = await wallet.coinProtocol.getTransactionDetails(unsignedTransaction)
- } catch (e) {
- handleErrorLocal(e)
- }
-
- const syncProtocol = new SyncProtocolUtils()
- const deserializedTxSigningRequest: DeserializedSyncProtocol = {
- version: 1,
- protocol: this.wallet.protocolIdentifier,
- type: EncodedType.SIGNED_TRANSACTION,
- payload: {
- accountIdentifier: wallet.publicKey.substr(-6),
- transaction: signedTx,
- from: txDetails.from,
- amount: txDetails.amount,
- fee: txDetails.fee,
- to: txDetails.to
- }
- }
-
- const serializedTx = await syncProtocol.serialize(deserializedTxSigningRequest)
-
- return `${unsignedTransaction.callback || 'airgap-wallet://?d='}${serializedTx}`
- }
-
- signTransaction(transaction: UnsignedTransaction, wallet: AirGapWallet): Promise {
- const secret = this.secretsProvider.findByPublicKey(wallet.publicKey)
-
- // we should handle this case here as well
- if (!secret) {
- console.warn('no secret found to this public key')
- }
-
- return this.secretsProvider.retrieveEntropyForSecret(secret).then(entropy => {
- let seed = bip39.mnemonicToSeedHex(bip39.entropyToMnemonic(entropy))
- if (wallet.isExtendedPublicKey) {
- const extendedPrivateKey = wallet.coinProtocol.getExtendedPrivateKeyFromHexSecret(seed, wallet.derivationPath)
- return wallet.coinProtocol.signWithExtendedPrivateKey(extendedPrivateKey, transaction.transaction)
- } else {
- const privateKey = wallet.coinProtocol.getPrivateKeyFromHexSecret(seed, wallet.derivationPath)
- return wallet.coinProtocol.signWithPrivateKey(privateKey, transaction.transaction)
- }
- })
- }
-}
diff --git a/src/pages/transaction-signed/transaction-signed.html b/src/pages/transaction-signed/transaction-signed.html
deleted file mode 100644
index 84cfc754..00000000
--- a/src/pages/transaction-signed/transaction-signed.html
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
- {{ 'transaction-signed.title' | translate }}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ 'transaction-signed.raw-tx_label' | translate }}
-
-
-
-
-
-
- {{ 'transaction-signed.done_label' | translate }}
-
-
diff --git a/src/pages/transaction-signed/transaction-signed.module.ts b/src/pages/transaction-signed/transaction-signed.module.ts
deleted file mode 100644
index fdd640d0..00000000
--- a/src/pages/transaction-signed/transaction-signed.module.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { TransactionSignedPage } from './transaction-signed'
-import { ComponentsModule } from '../../components/components.module'
-import { QRCodeModule } from 'angularx-qrcode'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [TransactionSignedPage],
- imports: [ComponentsModule, QRCodeModule, IonicPageModule.forChild(TransactionSignedPage), TranslateModule],
- entryComponents: [TransactionSignedPage]
-})
-export class TransactionSignedPageModule {}
diff --git a/src/pages/transaction-signed/transaction-signed.scss b/src/pages/transaction-signed/transaction-signed.scss
deleted file mode 100644
index 785f6fea..00000000
--- a/src/pages/transaction-signed/transaction-signed.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-page-transaction-signed {
- qr-clipboard {
- width: 340px;
- height: 340px;
- }
- ion-icon {
- color: white;
- }
- hexagon-icon {
- .hexagon--background {
- width: 32px;
- height: 32px;
- }
- h3 {
- font-size: 12px;
- }
- }
-}
diff --git a/src/pages/transaction-signed/transaction-signed.spec.ts b/src/pages/transaction-signed/transaction-signed.spec.ts
deleted file mode 100644
index 136a2b1e..00000000
--- a/src/pages/transaction-signed/transaction-signed.spec.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-import 'jasmine'
-import { async, TestBed, ComponentFixture } from '@angular/core/testing'
-import { IonicModule, NavController, NavParams, Platform } from 'ionic-angular'
-import { QRCodeModule } from 'angularx-qrcode'
-import { TransactionSignedPage } from './transaction-signed'
-import { StatusBar } from '@ionic-native/status-bar'
-import { SplashScreen } from '@ionic-native/splash-screen'
-import { Clipboard } from '@ionic-native/clipboard'
-
-import { PlatformMock, StatusBarMock, SplashScreenMock, NavParamsMock } from '../../../test-config/mocks-ionic'
-import { NavControllerMock } from 'ionic-mocks'
-
-import { ComponentsModule } from '../../components/components.module'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { SecureStorageService } from '../../providers/storage/secure-storage'
-import { WalletMock } from '../../../test-config/wallet-mock'
-import { StorageMock } from '../../../test-config/storage-mock'
-import { Storage } from '@ionic/storage'
-import { SecureStorageServiceMock } from '../../providers/storage/secure-storage.mock'
-import { TranslateModule, TranslateService } from '@ngx-translate/core'
-
-import { HttpClient } from '@angular/common/http'
-import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'
-import { ClipboardProvider } from '../../providers/clipboard/clipboard'
-
-describe('TransactionSigned Page', () => {
- const ethWallet = new WalletMock().ethWallet
- const ethTransaction = new WalletMock().ethTransaction
-
- let fixture: ComponentFixture
- let component: TransactionSignedPage
-
- beforeEach(async(() => {
- NavParamsMock.setParams({
- transaction: ethTransaction,
- wallet: ethWallet
- })
- TestBed.configureTestingModule({
- declarations: [TransactionSignedPage],
- imports: [
- IonicModule.forRoot(TransactionSignedPage),
- ComponentsModule,
- QRCodeModule,
- HttpClientTestingModule,
- TranslateModule.forRoot()
- ],
- providers: [
- Clipboard,
- ClipboardProvider,
- SecretsProvider,
- { provide: SecureStorageService, useClass: SecureStorageServiceMock },
- { provide: Storage, useClass: StorageMock },
- { provide: NavController, useClass: NavControllerMock },
- { provide: NavParams, useClass: NavParamsMock },
- { provide: StatusBar, useClass: StatusBarMock },
- { provide: SplashScreen, useClass: SplashScreenMock },
- { provide: Platform, useClass: PlatformMock },
- TranslateService
- ]
- }).compileComponents()
- }))
-
- beforeEach(done => {
- fixture = TestBed.createComponent(TransactionSignedPage)
- component = fixture.componentInstance
- fixture.detectChanges()
-
- TestBed.get(SecretsProvider)
- .currentSecretsList.asObservable()
- .subscribe(value => {
- done()
- })
- })
-
- it('should be created', () => {
- expect(component instanceof TransactionSignedPage).toBe(true)
- })
-})
diff --git a/src/pages/transaction-signed/transaction-signed.ts b/src/pages/transaction-signed/transaction-signed.ts
deleted file mode 100644
index 3858081f..00000000
--- a/src/pages/transaction-signed/transaction-signed.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams } from 'ionic-angular'
-import { AirGapWallet, SyncProtocolUtils, DeserializedSyncProtocol } from 'airgap-coin-lib'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-import { ClipboardProvider } from '../../providers/clipboard/clipboard'
-
-enum TransactionQRType {
- SignedAirGap = 0,
- SignedRaw = 1
-}
-
-@IonicPage()
-@Component({
- selector: 'page-transaction-signed',
- templateUrl: 'transaction-signed.html'
-})
-export class TransactionSignedPage {
- public signedTx: string
- public interactionUrl: string
-
- public wallet: AirGapWallet
- public qrType: TransactionQRType = 0
-
- public signedTransactionSync: DeserializedSyncProtocol
-
- constructor(public navCtrl: NavController, public navParams: NavParams, private clipboardProvider: ClipboardProvider) { }
-
- async ionViewWillEnter() {
- this.interactionUrl = this.navParams.get('interactionUrl')
- this.wallet = this.navParams.get('wallet')
- this.signedTx = this.navParams.get('signedTx')
- }
-
- public switchQR() {
- this.qrType = this.qrType === TransactionQRType.SignedAirGap ? TransactionQRType.SignedRaw : TransactionQRType.SignedAirGap
- }
-
- public done() {
- this.navCtrl.popToRoot().catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-}
diff --git a/src/pages/wallet-address/wallet-address.html b/src/pages/wallet-address/wallet-address.html
deleted file mode 100644
index be30bbc0..00000000
--- a/src/pages/wallet-address/wallet-address.html
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
- {{ 'wallet-address.title' | translate }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ wallet.coinProtocol.name }} {{ wallet.coinProtocol.symbol }}
-
- {{ 'wallet-address.address_label' | translate }}
-
- {{ wallet.receivingPublicAddress }}
-
-
- {{ 'wallet-address.path_label' | translate }}
-
- {{ wallet.derivationPath }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ 'wallet-address.sync_label' | translate }}
- {{ 'wallet-address.done_label' | translate }}
-
-
-
diff --git a/src/pages/wallet-address/wallet-address.module.ts b/src/pages/wallet-address/wallet-address.module.ts
deleted file mode 100644
index 19caa58d..00000000
--- a/src/pages/wallet-address/wallet-address.module.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { WalletAddressPage } from './wallet-address'
-import { ComponentsModule } from '../../components/components.module'
-import { QRCodeModule } from 'angularx-qrcode'
-import { MaterialIconsModule } from 'ionic2-material-icons'
-import { WalletEditPopoverComponent } from './wallet-edit-popover/wallet-edit-popover.component'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [WalletAddressPage, WalletEditPopoverComponent],
- imports: [ComponentsModule, QRCodeModule, MaterialIconsModule, IonicPageModule.forChild(WalletAddressPage), TranslateModule],
- entryComponents: [WalletAddressPage, WalletEditPopoverComponent]
-})
-export class WalletAddressPageModule {}
diff --git a/src/pages/wallet-address/wallet-address.scss b/src/pages/wallet-address/wallet-address.scss
deleted file mode 100644
index 9830736e..00000000
--- a/src/pages/wallet-address/wallet-address.scss
+++ /dev/null
@@ -1,24 +0,0 @@
-page-wallet-address {
- ion-avatar {
- width: 64px;
- height: 64px;
- img {
- width: 64px;
- height: 64px;
- }
- }
- .symbol--icon {
- position: absolute;
- height: 32px;
- width: 32px;
- left: 40px;
- top: 40px;
- }
-}
-
-.selectable {
- -webkit-user-select: text;
- -moz-user-select: text;
- -ms-user-select: text;
- user-select: text;
-}
diff --git a/src/pages/wallet-address/wallet-address.ts b/src/pages/wallet-address/wallet-address.ts
deleted file mode 100644
index c7a8520a..00000000
--- a/src/pages/wallet-address/wallet-address.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, ToastController, NavParams, PopoverController, Platform } from 'ionic-angular'
-import { WalletEditPopoverComponent } from './wallet-edit-popover/wallet-edit-popover.component'
-import { AirGapWallet, DeserializedSyncProtocol, EncodedType, SyncProtocolUtils, SyncWalletRequest } from 'airgap-coin-lib'
-import { ClipboardProvider } from '../../providers/clipboard/clipboard'
-import { ShareUrlProvider } from '../../providers/share-url/share-url'
-import { ErrorCategory, handleErrorLocal } from '../../providers/error-handler/error-handler'
-import { InteractionSelectionPage } from '../interaction-selection/interaction-selection'
-import { WalletSharePage } from '../wallet-share/wallet-share'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { InteractionProvider, InteractionOperationType, InteractionSetting } from '../../providers/interaction/interaction'
-
-declare var window: any
-
-@IonicPage()
-@Component({
- selector: 'page-wallet-address',
- templateUrl: 'wallet-address.html'
-})
-export class WalletAddressPage {
- public wallet: AirGapWallet
- private walletShareUrl: string
-
- constructor(
- private popoverCtrl: PopoverController,
- private toastController: ToastController,
- private clipboardProvider: ClipboardProvider,
- private navController: NavController,
- private navParams: NavParams,
- private secretsProvider: SecretsProvider,
- private platform: Platform,
- private shareUrlProvider: ShareUrlProvider,
- private interactionProvider: InteractionProvider
- ) {
- this.wallet = this.navParams.get('wallet')
- }
-
- async ionViewDidEnter() {
- this.walletShareUrl = await this.shareUrlProvider.generateShareURL(this.wallet)
- }
-
- done() {
- this.navController.pop().catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- async share() {
- this.interactionProvider.startInteraction(
- this.navController,
- {
- operationType: InteractionOperationType.WALLET_SYNC,
- url: this.walletShareUrl
- },
- this.secretsProvider.getActiveSecret()
- )
- }
-
- presentEditPopover(event) {
- let popover = this.popoverCtrl.create(WalletEditPopoverComponent, {
- wallet: this.wallet,
- walletShareUrl: this.walletShareUrl,
- onDelete: () => {
- this.done()
- }
- })
- popover
- .present({
- ev: event
- })
- .catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- }
-
- async copyAddressToClipboard() {
- await this.clipboardProvider.copyAndShowToast(this.wallet.receivingPublicAddress)
- }
-}
diff --git a/src/pages/wallet-address/wallet-edit-popover/wallet-edit-popover.component.ts b/src/pages/wallet-address/wallet-edit-popover/wallet-edit-popover.component.ts
deleted file mode 100644
index 2419d991..00000000
--- a/src/pages/wallet-address/wallet-edit-popover/wallet-edit-popover.component.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-import { Component } from '@angular/core'
-import { AlertController, NavParams, ToastController, ViewController } from 'ionic-angular'
-import { SecretsProvider } from '../../../providers/secrets/secrets.provider'
-import { AirGapWallet } from 'airgap-coin-lib'
-import { ClipboardProvider } from '../../../providers/clipboard/clipboard'
-import { TranslateService } from '@ngx-translate/core'
-import { handleErrorLocal, ErrorCategory } from '../../../providers/error-handler/error-handler'
-
-@Component({
- template: `
-
- {{ 'wallet-edit-delete-popover.settings_label' | translate }}
-
-
- {{ 'wallet-edit-delete-popover.copy_label' | translate }}
-
-
-
- {{ 'wallet-edit-delete-popover.copy_sync_code' | translate }}
-
-
-
- {{ 'wallet-edit-delete-popover.account-removal_alert.delete_label' | translate }}
-
-
- `
-})
-export class WalletEditPopoverComponent {
- private wallet: AirGapWallet
- private onDelete: Function
- private walletShareUrl: string
-
- constructor(
- private alertCtrl: AlertController,
- private clipboardProvider: ClipboardProvider,
- private toastController: ToastController,
- private navParams: NavParams,
- private secretsProvider: SecretsProvider,
- private viewCtrl: ViewController,
- private translateService: TranslateService
- ) {
- this.wallet = this.navParams.get('wallet')
- this.onDelete = this.navParams.get('onDelete')
- this.walletShareUrl = this.navParams.get('walletShareUrl')
- }
-
- async copyAddressToClipboard() {
- await this.clipboardProvider.copyAndShowToast(
- this.wallet.receivingPublicAddress,
- this.translateService.instant('wallet-edit-delete-popover.confirm_address_copy')
- )
-
- await this.viewCtrl.dismiss()
- }
-
- async copyShareUrlToClipboard() {
- await this.clipboardProvider.copyAndShowToast(
- this.walletShareUrl,
- this.translateService.instant('wallet-edit-delete-popover.confirm_sync_code_copy')
- )
-
- await this.viewCtrl.dismiss()
- }
-
- delete() {
- this.translateService
- .get([
- 'wallet-edit-delete-popover.account-removal_alert.title',
- 'wallet-edit-delete-popover.account-removal_alert.text',
- 'wallet-edit-delete-popover.account-removal_alert.cancel_label',
- 'wallet-edit-delete-popover.account-removal_alert.delete_label'
- ])
- .subscribe(values => {
- let title = values['wallet-edit-delete-popover.account-removal_alert.title']
- let message = values['wallet-edit-delete-popover.account-removal_alert.text']
- let text1 = values['wallet-edit-delete-popover.account-removal_alert.cancel_label']
- let text2 = values['wallet-edit-delete-popover.account-removal_alert.delete_label']
- let alert = this.alertCtrl.create({
- title: title,
- message: message,
- buttons: [
- {
- text: text1,
- role: 'cancel',
- handler: () => {
- this.viewCtrl.dismiss().catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- }
- },
- {
- text: text2,
- handler: () => {
- alert.present().catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- this.secretsProvider
- .removeWallet(this.wallet)
- .then(() => {
- this.viewCtrl.dismiss().catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- if (this.onDelete) {
- this.onDelete()
- }
- })
- .catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- }
- }
- ]
- })
- alert.present().catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- })
- }
-}
diff --git a/src/pages/wallet-select-coins/wallet-select-coins.html b/src/pages/wallet-select-coins/wallet-select-coins.html
deleted file mode 100644
index eef6ecbc..00000000
--- a/src/pages/wallet-select-coins/wallet-select-coins.html
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
- {{ 'wallet-select-coins.title' | translate }}
-
-
-
-
-
-
-
-
-
-
- {{ 'wallet-select-coins.text' | translate }}
-
-
-
- {{ protocol.name }}
-
-
-
-
-
-
- {{ 'wallet-select-coins.select-type.label' | translate }}
-
- {{ 'wallet-select-coins.select-type.single-address_label' | translate }}
- {{ 'wallet-select-coins.select-type.hd-wallet_label' | translate }}
-
-
-
-
-
- {{ 'wallet-select-coins.advanced_label' | translate }}
-
-
-
-
- {{ 'wallet-select-coins.custom-path.label' | translate }}
-
-
-
-
-
-
-
-
-
-
-
- {{ 'wallet-select-coins.create_label' | translate }}
-
-
-
-
diff --git a/src/pages/wallet-select-coins/wallet-select-coins.module.ts b/src/pages/wallet-select-coins/wallet-select-coins.module.ts
deleted file mode 100644
index 48b40640..00000000
--- a/src/pages/wallet-select-coins/wallet-select-coins.module.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { WalletSelectCoinsPage } from './wallet-select-coins'
-import { ComponentsModule } from '../../components/components.module'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [WalletSelectCoinsPage],
- imports: [ComponentsModule, IonicPageModule.forChild(WalletSelectCoinsPage), TranslateModule]
-})
-export class WalletSelectCoinsPageModule {}
diff --git a/src/pages/wallet-select-coins/wallet-select-coins.scss b/src/pages/wallet-select-coins/wallet-select-coins.scss
deleted file mode 100644
index fe22fdac..00000000
--- a/src/pages/wallet-select-coins/wallet-select-coins.scss
+++ /dev/null
@@ -1,12 +0,0 @@
-page-wallet-select-coins {
- .checkbox-md .checkbox-icon {
- border-color: color($colors, white);
- background-color: color($colors, secondary);
- }
- .item.item-md .checkbox-md[item-right],
- .item.item-md .checkbox-md[item-end],
- .item.item-ios .checkbox-ios[item-right],
- .item.item-ios .checkbox-ios[item-end] {
- margin-right: 0;
- }
-}
diff --git a/src/pages/wallet-select-coins/wallet-select-coins.spec.ts b/src/pages/wallet-select-coins/wallet-select-coins.spec.ts
deleted file mode 100644
index b537478d..00000000
--- a/src/pages/wallet-select-coins/wallet-select-coins.spec.ts
+++ /dev/null
@@ -1,110 +0,0 @@
-import 'jasmine'
-import { async, TestBed, ComponentFixture } from '@angular/core/testing'
-import { IonicModule, NavController, NavParams, Platform } from 'ionic-angular'
-import { WalletSelectCoinsPage } from './wallet-select-coins'
-import { StatusBar } from '@ionic-native/status-bar'
-import { SplashScreen } from '@ionic-native/splash-screen'
-
-import { PlatformMock, StatusBarMock, SplashScreenMock } from '../../../test-config/mocks-ionic'
-import { NavControllerMock, NavParamsMock } from 'ionic-mocks'
-
-import { ComponentsModule } from '../../components/components.module'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { SecureStorageService } from '../../providers/storage/secure-storage'
-import { SecureStorageFactory } from '../../providers/storage/secure-storage.factory'
-import { IonicStorageModule } from '@ionic/storage'
-import { By } from '@angular/platform-browser'
-import { TranslateModule, TranslateService } from '@ngx-translate/core'
-import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'
-import { HttpClient } from '@angular/common/http'
-
-describe('Wallet-Select-Coin Component', () => {
- let fixture: ComponentFixture
- let component: WalletSelectCoinsPage
- let translate: TranslateService
- let http: HttpTestingController
-
- beforeEach(async(() => {
- TestBed.configureTestingModule({
- declarations: [WalletSelectCoinsPage],
- imports: [
- IonicModule.forRoot(WalletSelectCoinsPage),
- ComponentsModule,
- IonicStorageModule.forRoot({
- name: '__airgap_storage',
- driverOrder: ['localstorage']
- }),
- HttpClientTestingModule,
- TranslateModule.forRoot()
- ],
- providers: [
- SecretsProvider,
- {
- provide: SecureStorageService,
- useFactory: SecureStorageFactory,
- deps: [Platform]
- },
- { provide: NavController, useClass: NavControllerMock },
- { provide: NavParams, useClass: NavParamsMock },
- { provide: StatusBar, useClass: StatusBarMock },
- { provide: SplashScreen, useClass: SplashScreenMock },
- { provide: Platform, useClass: PlatformMock },
- TranslateService
- ]
- })
- .compileComponents()
- .then(() => {
- fixture = TestBed.createComponent(WalletSelectCoinsPage)
- component = fixture.componentInstance
- })
- }))
-
- it('should be created', () => {
- expect(component instanceof WalletSelectCoinsPage).toBe(true)
- })
-
- it('should not define a protocol by default', () => {
- expect(component.selectedProtocol).toBeUndefined()
- expect(fixture.debugElement.query(By.css('#wallet-type-selector')))
- })
-
- /*
- it('should not show hd-wallet dropdown if currency does not support it', async(() => {
- fixture.detectChanges()
-
- let el = fixture.debugElement.nativeElement
- let ethereumRadio = el.querySelector('#eth')
-
- // click on ethereum
- ethereumRadio.click()
-
- fixture.whenStable().then(() => {
- console.log(fixture.componentInstance.selectedProtocol)
-
- expect(fixture.componentInstance.selectedProtocol).toBeDefined()
- expect(fixture.componentInstance.selectedProtocol.identifier).toEqual('eth')
-
- // eth should not show hd wallets
- let hdWalletSelector = el.querySelector('#wallet-type-selector')
- expect(hdWalletSelector).toBeFalsy()
- })
- }))
-
- it('should show hd-wallet dropdown if currency supports it', () => {
- fixture.detectChanges()
-
- let el = fixture.debugElement.nativeElement
- let btcRadio = el.querySelector('#btc')
-
- // click on ethereum
- btcRadio.click()
-
- expect(component.selectedProtocol).toBeDefined()
- expect(component.selectedProtocol.identifier).toEqual('btc')
-
- // eth should not show hd wallets
- let hdWalletSelector = el.querySelector('#wallet-type-selector')
- expect(hdWalletSelector).toBeTruthy()
- })
- */
-})
diff --git a/src/pages/wallet-select-coins/wallet-select-coins.ts b/src/pages/wallet-select-coins/wallet-select-coins.ts
deleted file mode 100644
index b49e0e10..00000000
--- a/src/pages/wallet-select-coins/wallet-select-coins.ts
+++ /dev/null
@@ -1,74 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams, LoadingController, App } from 'ionic-angular'
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { Storage } from '@ionic/storage'
-import { LocalAuthenticationOnboardingPage } from '../local-authentication-onboarding/local-authentication-onboarding'
-import { ICoinProtocol, supportedProtocols, getProtocolByIdentifier } from 'airgap-coin-lib'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-wallet-select-coins',
- templateUrl: 'wallet-select-coins.html'
-})
-export class WalletSelectCoinsPage {
- selectedProtocol: ICoinProtocol
- customDerivationPath: string
- coinProtocols: ICoinProtocol[]
- isHDWallet: boolean = false
- isAdvancedMode: boolean = false
-
- constructor(
- public loadingCtrl: LoadingController,
- public navCtrl: NavController,
- public navParams: NavParams,
- private secretsProvider: SecretsProvider,
- private storage: Storage,
- private app: App
- ) {
- this.coinProtocols = supportedProtocols()
- try {
- this.selectedProtocol = getProtocolByIdentifier(this.navParams.get('protocol'))
- } catch (error) {}
- }
-
- ionViewDidLoad() {
- console.log('ionViewDidLoad WalletSelectCoinsPage')
- }
-
- onSelectedProtocolChange(selectedProtocol) {
- this.selectedProtocol = selectedProtocol
- this.isHDWallet = this.selectedProtocol.supportsHD
- this.customDerivationPath = this.selectedProtocol.standardDerivationPath
- }
-
- onIsHDWalletChange(isHDWallet) {
- this.isHDWallet = isHDWallet
- if (isHDWallet) {
- this.customDerivationPath = this.selectedProtocol.standardDerivationPath
- } else {
- this.customDerivationPath = `${this.selectedProtocol.standardDerivationPath}/0/1`
- }
- }
-
- async addWallet() {
- const value = await this.storage.get('DISCLAIMER_HIDE_LOCAL_AUTH_ONBOARDING')
- if (!value) {
- this.navCtrl
- .push(LocalAuthenticationOnboardingPage, {
- protocolIdentifier: this.selectedProtocol.identifier,
- isHDWallet: this.isHDWallet,
- customDerivationPath: this.customDerivationPath
- })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- return
- }
- await this.secretsProvider.addWallet(this.selectedProtocol.identifier, this.isHDWallet, this.customDerivationPath)
- await this.navCtrl.popToRoot()
-
- // navigate to wallets tab after initial derivation
- if (this.app.getActiveNavs().length > 0) {
- ;(this.app.getActiveNavs()[0] as any).parent.select(0)
- }
- }
-}
diff --git a/src/pages/wallet-share/wallet-share.html b/src/pages/wallet-share/wallet-share.html
deleted file mode 100644
index a7e61ccf..00000000
--- a/src/pages/wallet-share/wallet-share.html
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
- {{ 'wallet-share.title' | translate }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ 'wallet-share.done_label' | translate }}
-
-
-
diff --git a/src/pages/wallet-share/wallet-share.module.ts b/src/pages/wallet-share/wallet-share.module.ts
deleted file mode 100644
index 7ce99a34..00000000
--- a/src/pages/wallet-share/wallet-share.module.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule } from 'ionic-angular'
-import { WalletSharePage } from './wallet-share'
-import { ComponentsModule } from '../../components/components.module'
-import { QRCodeModule } from 'angularx-qrcode'
-import { MaterialIconsModule } from 'ionic2-material-icons'
-import { TranslateModule } from '@ngx-translate/core'
-import { ShareUrlProvider } from '../../providers/share-url/share-url'
-
-@NgModule({
- declarations: [WalletSharePage],
- imports: [ComponentsModule, QRCodeModule, MaterialIconsModule, IonicPageModule.forChild(WalletSharePage), TranslateModule],
- entryComponents: [WalletSharePage],
- providers: [ShareUrlProvider]
-})
-export class WalletSharePageModule {}
diff --git a/src/pages/wallet-share/wallet-share.ts b/src/pages/wallet-share/wallet-share.ts
deleted file mode 100644
index d5ae4553..00000000
--- a/src/pages/wallet-share/wallet-share.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavController, NavParams } from 'ionic-angular'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-@IonicPage()
-@Component({
- selector: 'page-wallet-share',
- templateUrl: 'wallet-share.html'
-})
-export class WalletSharePage {
- public interactionUrl: string
-
- constructor(private navController: NavController, private navParams: NavParams) {
- this.interactionUrl = this.navParams.get('interactionUrl')
- }
-
- done() {
- this.navController.popToRoot().catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-}
diff --git a/src/pages/warnings-modal/warnings-modal.html b/src/pages/warnings-modal/warnings-modal.html
deleted file mode 100644
index 459660da..00000000
--- a/src/pages/warnings-modal/warnings-modal.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
- {{ title }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ buttonText }}
-
-
-
diff --git a/src/pages/warnings-modal/warnings-modal.module.ts b/src/pages/warnings-modal/warnings-modal.module.ts
deleted file mode 100644
index 565f5e31..00000000
--- a/src/pages/warnings-modal/warnings-modal.module.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { NgModule } from '@angular/core'
-import { IonicPageModule, Platform } from 'ionic-angular'
-import { WarningsModalPage } from './warnings-modal'
-import { SecureStorageService } from '../../providers/storage/secure-storage'
-import { SecureStorageFactory } from '../../providers/storage/secure-storage.factory'
-import { IonicStorageModule } from '@ionic/storage'
-import { TranslateModule } from '@ngx-translate/core'
-
-@NgModule({
- declarations: [WarningsModalPage],
- imports: [IonicPageModule.forChild(WarningsModalPage), IonicStorageModule, TranslateModule],
- entryComponents: [WarningsModalPage],
- providers: [
- Platform,
- {
- provide: SecureStorageService,
- useFactory: SecureStorageFactory,
- deps: [Platform]
- }
- ]
-})
-export class WarningsModalPageModule {}
diff --git a/src/pages/warnings-modal/warnings-modal.scss b/src/pages/warnings-modal/warnings-modal.scss
deleted file mode 100644
index a95f5b91..00000000
--- a/src/pages/warnings-modal/warnings-modal.scss
+++ /dev/null
@@ -1,8 +0,0 @@
-page-warnings-modal {
- .warning-img {
- width: 100%;
- }
- ul {
- padding: 0;
- }
-}
diff --git a/src/pages/warnings-modal/warnings-modal.ts b/src/pages/warnings-modal/warnings-modal.ts
deleted file mode 100644
index 43ae5f55..00000000
--- a/src/pages/warnings-modal/warnings-modal.ts
+++ /dev/null
@@ -1,129 +0,0 @@
-import { Component } from '@angular/core'
-import { IonicPage, NavParams, Platform, ViewController } from 'ionic-angular'
-import { SecureStorageService } from '../../providers/storage/secure-storage'
-import { Storage } from '@ionic/storage'
-import { TranslateService } from '@ngx-translate/core'
-import { handleErrorLocal, ErrorCategory } from '../../providers/error-handler/error-handler'
-
-export enum Warning {
- SECURE_STORAGE,
- ROOT,
- SCREENSHOT,
- NETWORK,
- INITIAL_DISCLAIMER
-}
-
-@IonicPage()
-@Component({
- selector: 'page-warnings-modal',
- templateUrl: 'warnings-modal.html'
-})
-export class WarningsModalPage {
- private errorType: Warning
-
- public title: string
- public description: string
- public imageUrl: string
- public handler: Function
- public buttonText: string = 'Ok'
-
- constructor(
- public navParams: NavParams,
- private secureStorage: SecureStorageService,
- private platform: Platform,
- private viewCtrl: ViewController,
- private storage: Storage,
- private translateService: TranslateService
- ) {
- this.errorType = navParams.get('errorType')
- }
-
- ngAfterViewInit() {
- if (this.errorType === Warning.ROOT) {
- this.title = 'Your device is rooted'
- this.description =
- 'It seems like you have rooted your device. While we think this is neat, it weakens the security of your device significantly and we multiple mechanisms of AirGap can be circumvented by other apps. Therefore, AirGap is not able to run on this device.'
- this.imageUrl = './assets/img/root_detection.svg'
- this.handler = () => {
- this.platform.exitApp()
- }
- }
-
- if (this.errorType === Warning.SCREENSHOT) {
- this.title = 'Screenshot detected'
- this.description =
- 'Looks like you just took a screenshot. Make sure that you never take a screenshot you might expose your secret key.'
- this.imageUrl = './assets/img/screenshot_detected.svg'
- this.handler = () => {
- this.platform.exitApp()
- }
- }
-
- if (this.errorType === Warning.SECURE_STORAGE) {
- this.title = 'Device Unsecure'
- this.description =
- 'Your lockscreen needs to be setup in order to properly encrypt and protect your secrets. After securing your device, please close and restart AirGap.'
- this.imageUrl = './assets/img/screenshot_detected.svg'
- this.buttonText = 'Secure Device'
- this.handler = () => {
- this.secureStorage.secureDevice().catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- }
- }
-
- if (this.errorType === Warning.NETWORK) {
- this.title = 'Network Connection detected'
- this.description =
- 'Looks like you have connected this device to a network. The AirGap App has no network priviledges but it is best to disconnect the device entierly from any network.'
- this.imageUrl = './assets/img/network_connection.svg'
- this.handler = () => {
- this.platform.exitApp()
- }
- }
-
- if (this.errorType === Warning.INITIAL_DISCLAIMER) {
- this.translateService
- .get([
- 'warnings-modal.disclaimer.title',
- 'warnings-modal.disclaimer.text',
- 'warnings-modal.disclaimer.disclaimer-list.text',
- 'warnings-modal.disclaimer.disclaimer-list.item-1_text',
- 'warnings-modal.disclaimer.disclaimer-list.item-2_text',
- 'warnings-modal.disclaimer.description',
- 'warnings-modal.disclaimer.understood_label'
- ])
- .subscribe(values => {
- let title: string = values['warnings-modal.disclaimer.title']
- let text: string = values['warnings-modal.disclaimer.text']
- let list_text: string = values['warnings-modal.disclaimer.disclaimer-list.text']
- let list_item1_text: string = values['warnings-modal.disclaimer.disclaimer-list.item-1_text']
- let list_item2_text: string = values['warnings-modal.disclaimer.disclaimer-list.item-2_text']
- let description_text: string = values['warnings-modal.disclaimer.description']
- let label: string = values['warnings-modal.disclaimer.understood_label']
- this.title = title
- this.description =
- '' +
- text +
- '
' +
- list_text +
- '
' +
- list_item1_text +
- ' ' +
- list_item2_text +
- ' ' +
- description_text +
- '
'
-
- this.imageUrl = null
- this.buttonText = label
- this.handler = () => {
- this.storage
- .set('DISCLAIMER_INITIAL', true)
- .then(() => {
- this.viewCtrl.dismiss().catch(handleErrorLocal(ErrorCategory.IONIC_MODAL))
- })
- .catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- }
- })
- }
- }
-}
diff --git a/src/polyfills.ts b/src/polyfills.ts
new file mode 100644
index 00000000..afca7e7d
--- /dev/null
+++ b/src/polyfills.ts
@@ -0,0 +1,65 @@
+/**
+ * This file includes polyfills needed by Angular and is loaded before the app.
+ * You can add your own extra polyfills to this file.
+ *
+ * This file is divided into 2 sections:
+ * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
+ * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
+ * file.
+ *
+ * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
+ * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
+ * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
+ *
+ * Learn more in https://angular.io/guide/browser-support
+ */
+
+/***************************************************************************************************
+ * BROWSER POLYFILLS
+ */
+
+/** IE10 and IE11 requires the following for NgClass support on SVG elements */
+// import 'classlist.js'; // Run `npm install --save classlist.js`.
+
+/**
+ * Web Animations `@angular/platform-browser/animations`
+ * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari.
+ * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0).
+ */
+// import 'web-animations-js'; // Run `npm install --save web-animations-js`.
+
+/**
+ * By default, zone.js will patch all possible macroTask and DomEvents
+ * user can disable parts of macroTask/DomEvents patch by setting following flags
+ * because those flags need to be set before `zone.js` being loaded, and webpack
+ * will put import in the top of bundle, so user need to create a separate file
+ * in this directory (for example: zone-flags.ts), and put the following flags
+ * into that file, and then add the following code before importing zone.js.
+ * import './zone-flags.ts';
+ *
+ * The flags allowed in zone-flags.ts are listed here.
+ *
+ * The following flags will work for all browsers.
+ *
+ * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame
+ * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick
+ * (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames
+ *
+ * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js
+ * with the following flag, it will bypass `zone.js` patch for IE/Edge
+ *
+ * (window as any).__Zone_enable_cross_context_check = true;
+ *
+ */
+
+import './zone-flags.ts'
+
+/***************************************************************************************************
+ * Zone JS is required by default for Angular itself.
+ */
+
+import 'zone.js/dist/zone' // Included with Angular CLI.
+
+/***************************************************************************************************
+ * APPLICATION IMPORTS
+ */
diff --git a/src/providers/audio/audio.browser.service.ts b/src/providers/audio/audio.browser.service.ts
deleted file mode 100644
index 1cc61380..00000000
--- a/src/providers/audio/audio.browser.service.ts
+++ /dev/null
@@ -1,100 +0,0 @@
-import { Injectable } from '@angular/core'
-import { Entropy, IEntropyGenerator } from '../entropy/IEntropyGenerator'
-import { Observable } from 'rxjs'
-
-import workerJS from '../../assets/workers/entropyCalculatorWorker'
-const blobURL = window.URL.createObjectURL(new Blob([workerJS]))
-const entropyCalculatorWorker = new Worker(blobURL)
-
-@Injectable()
-export class AudioBrowserService implements IEntropyGenerator {
- private ENTROPY_SIZE = 4096
-
- private handler
-
- private entropyObservable: Observable
-
- private collectedEntropyPercentage: number = 0
-
- private microphoneStreamSource
- private scriptProcessor
-
- constructor() {
- this.entropyObservable = Observable.create(observer => {
- entropyCalculatorWorker.onmessage = event => {
- this.collectedEntropyPercentage += event.data.entropyMeasure
- observer.next({
- entropyHex: event.data.entropyHex
- })
- }
- this.handler = event => {
- const data = event.inputBuffer.getChannelData(0)
- let buffer1 = this.arrayBufferFromIntArray(data)
- entropyCalculatorWorker.postMessage({ entropyBuffer: buffer1 }, [buffer1])
- }
- })
-
- // polyfill getUserMedia
- navigator.getUserMedia =
- (navigator as any).getUserMedia ||
- (navigator as any).webkitGetUserMedia ||
- (navigator as any).mozGetUserMedia ||
- (navigator as any).msGetUserMedia
- }
-
- start(): Promise {
- this.collectedEntropyPercentage = 0
- return new Promise(resolve => {
- navigator.getUserMedia(
- { video: false, audio: true },
- stream => {
- const audioContext = new AudioContext()
- const microphoneStreamSource = audioContext.createMediaStreamSource(stream)
- const scriptProcessor = audioContext.createScriptProcessor(this.ENTROPY_SIZE, 1, 1)
- scriptProcessor.onaudioprocess = event => {
- this.handler(event)
- }
- microphoneStreamSource.connect(scriptProcessor)
- scriptProcessor.connect(audioContext.destination)
- resolve()
- },
- err => {
- console.log('error in audio.browser.service:', err)
- resolve()
- }
- )
- })
- }
-
- stop(): Promise {
- return new Promise(resolve => {
- if (this.microphoneStreamSource) {
- this.microphoneStreamSource.stop()
- this.microphoneStreamSource.disconnect()
- }
- if (this.scriptProcessor) {
- this.scriptProcessor.stop()
- this.scriptProcessor.disconnect()
- }
- resolve()
- })
- }
-
- getEntropyUpdateObservable(): Observable {
- return this.entropyObservable
- }
-
- private arrayBufferFromIntArray(array: Float32Array) {
- const buffer = new ArrayBuffer(array.length)
- const bufView = new Float32Array(buffer)
-
- for (let i = 0; i < array.length; i++) {
- bufView[i] = array[i]
- }
- return buffer
- }
-
- getCollectedEntropyPercentage(): number {
- return this.collectedEntropyPercentage / 200
- }
-}
diff --git a/src/providers/audio/audio.factory.ts b/src/providers/audio/audio.factory.ts
deleted file mode 100644
index b93a472d..00000000
--- a/src/providers/audio/audio.factory.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { Platform } from 'ionic-angular'
-import { AudioBrowserService } from './audio.browser.service'
-import { AudioNativeService } from './audio.native.service'
-import { IEntropyGenerator } from '../entropy/IEntropyGenerator'
-import { PermissionsProvider } from '../permissions/permissions'
-
-export function AudioServiceFactory(platform: Platform, permissionsProvider: PermissionsProvider): IEntropyGenerator {
- if (platform.is('cordova')) {
- return new AudioNativeService(platform, permissionsProvider)
- } else {
- return new AudioBrowserService()
- }
-}
diff --git a/src/providers/audio/audio.native.service.ts b/src/providers/audio/audio.native.service.ts
deleted file mode 100644
index cb6afd5b..00000000
--- a/src/providers/audio/audio.native.service.ts
+++ /dev/null
@@ -1,89 +0,0 @@
-import { Injectable } from '@angular/core'
-import { Platform } from 'ionic-angular'
-import { Entropy, IEntropyGenerator } from '../entropy/IEntropyGenerator'
-import { Observable } from 'rxjs'
-
-declare var window: any
-
-import workerJS from '../../assets/workers/entropyCalculatorWorker'
-import { PermissionsProvider, PermissionStatus } from '../permissions/permissions'
-const blobURL = window.URL.createObjectURL(new Blob([workerJS]))
-const entropyCalculatorWorker = new Worker(blobURL)
-
-@Injectable()
-export class AudioNativeService implements IEntropyGenerator {
- private ENTROPY_SIZE = 4096
-
- private collectedEntropyPercentage: number = 0
-
- private handler
- private entropyObservable: Observable
-
- constructor(private platform: Platform, private permissionsProvider: PermissionsProvider) {
- this.entropyObservable = Observable.create(observer => {
- entropyCalculatorWorker.onmessage = event => {
- this.collectedEntropyPercentage += event.data.entropyMeasure
- observer.next({
- entropyHex: event.data.entropyHex
- })
- }
- this.handler = audioStream => {
- const buffer1 = this.arrayBufferFromIntArray(audioStream.data)
- entropyCalculatorWorker.postMessage(
- {
- entropyBuffer: buffer1
- },
- [buffer1]
- )
- }
- })
- }
-
- async start(): Promise {
- this.collectedEntropyPercentage = 0
- await this.platform.ready()
-
- const permissionStatus = await this.permissionsProvider.hasMicrophonePermission()
- if (permissionStatus !== PermissionStatus.GRANTED) {
- return
- }
-
- window.audioinput.start({
- bufferSize: this.ENTROPY_SIZE
- })
-
- setTimeout(() => {
- window.addEventListener('audioinput', this.handler)
- }, 1000)
-
- console.log('audioinput created.')
- }
-
- stop(): Promise {
- return new Promise(resolve => {
- console.log('removed audioinput listener')
- window.audioinput.stop()
- window.removeEventListener('audioinput', this.handler)
- resolve()
- })
- }
-
- getEntropyUpdateObservable(): Observable {
- return this.entropyObservable
- }
-
- private arrayBufferFromIntArray(array: number[]) {
- const buffer = new ArrayBuffer(array.length * 2)
- const bufView = new Uint8Array(buffer)
-
- for (let i = 0; i < array.length; i++) {
- bufView[i] = Math.abs(array[i] * 10000)
- }
-
- return buffer
- }
-
- getCollectedEntropyPercentage(): number {
- return this.collectedEntropyPercentage / 200
- }
-}
diff --git a/src/providers/camera/camera.browser.service.ts b/src/providers/camera/camera.browser.service.ts
deleted file mode 100644
index 2a9f5e65..00000000
--- a/src/providers/camera/camera.browser.service.ts
+++ /dev/null
@@ -1,128 +0,0 @@
-import { ElementRef, Injectable, ViewChild } from '@angular/core'
-import { Entropy, IEntropyGenerator } from '../entropy/IEntropyGenerator'
-import { Observable } from 'rxjs'
-
-import workerJS from '../../assets/workers/entropyCalculatorWorker'
-const blobURL = window.URL.createObjectURL(new Blob([workerJS]))
-const entropyCalculatorWorker = new Worker(blobURL)
-
-@Injectable()
-export class CameraBrowserService implements IEntropyGenerator {
- private VIDEO_FREQUENCY = 2000
-
- @ViewChild('cameraCanvas') public cameraCanvas: ElementRef
- canvasElement: HTMLCanvasElement
-
- private collectedEntropyPercentage: number = 0
-
- private handler: Function
- private entropyObservable: Observable
-
- private cameraInterval: number
-
- private videoElement: any
- private videoStream: any
-
- constructor() {
- this.entropyObservable = Observable.create(observer => {
- entropyCalculatorWorker.onmessage = event => {
- this.collectedEntropyPercentage += event.data.entropyMeasure
- observer.next({ entropyHex: event.data.entropyHex })
- }
- this.handler = buffer1 => {
- const uintArray = this.arrayBufferFromUint8Array(buffer1)
- entropyCalculatorWorker.postMessage(
- {
- entropyBuffer: uintArray
- },
- [uintArray]
- )
- }
- })
- }
-
- viewDidLeave() {
- // empty
- }
-
- viewWillEnter() {
- // empty
- }
-
- start(): Promise {
- return new Promise(resolve => {
- const constraints = {
- video: true,
- audio: true
- }
-
- this.collectedEntropyPercentage = 0
-
- const video = this.videoElement.nativeElement
-
- navigator.mediaDevices
- .getUserMedia(constraints)
- .then(stream => {
- this.videoStream = stream
- video.srcObject = stream
- video.play()
- resolve()
- })
- .catch(err => {
- console.log('error in camera.brower.service', err)
- resolve()
- })
-
- this.cameraInterval = window.setInterval(() => {
- if (video.videoWidth === 0) {
- return
- }
- let canvas = document.createElement('canvas')
-
- let context = canvas.getContext('2d')
-
- context.drawImage(video, 0, 0)
- let buffer = context.getImageData(0, 0, video.videoWidth, video.videoHeight).data
- this.handler(buffer)
- }, this.VIDEO_FREQUENCY / 5)
- })
- }
-
- stop(): Promise {
- if (this.cameraInterval) {
- clearInterval(this.cameraInterval)
- }
-
- try {
- this.videoStream.getTracks().forEach(function(track) {
- track.stop()
- })
- } catch (e) {
- console.log(e)
- }
- return Promise.resolve()
- }
-
- getEntropyUpdateObservable(): Observable {
- return this.entropyObservable
- }
-
- getCollectedEntropyPercentage(): number {
- return this.collectedEntropyPercentage
- }
-
- private arrayBufferFromUint8Array(uintArray: Uint8ClampedArray) {
- const buffer = new ArrayBuffer(uintArray.length)
- const bufView = new Uint8Array(buffer)
-
- for (let i = 0; i < uintArray.length; i++) {
- bufView[i] = uintArray[i]
- }
-
- return buffer
- }
-
- setVideoElement(element) {
- this.videoElement = element
- }
-}
diff --git a/src/providers/camera/camera.factory.ts b/src/providers/camera/camera.factory.ts
deleted file mode 100644
index 7d47b319..00000000
--- a/src/providers/camera/camera.factory.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import { Platform } from 'ionic-angular'
-import { CameraBrowserService } from './camera.browser.service'
-import { CameraNativeService } from './camera.native.service'
-import { CameraPreview } from '@ionic-native/camera-preview'
-import { RendererFactory2 } from '@angular/core'
-import { IEntropyGenerator } from '../entropy/IEntropyGenerator'
-import { PermissionsProvider } from '../permissions/permissions'
-
-export function CameraFactory(
- platform: Platform,
- cameraPreview: CameraPreview,
- rendererFactory: RendererFactory2,
- permissionsProvider: PermissionsProvider
-): IEntropyGenerator {
- if (platform.is('cordova')) {
- return new CameraNativeService(platform, cameraPreview, rendererFactory, permissionsProvider)
- } else {
- return new CameraBrowserService()
- }
-}
diff --git a/src/providers/camera/camera.native.service.ts b/src/providers/camera/camera.native.service.ts
deleted file mode 100644
index b7bc1b52..00000000
--- a/src/providers/camera/camera.native.service.ts
+++ /dev/null
@@ -1,239 +0,0 @@
-import { ElementRef, Injectable, Renderer2, RendererFactory2, ViewChild } from '@angular/core'
-import { CameraPreview } from '@ionic-native/camera-preview'
-import { Platform } from 'ionic-angular'
-import { Entropy, IEntropyGenerator } from '../entropy/IEntropyGenerator'
-import { Observable } from 'rxjs'
-
-import workerJS from '../../assets/workers/entropyCalculatorWorker'
-import { PermissionsProvider, PermissionStatus } from '../permissions/permissions'
-import { handleErrorLocal, ErrorCategory } from '../error-handler/error-handler'
-const blobURL = window.URL.createObjectURL(new Blob([workerJS]))
-const entropyCalculatorWorker = new Worker(blobURL)
-
-@Injectable()
-export class CameraNativeService implements IEntropyGenerator {
- private disabled = false
-
- private cameraIsRunning = false // Prevent multiple start/stops of camera
- private cameraIsTakingPhoto = false // Prevent stopping camera while picture is being taken
-
- // entropy settings
- private VIDEO_SIZE = 50
- private VIDEO_QUALITY = 100
- private VIDEO_FREQUENCY = 2000
-
- private renderer: Renderer2
-
- @ViewChild('cameraCanvas') public cameraCanvas: ElementRef
- canvasElement: HTMLCanvasElement
-
- private collectedEntropyPercentage: number = 0
-
- private handler: Function
- private entropyObservable: Observable
-
- private cameraInterval: number
-
- private cameraOptions: any
-
- constructor(
- private platform: Platform,
- private cameraPreview: CameraPreview,
- private rendererFactory: RendererFactory2,
- private permissionsProvider: PermissionsProvider
- ) {
- this.renderer = this.rendererFactory.createRenderer(null, null)
- this.entropyObservable = Observable.create(observer => {
- entropyCalculatorWorker.onmessage = event => {
- this.collectedEntropyPercentage += event.data.entropyMeasure
- observer.next({ entropyHex: event.data.entropyHex })
- }
-
- this.handler = base64ImagePayload => {
- const buffer1 = this.arrayBufferFromBase64(base64ImagePayload)
-
- entropyCalculatorWorker.postMessage(
- {
- entropyBuffer: buffer1
- },
- [buffer1]
- )
- }
- })
- }
-
- setCameraOptions(opts) {
- this.cameraOptions = opts
- }
-
- viewDidLeave() {
- this.disabled = true
- this.uninjectCSS()
- }
-
- viewWillEnter() {
- this.disabled = false
- }
-
- async start(): Promise {
- this.disabled = false
- this.collectedEntropyPercentage = 0
- await this.platform.ready()
-
- const permissionStatus = await this.permissionsProvider.hasCameraPermission()
- if (permissionStatus !== PermissionStatus.GRANTED) {
- return
- }
- return this.initCamera()
- }
-
- private initCamera(): Promise {
- console.log('initCamera')
-
- return new Promise(resolve => {
- this.cameraPreview
- .startCamera(
- Object.assign(
- {
- x: 0,
- y: 0,
- width: window.screen.width,
- height: window.screen.height,
- toBack: true,
- tapPhoto: false,
- previewDrag: false,
- disableExifHeaderStripping: true
- } as any,
- this.cameraOptions
- )
- )
- .then(() => {
- this.cameraIsRunning = true
- if (this.platform.is('ios')) {
- return this.cameraPreview.setFlashMode('off')
- }
- return Promise.resolve()
- })
- .then(
- () => {
- if (this.disabled) {
- console.log('not starting, disabled')
- if (this.cameraIsRunning) {
- this.stop().catch(handleErrorLocal(ErrorCategory.CORDOVA_PLUGIN))
- }
- return
- }
- console.log('camera started.')
-
- // inject css now
- this.injectCSS()
-
- // start camera interval
- this.cameraInterval = window.setInterval(() => {
- this.cameraIsTakingPhoto = true
- this.cameraPreview
- .takePicture({
- width: this.VIDEO_SIZE,
- height: this.VIDEO_SIZE,
- quality: this.VIDEO_QUALITY
- })
- .then(result => {
- this.cameraIsTakingPhoto = false
- if (this.handler) {
- this.handler(result)
- }
- })
- .catch(err => {
- if (err === 'Camera not started') {
- if (this.cameraInterval) {
- clearInterval(this.cameraInterval)
- }
- }
- })
- }, this.VIDEO_FREQUENCY)
-
- resolve()
- },
- error => {
- console.warn('startCamera error: ', error)
- if (error === 'Camera already started!') {
- this.stop()
- .then(() => {
- return this.initCamera()
- })
- .catch(handleErrorLocal(ErrorCategory.CORDOVA_PLUGIN))
- }
- }
- )
- })
- }
-
- stop(): Promise {
- if (!this.cameraIsRunning) {
- console.log('CAMERA ALREADY STOPPED, ABORTING')
- this.uninjectCSS()
- return Promise.reject(null)
- }
- // We need to delay the stopCamera call because it crashes on iOS
- // if it is called while taking a photo
- if (this.cameraIsTakingPhoto) {
- this.uninjectCSS()
- return new Promise(resolve => {
- setTimeout(() => {
- console.log('CAMERA IS TAKING PHOTO, DELAYING')
- resolve(this.stop())
- }, 200)
- })
- }
- this.uninjectCSS()
- if (this.cameraInterval) {
- clearInterval(this.cameraInterval)
- }
- return new Promise((_resolve, reject) => {
- this.cameraPreview.stopCamera().then(
- () => {
- this.cameraIsRunning = false
- console.log('camera stopped.')
- },
- error => {
- console.log('camera could not be stopped.')
- reject(error)
- }
- )
- })
- }
-
- getEntropyUpdateObservable(): Observable {
- return this.entropyObservable
- }
-
- private arrayBufferFromBase64(base64: string) {
- const raw = window.atob(base64)
- const buffer = new ArrayBuffer(raw.length * 2)
- const bufView = new Uint8Array(buffer)
-
- for (let i = 0; i < raw.length; i++) {
- bufView[i] = raw.charCodeAt(i)
- }
-
- return buffer
- }
-
- private injectCSS() {
- // inject css to html, body, .ion-app, ion-content
- this.renderer.addClass(document.body, 'transparent-bg')
- }
-
- private uninjectCSS() {
- // removes injected css
- this.renderer.removeClass(document.body, 'transparent-bg')
- }
-
- getCollectedEntropyPercentage(): number {
- return this.collectedEntropyPercentage / 10
- }
-
- setVideoElement(element): void {
- console.log('only used in browser', element)
- }
-}
diff --git a/src/providers/clipboard/clipboard.ts b/src/providers/clipboard/clipboard.ts
deleted file mode 100644
index 181c9dce..00000000
--- a/src/providers/clipboard/clipboard.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import { Injectable } from '@angular/core'
-import { Platform, ToastController } from 'ionic-angular'
-import { handleErrorLocal, ErrorCategory } from '../error-handler/error-handler'
-import { Clipboard } from '@ionic-native/clipboard'
-
-@Injectable()
-export class ClipboardProvider {
- constructor(
- private readonly platform: Platform,
- private readonly clipboard: Clipboard,
- private readonly toastController: ToastController
- ) {}
-
- async copy(text: string): Promise {
- if (this.platform.is('cordova')) {
- return this.clipboard.copy(text)
- } else {
- return (navigator as any).clipboard.writeText(text)
- }
- }
-
- async copyAndShowToast(text: string, toastMessage: string = 'Successfully copied to your clipboard!') {
- try {
- await this.copy(text)
- await this.showToast(toastMessage)
- } catch (err) {
- console.error('Failed to copy: ', err)
- }
- }
-
- async paste(): Promise {
- try {
- if (this.platform.is('cordova')) {
- return this.clipboard.paste()
- } else {
- return (navigator as any).clipboard.readText()
- }
- } catch (err) {
- console.error('Failed to copy: ', err)
- }
- }
-
- private async showToast(message: string) {
- let toast = this.toastController.create({
- message: message,
- duration: 1000,
- position: 'top',
- showCloseButton: true,
- closeButtonText: 'Ok'
- })
- toast.present().catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- }
-}
diff --git a/src/providers/deep-link/deep-link.ts b/src/providers/deep-link/deep-link.ts
deleted file mode 100644
index d720f217..00000000
--- a/src/providers/deep-link/deep-link.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-import { Injectable } from '@angular/core'
-import { Platform, AlertController } from 'ionic-angular'
-import { handleErrorLocal, ErrorCategory } from '../error-handler/error-handler'
-import { TranslateService } from '@ngx-translate/core'
-
-declare let window: any
-
-@Injectable()
-export class DeepLinkProvider {
- constructor(private platform: Platform, private alertCtrl: AlertController, private translateService: TranslateService) {}
-
- sameDeviceDeeplink(url: string = 'airgap-wallet://'): Promise {
- return new Promise((resolve, reject) => {
- let sApp
-
- if (this.platform.is('android')) {
- sApp = window.startApp.set({
- action: 'ACTION_VIEW',
- uri: url,
- flags: ['FLAG_ACTIVITY_NEW_TASK']
- })
- } else if (this.platform.is('ios')) {
- sApp = window.startApp.set(url)
- } else {
- this.showDeeplinkOnlyOnDevicesAlert()
- return reject()
- }
-
- sApp.start(
- () => {
- console.log('Deeplink called')
- resolve()
- },
- error => {
- console.error('deeplink used', url)
- console.error(error)
- this.showAppNotFoundAlert()
- return reject()
- }
- )
- })
- }
-
- showDeeplinkOnlyOnDevicesAlert() {
- this.translateService
- .get(['deep-link.not-supported-alert.title', 'deep-link.not-supported-alert.message', 'deep-link.not-supported-alert.ok'])
- .subscribe(translated => {
- let alert = this.alertCtrl.create({
- title: translated['deep-link.not-supported-alert.title'],
- message: translated['deep-link.not-supported-alert.message'],
- enableBackdropDismiss: false,
- buttons: [
- {
- text: translated['deep-link.not-supported-alert.ok'],
- role: 'cancel'
- }
- ]
- })
- alert.present().catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- })
- }
-
- showAppNotFoundAlert() {
- this.translateService
- .get(['deep-link.app-not-found.title', 'deep-link.app-not-found.message', 'deep-link.app-not-found.ok'], {
- otherAppName: 'AirGap Wallet'
- })
- .subscribe(translated => {
- let alert = this.alertCtrl.create({
- title: translated['deep-link.app-not-found.title'],
- message: translated['deep-link.app-not-found.message'],
- enableBackdropDismiss: false,
- buttons: [
- {
- text: translated['deep-link.app-not-found.ok'],
- role: 'cancel'
- }
- ]
- })
- alert.present().catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- })
- }
-}
diff --git a/src/providers/device/device.ts b/src/providers/device/device.ts
deleted file mode 100644
index ebf6d3f0..00000000
--- a/src/providers/device/device.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import { Injectable } from '@angular/core'
-import { Platform } from 'ionic-angular'
-
-declare var jailbreakdetection: any
-declare var rootdetection: any
-
-@Injectable()
-export class DeviceProvider {
- constructor(private platform: Platform) {}
-
- checkForRoot(): Promise {
- return new Promise((resolve, reject) => {
- if (this.platform.is('android') && this.platform.is('cordova')) {
- // TODO build own android root detection with https://github.com/scottyab/rootbeer
- rootdetection.isDeviceRooted(resolve, reject)
- } else if (this.platform.is('ios') && this.platform.is('cordova')) {
- jailbreakdetection.isJailbroken(resolve, reject)
- } else {
- console.warn('root detection skipped - no supported platform')
- resolve(false)
- }
- })
- }
-
- async checkForElectron() {
- return typeof navigator === 'object' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Electron') >= 0
- }
-}
diff --git a/src/providers/entropy/IEntropyGenerator.ts b/src/providers/entropy/IEntropyGenerator.ts
deleted file mode 100644
index a98ec7a2..00000000
--- a/src/providers/entropy/IEntropyGenerator.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Observable } from 'rxjs'
-
-export interface Entropy {
- entropyHex: string
-}
-
-export interface IEntropyGenerator {
- start(): Promise
- stop(): Promise
- getEntropyUpdateObservable(): Observable
- getCollectedEntropyPercentage(): number
-}
diff --git a/src/providers/entropy/dummy.entropy.service.ts b/src/providers/entropy/dummy.entropy.service.ts
deleted file mode 100644
index e8413fdd..00000000
--- a/src/providers/entropy/dummy.entropy.service.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { Injectable } from '@angular/core'
-import { Entropy, IEntropyGenerator } from '../entropy/IEntropyGenerator'
-import { Observable } from 'rxjs'
-
-@Injectable()
-export class DummyEntropyService implements IEntropyGenerator {
- start(): Promise {
- return Promise.resolve()
- }
-
- stop(): Promise {
- return Promise.resolve()
- }
-
- getEntropyUpdateObservable(): Observable {
- return new Observable(observer => {
- observer.next({
- entropyHex: ''
- })
- })
- }
-
- getCollectedEntropyPercentage(): number {
- return 0
- }
-}
diff --git a/src/providers/entropy/entropy.service.ts b/src/providers/entropy/entropy.service.ts
deleted file mode 100644
index 8e18d569..00000000
--- a/src/providers/entropy/entropy.service.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-import { Injectable } from '@angular/core'
-import { IEntropyGenerator } from './IEntropyGenerator'
-import { sha3_256 } from 'js-sha3'
-import { Observable, Subscription } from 'rxjs'
-import { Observer } from 'rxjs/Observer'
-
-import workerJS from '../../assets/workers/hashWorker'
-import { handleErrorLocal, ErrorCategory } from '../error-handler/error-handler'
-const blobURL = window.URL.createObjectURL(new Blob([workerJS]))
-const hashWorker = new Worker(blobURL)
-
-@Injectable()
-export class EntropyService {
- ENTROPY_SIZE = 4096
-
- entropyGenerators: IEntropyGenerator[] = []
- entropySubscriptions: Subscription[] = []
-
- private entropyUpdateObservable: Observable
- private entropyUpdateObserver: Observer
-
- constructor() {
- this.entropyUpdateObservable = Observable.create(observer => {
- this.entropyUpdateObserver = observer
- })
- }
-
- addEntropySource(entropyGenerator: IEntropyGenerator) {
- this.entropyGenerators.push(entropyGenerator)
- }
-
- getEntropyUpdateObservable(): Observable {
- return this.entropyUpdateObservable
- }
-
- startEntropyCollection(): Promise {
- const promises = []
- const secureRandomArray = new Uint8Array(this.ENTROPY_SIZE)
- window.crypto.getRandomValues(secureRandomArray)
-
- hashWorker.postMessage({ call: 'init', secureRandom: Array.from(secureRandomArray) })
-
- for (let generator of this.entropyGenerators) {
- promises.push(
- generator
- .start()
- .then(() => {
- let entropySubscription = generator.getEntropyUpdateObservable().subscribe(result => {
- try {
- hashWorker.postMessage({ entropyHex: result.entropyHex, call: 'update' })
- } catch (error) {
- console.warn(error)
- }
- if (this.entropyUpdateObserver) {
- this.entropyUpdateObserver.next(void 0)
- } else {
- console.warn('entropyUpdateObserver is undefined!')
- }
- })
- this.entropySubscriptions.push(entropySubscription)
- return
- })
- .catch(error => {
- console.warn('generator start error', error)
- })
- )
- }
- return Promise.all(promises)
- }
-
- stopEntropyCollection(): Promise {
- let promises = []
- return new Promise(resolve => {
- // clear collection interval
- for (let i = 0; i < this.entropySubscriptions.length; i++) {
- this.entropySubscriptions[i].unsubscribe()
- }
-
- this.entropySubscriptions = []
-
- // stop entropy sources
- for (let i = 0; i < this.entropyGenerators.length; i++) {
- console.log('stopping entropy source...')
- promises.push(this.entropyGenerators[i].stop())
- }
-
- this.entropyGenerators = []
-
- Promise.all(promises)
- .then(() => {
- resolve()
- })
- .catch(handleErrorLocal(ErrorCategory.ENTROPY_COLLECTION))
- })
- }
-
- getEntropyAsHex(): Promise {
- return new Promise(resolve => {
- hashWorker.onmessage = event => {
- const secureRandomArray = new Uint8Array(this.ENTROPY_SIZE)
- window.crypto.getRandomValues(secureRandomArray)
-
- const hash = sha3_256.create()
- hash.update(event.data.hash)
- hash.update(secureRandomArray)
-
- resolve(hash.hex())
- }
-
- hashWorker.postMessage({ call: 'digest' })
- })
- }
-}
diff --git a/src/providers/error-handler/error-handler.ts b/src/providers/error-handler/error-handler.ts
deleted file mode 100644
index 390f1418..00000000
--- a/src/providers/error-handler/error-handler.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { IonicErrorHandler } from 'ionic-angular'
-
-export enum ErrorCategory {
- CORDOVA_PLUGIN = 'cordova_plugin',
- IONIC_MODAL = 'ionic_modal',
- IONIC_ALERT = 'ionic_alert',
- IONIC_LOADER = 'ionic_loader',
- IONIC_NAVIGATION = 'navigation',
- WALLET_PROVIDER = 'wallet_provider',
- SCHEME_ROUTING = 'scheme_routing',
- SECURE_STORAGE = 'secure_storage',
- INIT_CHECK = 'init_check',
- ENTROPY_COLLECTION = 'entropy_collection',
- INTERACTION_PROVIDER = 'interaction_provider',
- DEEPLINK_PROVIDER = 'deeplink_provider',
- OTHER = 'other'
-}
-
-const handleErrorLocal = (category?: ErrorCategory) => {
- return error => {
- console.log('saving error locally, category', category)
- console.error(error.originalError || error)
- }
-}
-
-const handleErrorIgnore = error => {
- console.log('ignoring error')
- console.error(error.originalError || error)
-}
-
-export { handleErrorIgnore, handleErrorLocal }
-
-export class ErrorHandlerProvider extends IonicErrorHandler {
- handleError(error) {
- super.handleError(error)
- handleErrorLocal(error)
- }
-}
diff --git a/src/providers/gyroscope/gyroscope.factory.ts b/src/providers/gyroscope/gyroscope.factory.ts
deleted file mode 100644
index 0ae740ae..00000000
--- a/src/providers/gyroscope/gyroscope.factory.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { Platform } from 'ionic-angular'
-import { GyroscopeNativeService } from './gyroscope.native.service'
-import { IEntropyGenerator } from '../entropy/IEntropyGenerator'
-import { DeviceMotion } from '@ionic-native/device-motion'
-import { DummyEntropyService } from '../entropy/dummy.entropy.service'
-
-export interface GyroscopeService {}
-
-export function GyroscopeServiceFactory(platform: Platform, deviceMotion: DeviceMotion): IEntropyGenerator {
- if (platform.is('cordova')) {
- return new GyroscopeNativeService(platform, deviceMotion)
- } else {
- return new DummyEntropyService()
- }
-}
diff --git a/src/providers/gyroscope/gyroscope.native.service.ts b/src/providers/gyroscope/gyroscope.native.service.ts
deleted file mode 100644
index 6a0ed4d4..00000000
--- a/src/providers/gyroscope/gyroscope.native.service.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import { Injectable } from '@angular/core'
-import { Platform } from 'ionic-angular'
-import { Entropy, IEntropyGenerator } from '../entropy/IEntropyGenerator'
-import { DeviceMotion, DeviceMotionAccelerationData } from '@ionic-native/device-motion'
-import { GyroscopeService } from './gyroscope.factory'
-import { Observable, Subscription } from 'rxjs'
-
-import workerJS from '../../assets/workers/entropyCalculatorWorker'
-const blobURL = window.URL.createObjectURL(new Blob([workerJS]))
-const entropyCalculatorWorker = new Worker(blobURL)
-
-@Injectable()
-export class GyroscopeNativeService implements GyroscopeService, IEntropyGenerator {
- private collectedEntropyPercentage: number = 0
-
- private gyroSubscription: Subscription
-
- private entropyObservable: Observable
-
- constructor(private platform: Platform, private deviceMotion: DeviceMotion) {}
-
- public start(): Promise {
- this.collectedEntropyPercentage = 0
- return new Promise(async resolve => {
- await this.platform.ready()
- this.entropyObservable = new Observable(observer => {
- entropyCalculatorWorker.onmessage = event => {
- this.collectedEntropyPercentage += event.data.entropyMeasure
- observer.next({
- entropyHex: event.data.entropyHex
- })
- }
-
- this.gyroSubscription = this.deviceMotion
- .watchAcceleration({ frequency: 500 })
- .subscribe((acceleration: DeviceMotionAccelerationData) => {
- const entropyBuffer = this.arrayBufferFromIntArray([acceleration.x, acceleration.y, acceleration.z])
- entropyCalculatorWorker.postMessage({ entropyBuffer: entropyBuffer }, [entropyBuffer])
- })
- })
- resolve()
- })
- }
-
- public stop(): Promise {
- this.gyroSubscription.unsubscribe()
- return Promise.resolve()
- }
-
- getEntropyUpdateObservable(): Observable {
- return this.entropyObservable
- }
-
- private arrayBufferFromIntArray(array: number[]): ArrayBuffer {
- const buffer = new ArrayBuffer(array.length * 2)
- const bufView = new Uint8Array(buffer)
-
- for (let i = 0; i < array.length; i++) {
- bufView[i] = Math.abs(array[i] * 10000)
- }
-
- return buffer
- }
-
- getCollectedEntropyPercentage(): number {
- return this.collectedEntropyPercentage / 30
- }
-}
diff --git a/src/providers/interaction/interaction.ts b/src/providers/interaction/interaction.ts
deleted file mode 100644
index a93d5a9d..00000000
--- a/src/providers/interaction/interaction.ts
+++ /dev/null
@@ -1,119 +0,0 @@
-import { Injectable } from '@angular/core'
-import { Storage } from '@ionic/storage'
-import { NavController } from 'ionic-angular'
-import { ErrorCategory, handleErrorLocal } from '../error-handler/error-handler'
-import { InteractionSelectionPage } from '../../pages/interaction-selection/interaction-selection'
-import { DeepLinkProvider } from '../deep-link/deep-link'
-import { WalletSharePage } from '../../pages/wallet-share/wallet-share'
-import { TransactionSignedPage } from '../../pages/transaction-signed/transaction-signed'
-import { AirGapWallet, UnsignedTransaction } from 'airgap-coin-lib'
-import { Transaction } from '../../models/transaction.model'
-import { Secret } from '../../models/secret'
-
-export enum InteractionSetting {
- UNDETERMINED = 'undetermined',
- ALWAYS_ASK = 'always',
- SAME_DEVICE = 'same_device',
- OFFLINE_DEVICE = 'offline_device'
-}
-
-export enum InteractionCommunicationType {
- QR = 'qr',
- DEEPLINK = 'deeplink'
-}
-
-export enum InteractionOperationType {
- WALLET_SYNC = 'walletSync',
- TRANSACTION_BROADCAST = 'transactionBroadcast'
-}
-
-export interface IInteractionOptions {
- operationType: InteractionOperationType
- url: string
- communicationType?: InteractionCommunicationType
- signedTx?: string
- wallet?: AirGapWallet
- transaction?: UnsignedTransaction
-}
-
-@Injectable()
-export class InteractionProvider {
- constructor(private deepLinkProvider: DeepLinkProvider) { }
-
- public startInteraction(navCtrl: NavController, interactionOptions: IInteractionOptions, secret: Secret) {
- const interactionSetting = secret.interactionSetting
-
- if (interactionOptions.communicationType) {
- if (interactionSetting === InteractionSetting.UNDETERMINED) {
- this.goToInteractionSelectionSettingsPage(navCtrl, interactionOptions)
- }
- if (interactionOptions.communicationType === InteractionCommunicationType.DEEPLINK) {
- this.startDeeplink(interactionOptions.url, navCtrl)
- } else if (interactionOptions.communicationType === InteractionCommunicationType.QR) {
- this.navigateToPageByOperationType(navCtrl, interactionOptions)
- }
- } else {
- switch (interactionSetting) {
- case InteractionSetting.UNDETERMINED:
- this.goToInteractionSelectionPage(navCtrl, interactionOptions)
- break
- case InteractionSetting.ALWAYS_ASK:
- this.goToInteractionSelectionPage(navCtrl, interactionOptions)
- break
- case InteractionSetting.SAME_DEVICE:
- this.startDeeplink(interactionOptions.url, navCtrl)
- break
- case InteractionSetting.OFFLINE_DEVICE:
- this.navigateToPageByOperationType(navCtrl, interactionOptions)
- break
- }
- }
- }
-
- private goToInteractionSelectionPage(navCtrl: NavController, interactionOptions: IInteractionOptions) {
- navCtrl
- .push('InteractionSelectionPage', {
- interactionOptions: interactionOptions
- })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- private goToInteractionSelectionSettingsPage(navCtrl: NavController, interactionOptions: IInteractionOptions) {
- navCtrl
- .push('InteractionSelectionSettingsPage', {
- interactionOptions: interactionOptions
- })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
-
- private navigateToPageByOperationType(navCtrl: NavController, interactionOptions: IInteractionOptions) {
- // To ensure exhausting enum
- const assertNever = (arg: never): never => {
- throw 'INVALID_OPERATION_TYPE'
- }
-
- if (interactionOptions.operationType === InteractionOperationType.WALLET_SYNC) {
- navCtrl.push(WalletSharePage, { interactionUrl: interactionOptions.url }).catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- } else if (interactionOptions.operationType === InteractionOperationType.TRANSACTION_BROADCAST) {
- navCtrl
- .push(TransactionSignedPage, {
- interactionUrl: interactionOptions.url,
- wallet: interactionOptions.wallet,
- signedTx: interactionOptions.signedTx,
- transaction: interactionOptions.transaction
- })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- } else {
- return assertNever(interactionOptions.operationType)
- }
- }
-
- private startDeeplink(url: string, navController: NavController) {
- this.deepLinkProvider
- .sameDeviceDeeplink(url)
- .then(() => {
- navController.popToRoot().catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- })
- .catch(handleErrorLocal(ErrorCategory.DEEPLINK_PROVIDER))
- }
-}
diff --git a/src/providers/permissions/permissions.ts b/src/providers/permissions/permissions.ts
deleted file mode 100644
index 71501523..00000000
--- a/src/providers/permissions/permissions.ts
+++ /dev/null
@@ -1,147 +0,0 @@
-import { Injectable } from '@angular/core'
-import { Diagnostic } from '@ionic-native/diagnostic'
-import { Platform, AlertController } from 'ionic-angular'
-import { handleErrorLocal, ErrorCategory } from '../error-handler/error-handler'
-
-export enum PermissionStatus {
- GRANTED = 'GRANTED',
- NOT_REQUESTED = 'NOT_REQUESTED',
- DENIED_ALWAYS = 'DENIED_ALWAYS',
- DENIED = 'DENIED',
- UNKNOWN = 'UNKNOWN'
-}
-
-export enum PermissionTypes {
- CAMERA = 'CAMERA',
- MICROPHONE = 'MICROPHONE'
-}
-
-@Injectable()
-export class PermissionsProvider {
- constructor(private platform: Platform, private diagnostic: Diagnostic, private alertCtrl: AlertController) {}
-
- async hasCameraPermission(): Promise {
- const permission = await this.diagnostic.getCameraAuthorizationStatus(false)
- return this.getPermissionStatus(permission)
- }
-
- async hasMicrophonePermission(): Promise {
- const permission = await this.diagnostic.getMicrophoneAuthorizationStatus()
- return this.getPermissionStatus(permission)
- }
-
- async requestPermissions(permissions: PermissionTypes[]): Promise {
- if (this.platform.is('android')) {
- const permissionsToRequest = []
- if (permissions.indexOf(PermissionTypes.CAMERA) >= 0) {
- permissionsToRequest.push(this.diagnostic.permission.CAMERA)
- }
- if (permissions.indexOf(PermissionTypes.MICROPHONE) >= 0) {
- permissionsToRequest.push(this.diagnostic.permission.RECORD_AUDIO)
- }
- await this.diagnostic.requestRuntimePermissions(permissionsToRequest)
- } else if (this.platform.is('ios')) {
- if (permissions.indexOf(PermissionTypes.CAMERA) >= 0) {
- await this.diagnostic.requestCameraAuthorization(false)
- }
- if (permissions.indexOf(PermissionTypes.MICROPHONE) >= 0) {
- await this.diagnostic.requestMicrophoneAuthorization()
- }
- } else {
- }
- }
-
- /**
- * The user actively wants to give permissions. This means we first check if we
- * can ask him for the permissions natively, otherwise we show an alert with a
- * link to the settings.
- */
- async userRequestsPermissions(permissions: PermissionTypes[]) {
- let canRequestPermission = false
- for (const p of permissions) {
- canRequestPermission = (await this.canAskForPermission(p)) || canRequestPermission
- }
- if (canRequestPermission) {
- await this.requestPermissions(permissions)
- } else {
- this.showSettingsAlert()
- }
- }
-
- showSettingsAlert() {
- this.showAlert('Settings', 'You can enable the missing permissions in the device settings.')
- }
-
- private async canAskForPermission(permission: PermissionTypes): Promise {
- let canAskForPermission = true
- if (this.platform.is('android')) {
- if (permission === PermissionTypes.CAMERA) {
- let permissionStatus = await this.hasCameraPermission()
- canAskForPermission = !(permissionStatus === PermissionStatus.DENIED_ALWAYS)
- } else if (permission === PermissionTypes.MICROPHONE) {
- let permissionStatus = await this.hasMicrophonePermission()
- canAskForPermission = !(permissionStatus === PermissionStatus.DENIED_ALWAYS)
- }
- } else if (this.platform.is('ios')) {
- if (permission === PermissionTypes.CAMERA) {
- let permissionStatus = await this.hasCameraPermission()
- canAskForPermission = !(permissionStatus === PermissionStatus.DENIED)
- } else if (permission === PermissionTypes.MICROPHONE) {
- let permissionStatus = await this.hasMicrophonePermission()
- canAskForPermission = !(permissionStatus === PermissionStatus.DENIED)
- }
- }
- return canAskForPermission
- }
-
- private async getPermissionStatus(permission: string): Promise {
- if (this.isGranted(permission)) {
- return PermissionStatus.GRANTED
- } else if (this.isNotRequested(permission)) {
- return PermissionStatus.NOT_REQUESTED
- } else if (this.isDeniedAlways(permission)) {
- return PermissionStatus.DENIED_ALWAYS
- } else if (this.isDenied(permission)) {
- return PermissionStatus.DENIED
- } else {
- return PermissionStatus.UNKNOWN
- }
- }
-
- private showAlert(title: string, message: string) {
- const alert = this.alertCtrl.create({
- title,
- message,
- buttons: [
- {
- text: 'Cancel',
- role: 'cancel',
- handler: () => {}
- },
- {
- text: 'Open settings',
- handler: () => {
- this.diagnostic.switchToSettings().catch(handleErrorLocal(ErrorCategory.CORDOVA_PLUGIN))
- }
- }
- ]
- })
- alert.present().catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- }
-
- private isGranted(permission: string): boolean {
- return permission === this.diagnostic.permissionStatus.GRANTED || permission === this.diagnostic.permissionStatus.GRANTED_WHEN_IN_USE
- }
-
- private isNotRequested(permission: string): boolean {
- return permission === this.diagnostic.permissionStatus.NOT_REQUESTED
- }
-
- private isDeniedAlways(permission: string): boolean {
- return permission === this.diagnostic.permissionStatus.DENIED_ALWAYS || permission === this.diagnostic.permissionStatus.RESTRICTED
- }
-
- private isDenied(permission: string): boolean {
- return !(this.isGranted(permission) || this.isNotRequested(permission))
- }
-}
diff --git a/src/providers/protocols/protocols.ts b/src/providers/protocols/protocols.ts
deleted file mode 100644
index 7b512338..00000000
--- a/src/providers/protocols/protocols.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-import { Injectable } from '@angular/core'
-import { GenericERC20, addSubProtocol, TezosKtProtocol, GenericERC20Configuration } from 'airgap-coin-lib'
-import { addSupportedProtocol } from 'airgap-coin-lib/dist/utils/supportedProtocols'
-import { AeternityERC20Token } from 'airgap-coin-lib/dist/protocols/ethereum/erc20/AeToken'
-
-import { tokens } from './tokens'
-
-interface SubProtocolInfo {
- symbol: string
- name: string
- marketSymbol: string
-
- identifier: string
- data: [string]
-}
-
-interface SubAccount {
- protocol: string
- subProtocols: GenericERC20Configuration[]
-}
-
-@Injectable()
-export class ProtocolsProvider {
- public subProtocols: SubAccount[] = [
- {
- protocol: 'eth',
- subProtocols: [
- {
- symbol: 'AE-ERC20',
- name: 'æternity Ethereum Token',
- marketSymbol: 'ae',
- identifier: 'eth-erc20-ae',
- contractAddress: '0x5ca9a71b1d01849c0a95490cc00559717fcf0d1d',
- decimals: 18
- }
- ]
- }
- ]
-
- constructor() {
- /* */
- }
-
- addProtocols() {
- addSupportedProtocol(AeternityERC20Token)
- addSubProtocol('xtz', new TezosKtProtocol())
-
- this.subProtocols.forEach(supportedSubAccount => {
- supportedSubAccount.subProtocols.forEach(subProtocol => {
- addSubProtocol(
- supportedSubAccount.protocol,
- new GenericERC20({
- symbol: subProtocol.symbol,
- name: subProtocol.name,
- marketSymbol: subProtocol.marketSymbol,
- identifier: subProtocol.identifier,
- contractAddress: subProtocol.contractAddress,
- decimals: subProtocol.decimals
- })
- )
- })
- })
-
- tokens.forEach(token => {
- addSubProtocol(
- 'eth',
- new GenericERC20({
- symbol: token.symbol,
- name: token.name,
- marketSymbol: token.marketSymbol,
- identifier: token.identifier,
- contractAddress: token.contractAddress,
- decimals: token.decimals
- })
- )
- })
- }
-}
diff --git a/src/providers/protocols/tokens.ts b/src/providers/protocols/tokens.ts
deleted file mode 100644
index c9e10f1c..00000000
--- a/src/providers/protocols/tokens.ts
+++ /dev/null
@@ -1,9618 +0,0 @@
-export const tokens = [
- {
- symbol: '$FFC',
- name: '$Fluzcoin',
- marketSymbol: '$ffc',
- identifier: 'eth-erc20-$ffc',
- contractAddress: '0x4E84E9e5fb0A972628Cf4568c403167EF1D40431',
- decimals: 18
- },
- {
- symbol: '$FXY',
- name: '$FIXY NETWORK',
- marketSymbol: '$fxy',
- identifier: 'eth-erc20-$fxy',
- contractAddress: '0xA024E8057EEC474a9b2356833707Dd0579E26eF3',
- decimals: 18
- },
- {
- symbol: '$HUR',
- name: '$Hurify Token',
- marketSymbol: '$hur',
- identifier: 'eth-erc20-$hur',
- contractAddress: '0xCDB7eCFd3403Eef3882c65B761ef9B5054890a47',
- decimals: 18
- },
- {
- symbol: '$TEAK',
- name: '$TEAK',
- marketSymbol: '$teak',
- identifier: 'eth-erc20-$teak',
- contractAddress: '0x7DD7F56D697Cc0f2b52bD55C057f378F1fE6Ab4b',
- decimals: 18
- },
- {
- symbol: '0xBTC',
- name: '0xBitcoin',
- marketSymbol: '0xbtc',
- identifier: 'eth-erc20-0xbtc',
- contractAddress: '0xB6eD7644C69416d67B522e20bC294A9a9B405B31',
- decimals: 8
- },
- {
- symbol: '1SG',
- name: '1SG',
- marketSymbol: '1sg',
- identifier: 'eth-erc20-1sg',
- contractAddress: '0x0F72714B35a366285Df85886A2eE174601292A17',
- decimals: 18
- },
- {
- symbol: '1ST',
- name: 'FirstBlood',
- marketSymbol: '1st',
- identifier: 'eth-erc20-1st',
- contractAddress: '0xAf30D2a7E90d7DC361c8C4585e9BB7D2F6f15bc7',
- decimals: 18
- },
- {
- symbol: '1WO',
- name: '1World',
- marketSymbol: '1wo',
- identifier: 'eth-erc20-1wo',
- contractAddress: '0xfDBc1aDc26F0F8f8606a5d63b7D3a3CD21c22B23',
- decimals: 8
- },
- {
- symbol: '22x',
- name: '22x Fund',
- marketSymbol: '22x',
- identifier: 'eth-erc20-22x',
- contractAddress: '0x0073e5E52E2B4fE218D75d994eE2B3c82f9C87EA',
- decimals: 8
- },
- {
- symbol: '2DC',
- name: 'DualChain',
- marketSymbol: '2dc',
- identifier: 'eth-erc20-2dc',
- contractAddress: '0x9fC0583220eB44fAeE9e2dc1E63F39204DDD9090',
- decimals: 18
- },
- {
- symbol: '300',
- name: '300 Token Sparta',
- marketSymbol: '300',
- identifier: 'eth-erc20-300',
- contractAddress: '0xaEc98A708810414878c3BCDF46Aad31dEd4a4557',
- decimals: 18
- },
- {
- symbol: '3LT',
- name: 'TrillionToken',
- marketSymbol: '3lt',
- identifier: 'eth-erc20-3lt',
- contractAddress: '0x430241368c1D293fdA21DBa8Bb7aF32007c59109',
- decimals: 8
- },
- {
- symbol: 'A18',
- name: 'Apollo18',
- marketSymbol: 'a18',
- identifier: 'eth-erc20-a18',
- contractAddress: '0xBa7DCBa2Ade319Bc772DB4df75A76BA00dFb31b0',
- decimals: 0
- },
- {
- symbol: 'A18',
- name: 'Apollo18',
- marketSymbol: 'a18',
- identifier: 'eth-erc20-a18',
- contractAddress: '0xBDe8f7820b5544a49D34F9dDeaCAbEDC7C0B5adc',
- decimals: 0
- },
- {
- symbol: 'ABCH',
- name: 'ABBC Cash',
- marketSymbol: 'abch',
- identifier: 'eth-erc20-abch',
- contractAddress: '0xcc7d26D8eA6281BB363C8448515F2C61F7BC19F0',
- decimals: 18
- },
- {
- symbol: 'ABT',
- name: 'ArcBlock Token',
- marketSymbol: 'abt',
- identifier: 'eth-erc20-abt',
- contractAddress: '0xB98d4C97425d9908E66E53A6fDf673ACcA0BE986',
- decimals: 18
- },
- {
- symbol: 'ABYSS',
- name: 'The Abyss',
- marketSymbol: 'abyss',
- identifier: 'eth-erc20-abyss',
- contractAddress: '0x0E8d6b471e332F140e7d9dbB99E5E3822F728DA6',
- decimals: 18
- },
- {
- symbol: 'ACC',
- name: 'Accelerator Network',
- marketSymbol: 'acc',
- identifier: 'eth-erc20-acc',
- contractAddress: '0x13F1b7FDFbE1fc66676D56483e21B1ecb40b58E2',
- decimals: 18
- },
- {
- symbol: 'ACE',
- name: 'ACE (TokenStars)',
- marketSymbol: 'ace',
- identifier: 'eth-erc20-ace',
- contractAddress: '0x06147110022B768BA8F99A8f385df11a151A9cc8',
- decimals: 0
- },
- {
- symbol: 'ADB',
- name: 'adbank',
- marketSymbol: 'adb',
- identifier: 'eth-erc20-adb',
- contractAddress: '0x2baac9330Cf9aC479D819195794d79AD0c7616e3',
- decimals: 18
- },
- {
- symbol: 'ADH',
- name: 'AdHive Token',
- marketSymbol: 'adh',
- identifier: 'eth-erc20-adh',
- contractAddress: '0xE69a353b3152Dd7b706ff7dD40fe1d18b7802d31',
- decimals: 18
- },
- {
- symbol: 'ADI',
- name: 'Aditus',
- marketSymbol: 'adi',
- identifier: 'eth-erc20-adi',
- contractAddress: '0x8810C63470d38639954c6B41AaC545848C46484a',
- decimals: 18
- },
- {
- symbol: 'ADL',
- name: 'Adelphoi',
- marketSymbol: 'adl',
- identifier: 'eth-erc20-adl',
- contractAddress: '0x660e71483785f66133548B10f6926dC332b06e61',
- decimals: 18
- },
- {
- symbol: 'ADST',
- name: 'AdShares',
- marketSymbol: 'adst',
- identifier: 'eth-erc20-adst',
- contractAddress: '0x422866a8F0b032c5cf1DfBDEf31A20F4509562b0',
- decimals: 0
- },
- {
- symbol: 'ADT',
- name: 'AdToken',
- marketSymbol: 'adt',
- identifier: 'eth-erc20-adt',
- contractAddress: '0xD0D6D6C5Fe4a677D343cC433536BB717bAe167dD',
- decimals: 9
- },
- {
- symbol: 'ADX',
- name: 'AdEx Network',
- marketSymbol: 'adx',
- identifier: 'eth-erc20-adx',
- contractAddress: '0x4470BB87d77b963A013DB939BE332f927f2b992e',
- decimals: 4
- },
- {
- symbol: 'AFA',
- name: 'Africahead Ipparts',
- marketSymbol: 'afa',
- identifier: 'eth-erc20-afa',
- contractAddress: '0xfB48E0DEa837f9438309a7e9F0cFe7EE3353A84e',
- decimals: 2
- },
- {
- symbol: 'AGI',
- name: 'SingularityNET',
- marketSymbol: 'agi',
- identifier: 'eth-erc20-agi',
- contractAddress: '0x8eB24319393716668D768dCEC29356ae9CfFe285',
- decimals: 8
- },
- {
- symbol: 'AI',
- name: 'POLY AI',
- marketSymbol: 'ai',
- identifier: 'eth-erc20-ai',
- contractAddress: '0x5121E348e897dAEf1Eef23959Ab290e5557CF274',
- decimals: 18
- },
- {
- symbol: 'AID',
- name: 'AidCoin',
- marketSymbol: 'aid',
- identifier: 'eth-erc20-aid',
- contractAddress: '0x37E8789bB9996CaC9156cD5F5Fd32599E6b91289',
- decimals: 18
- },
- {
- symbol: 'AION',
- name: 'Aion',
- marketSymbol: 'aion',
- identifier: 'eth-erc20-aion',
- contractAddress: '0x4CEdA7906a5Ed2179785Cd3A40A69ee8bc99C466',
- decimals: 8
- },
- {
- symbol: 'AIR',
- name: 'AirToken',
- marketSymbol: 'air',
- identifier: 'eth-erc20-air',
- contractAddress: '0x27Dce1eC4d3f72C3E457Cc50354f1F975dDEf488',
- decimals: 8
- },
- {
- symbol: 'AIX',
- name: 'Aigang',
- marketSymbol: 'aix',
- identifier: 'eth-erc20-aix',
- contractAddress: '0x1063ce524265d5a3A624f4914acd573dD89ce988',
- decimals: 18
- },
- {
- symbol: 'AKC',
- name: 'ARTWOOK COIN',
- marketSymbol: 'akc',
- identifier: 'eth-erc20-akc',
- contractAddress: '0x1Ca43a170BaD619322e6f54d46b57e504dB663aA',
- decimals: 18
- },
- {
- symbol: 'ALCO',
- name: 'ALCO',
- marketSymbol: 'alco',
- identifier: 'eth-erc20-alco',
- contractAddress: '0x181a63746d3Adcf356CBc73aCE22832FFBB1EE5A',
- decimals: 8
- },
- {
- symbol: 'ALI',
- name: 'AiLink Token',
- marketSymbol: 'ali',
- identifier: 'eth-erc20-ali',
- contractAddress: '0x4289c043A12392F1027307fB58272D8EBd853912',
- decimals: 18
- },
- {
- symbol: 'ALIS',
- name: 'ALIS Token',
- marketSymbol: 'alis',
- identifier: 'eth-erc20-alis',
- contractAddress: '0xEA610B1153477720748DC13ED378003941d84fAB',
- decimals: 18
- },
- {
- symbol: 'ALTS',
- name: 'ALTS Token',
- marketSymbol: 'alts',
- identifier: 'eth-erc20-alts',
- contractAddress: '0x638AC149eA8EF9a1286C41B977017AA7359E6Cfa',
- decimals: 18
- },
- {
- symbol: 'ALX',
- name: 'ALAX',
- marketSymbol: 'alx',
- identifier: 'eth-erc20-alx',
- contractAddress: '0x49b127Bc33ce7E1586EC28CEC6a65b112596C822',
- decimals: 18
- },
- {
- symbol: 'AMB',
- name: 'Amber Token',
- marketSymbol: 'amb',
- identifier: 'eth-erc20-amb',
- contractAddress: '0x4DC3643DbC642b72C158E7F3d2ff232df61cb6CE',
- decimals: 18
- },
- {
- symbol: 'AMIS',
- name: 'AMIS',
- marketSymbol: 'amis',
- identifier: 'eth-erc20-amis',
- contractAddress: '0x949bEd886c739f1A3273629b3320db0C5024c719',
- decimals: 9
- },
- {
- symbol: 'AMLT',
- name: 'AMLT',
- marketSymbol: 'amlt',
- identifier: 'eth-erc20-amlt',
- contractAddress: '0xCA0e7269600d353F70b14Ad118A49575455C0f2f',
- decimals: 18
- },
- {
- symbol: 'AMN',
- name: 'Amon',
- marketSymbol: 'amn',
- identifier: 'eth-erc20-amn',
- contractAddress: '0x737F98AC8cA59f2C68aD658E3C3d8C8963E40a4c',
- decimals: 18
- },
- {
- symbol: 'AMO',
- name: 'AMO Coin',
- marketSymbol: 'amo',
- identifier: 'eth-erc20-amo',
- contractAddress: '0x38c87AA89B2B8cD9B95b736e1Fa7b612EA972169',
- decimals: 18
- },
- {
- symbol: 'AMTC',
- name: 'AmberTime Coin',
- marketSymbol: 'amtc',
- identifier: 'eth-erc20-amtc',
- contractAddress: '0x84936cF7630AA3e27Dd9AfF968b140d5AEE49F5a',
- decimals: 8
- },
- {
- symbol: 'ANT',
- name: 'Aragon',
- marketSymbol: 'ant',
- identifier: 'eth-erc20-ant',
- contractAddress: '0x960b236A07cf122663c4303350609A66A7B288C0',
- decimals: 18
- },
- {
- symbol: 'AOA',
- name: 'Aurora',
- marketSymbol: 'aoa',
- identifier: 'eth-erc20-aoa',
- contractAddress: '0x9ab165D795019b6d8B3e971DdA91071421305e5a',
- decimals: 18
- },
- {
- symbol: 'APIS',
- name: 'APIS',
- marketSymbol: 'apis',
- identifier: 'eth-erc20-apis',
- contractAddress: '0x4C0fBE1BB46612915E7967d2C3213cd4d87257AD',
- decimals: 18
- },
- {
- symbol: 'APPC',
- name: 'AppCoins',
- marketSymbol: 'appc',
- identifier: 'eth-erc20-appc',
- contractAddress: '0x1a7a8BD9106F2B8D977E08582DC7d24c723ab0DB',
- decimals: 18
- },
- {
- symbol: 'APT',
- name: 'AIGang',
- marketSymbol: 'apt',
- identifier: 'eth-erc20-apt',
- contractAddress: '0x23aE3C5B39B12f0693e05435EeaA1e51d8c61530',
- decimals: 18
- },
- {
- symbol: 'ARB',
- name: 'ARBITRAGE',
- marketSymbol: 'arb',
- identifier: 'eth-erc20-arb',
- contractAddress: '0xaFBeC4D65BC7b116d85107FD05d912491029Bf46',
- decimals: 18
- },
- {
- symbol: 'ARC',
- name: 'Arcade Token',
- marketSymbol: 'arc',
- identifier: 'eth-erc20-arc',
- contractAddress: '0xAc709FcB44a43c35F0DA4e3163b117A17F3770f5',
- decimals: 18
- },
- {
- symbol: 'ARCT',
- name: 'ArbitrageCT',
- marketSymbol: 'arct',
- identifier: 'eth-erc20-arct',
- contractAddress: '0x1245ef80F4d9e02ED9425375e8F649B9221b31D8',
- decimals: 8
- },
- {
- symbol: 'ARD',
- name: 'Accord',
- marketSymbol: 'ard',
- identifier: 'eth-erc20-ard',
- contractAddress: '0x75Aa7B0d02532f3833b66c7f0Ad35376d373ddF8',
- decimals: 18
- },
- {
- symbol: 'ARN',
- name: 'Aeron',
- marketSymbol: 'arn',
- identifier: 'eth-erc20-arn',
- contractAddress: '0xBA5F11b16B155792Cf3B2E6880E8706859A8AEB6',
- decimals: 8
- },
- {
- symbol: 'ART',
- name: 'Maecenas',
- marketSymbol: 'art',
- identifier: 'eth-erc20-art',
- contractAddress: '0xfec0cF7fE078a500abf15F1284958F22049c2C7e',
- decimals: 18
- },
- {
- symbol: 'ARX',
- name: 'ARX',
- marketSymbol: 'arx',
- identifier: 'eth-erc20-arx',
- contractAddress: '0x7705FaA34B16EB6d77Dfc7812be2367ba6B0248e',
- decimals: 8
- },
- {
- symbol: 'ARXT',
- name: 'Assistive Reality ARX',
- marketSymbol: 'arxt',
- identifier: 'eth-erc20-arxt',
- contractAddress: '0xb0D926c1BC3d78064F3e1075D5bD9A24F35Ae6C5',
- decimals: 18
- },
- {
- symbol: 'ARY',
- name: 'Block Array',
- marketSymbol: 'ary',
- identifier: 'eth-erc20-ary',
- contractAddress: '0xa5F8fC0921880Cb7342368BD128eb8050442B1a1',
- decimals: 18
- },
- {
- symbol: 'AST',
- name: 'Airswap',
- marketSymbol: 'ast',
- identifier: 'eth-erc20-ast',
- contractAddress: '0x27054b13b1B798B345b591a4d22e6562d47eA75a',
- decimals: 4
- },
- {
- symbol: 'ASTRO',
- name: 'AstroTokens',
- marketSymbol: 'astro',
- identifier: 'eth-erc20-astro',
- contractAddress: '0x7B22938ca841aA392C93dBB7f4c42178E3d65E88',
- decimals: 4
- },
- {
- symbol: 'ATH',
- name: 'Athenian Warrior Token',
- marketSymbol: 'ath',
- identifier: 'eth-erc20-ath',
- contractAddress: '0x17052d51E954592C1046320c2371AbaB6C73Ef10',
- decimals: 18
- },
- {
- symbol: 'ATH (AIgatha Token)',
- name: 'AIgatha Token',
- marketSymbol: 'ath (aigatha token)',
- identifier: 'eth-erc20-ath (aigatha token)',
- contractAddress: '0x1543d0F83489e82A1344DF6827B23d541F235A50',
- decimals: 18
- },
- {
- symbol: 'ATL',
- name: 'ATLANT',
- marketSymbol: 'atl',
- identifier: 'eth-erc20-atl',
- contractAddress: '0x78B7FADA55A64dD895D8c8c35779DD8b67fA8a05',
- decimals: 18
- },
- {
- symbol: 'ATM',
- name: 'ATMChain',
- marketSymbol: 'atm',
- identifier: 'eth-erc20-atm',
- contractAddress: '0x9B11EFcAAA1890f6eE52C6bB7CF8153aC5d74139',
- decimals: 8
- },
- {
- symbol: 'ATMI',
- name: 'Atonomi',
- marketSymbol: 'atmi',
- identifier: 'eth-erc20-atmi',
- contractAddress: '0x97AEB5066E1A590e868b511457BEb6FE99d329F5',
- decimals: 18
- },
- {
- symbol: 'ATS',
- name: 'Authorship',
- marketSymbol: 'ats',
- identifier: 'eth-erc20-ats',
- contractAddress: '0x2dAEE1AA61D60A252DC80564499A69802853583A',
- decimals: 4
- },
- {
- symbol: 'ATT',
- name: 'Atmatrix Token',
- marketSymbol: 'att',
- identifier: 'eth-erc20-att',
- contractAddress: '0x887834D3b8D450B6bAB109c252Df3DA286d73CE4',
- decimals: 18
- },
- {
- symbol: 'ATTN',
- name: 'Attention Token',
- marketSymbol: 'attn',
- identifier: 'eth-erc20-attn',
- contractAddress: '0x6339784d9478dA43106A429196772A029C2f177d',
- decimals: 18
- },
- {
- symbol: 'ATX',
- name: 'Aston',
- marketSymbol: 'atx',
- identifier: 'eth-erc20-atx',
- contractAddress: '0x1A0F2aB46EC630F9FD638029027b552aFA64b94c',
- decimals: 18
- },
- {
- symbol: 'AUC',
- name: 'Auctus',
- marketSymbol: 'auc',
- identifier: 'eth-erc20-auc',
- contractAddress: '0xc12d099be31567add4e4e4d0D45691C3F58f5663',
- decimals: 18
- },
- {
- symbol: 'AURA',
- name: 'Aurora DAO',
- marketSymbol: 'aura',
- identifier: 'eth-erc20-aura',
- contractAddress: '0xCdCFc0f66c522Fd086A1b725ea3c0Eeb9F9e8814',
- decimals: 18
- },
- {
- symbol: 'AUTO',
- name: 'Cube',
- marketSymbol: 'auto',
- identifier: 'eth-erc20-auto',
- contractAddress: '0x622dFfCc4e83C64ba959530A5a5580687a57581b',
- decimals: 18
- },
- {
- symbol: 'AVA',
- name: 'AVA',
- marketSymbol: 'ava',
- identifier: 'eth-erc20-ava',
- contractAddress: '0xeD247980396B10169BB1d36f6e278eD16700a60f',
- decimals: 4
- },
- {
- symbol: 'AVT',
- name: 'Aventus',
- marketSymbol: 'avt',
- identifier: 'eth-erc20-avt',
- contractAddress: '0x0d88eD6E74bbFD96B831231638b66C05571e824F',
- decimals: 18
- },
- {
- symbol: 'AX1',
- name: 'AX1 Mining Token',
- marketSymbol: 'ax1',
- identifier: 'eth-erc20-ax1',
- contractAddress: '0xCd4b4b0F3284a33AC49C67961EC6e111708318Cf',
- decimals: 5
- },
- {
- symbol: 'AXP',
- name: 'AXP',
- marketSymbol: 'axp',
- identifier: 'eth-erc20-axp',
- contractAddress: '0x9af2c6B1A28D3d6BC084bd267F70e90d49741D5B',
- decimals: 8
- },
- {
- symbol: 'AXPR',
- name: 'aXpire',
- marketSymbol: 'axpr',
- identifier: 'eth-erc20-axpr',
- contractAddress: '0xC39E626A04C5971D770e319760D7926502975e47',
- decimals: 18
- },
- {
- symbol: 'B2BX',
- name: 'B2BX',
- marketSymbol: 'b2bx',
- identifier: 'eth-erc20-b2bx',
- contractAddress: '0x5d51FCceD3114A8bb5E90cDD0f9d682bCbCC5393',
- decimals: 18
- },
- {
- symbol: 'BANCA',
- name: 'Banca',
- marketSymbol: 'banca',
- identifier: 'eth-erc20-banca',
- contractAddress: '0x998b3B82bC9dBA173990Be7afb772788B5aCB8Bd',
- decimals: 18
- },
- {
- symbol: 'BANX',
- name: 'BANX',
- marketSymbol: 'banx',
- identifier: 'eth-erc20-banx',
- contractAddress: '0xF87F0D9153fea549c728Ad61cb801595a68b73de',
- decimals: 18
- },
- {
- symbol: 'BAS',
- name: 'BitAsean',
- marketSymbol: 'bas',
- identifier: 'eth-erc20-bas',
- contractAddress: '0x2A05d22DB079BC40C2f77a1d1fF703a56E631cc1',
- decimals: 8
- },
- {
- symbol: 'BAT',
- name: 'Basic Attention Token',
- marketSymbol: 'bat',
- identifier: 'eth-erc20-bat',
- contractAddress: '0x0D8775F648430679A709E98d2b0Cb6250d2887EF',
- decimals: 18
- },
- {
- symbol: 'BAX',
- name: 'BABB',
- marketSymbol: 'bax',
- identifier: 'eth-erc20-bax',
- contractAddress: '0x9a0242b7a33DAcbe40eDb927834F96eB39f8fBCB',
- decimals: 18
- },
- {
- symbol: 'BBC',
- name: 'TraDove B2BCoin',
- marketSymbol: 'bbc',
- identifier: 'eth-erc20-bbc',
- contractAddress: '0xe7D3e4413E29ae35B0893140F4500965c74365e5',
- decimals: 18
- },
- {
- symbol: 'BBI',
- name: 'Beluga Banking Infrastructure Token',
- marketSymbol: 'bbi',
- identifier: 'eth-erc20-bbi',
- contractAddress: '0x37D40510a2F5Bc98AA7a0f7BF4b3453Bcfb90Ac1',
- decimals: 18
- },
- {
- symbol: 'BBK',
- name: 'BRICKBLOCK TOKEN',
- marketSymbol: 'bbk',
- identifier: 'eth-erc20-bbk',
- contractAddress: '0x4a6058666cf1057eaC3CD3A5a614620547559fc9',
- decimals: 18
- },
- {
- symbol: 'BBN',
- name: 'Banyan Network',
- marketSymbol: 'bbn',
- identifier: 'eth-erc20-bbn',
- contractAddress: '0x35a69642857083BA2F30bfaB735dacC7F0bac969',
- decimals: 18
- },
- {
- symbol: 'BBO',
- name: 'Bigbom',
- marketSymbol: 'bbo',
- identifier: 'eth-erc20-bbo',
- contractAddress: '0x84F7c44B6Fed1080f647E354D552595be2Cc602F',
- decimals: 18
- },
- {
- symbol: 'BC',
- name: 'Block-Chain.com',
- marketSymbol: 'bc',
- identifier: 'eth-erc20-bc',
- contractAddress: '0x2ecB13A8c458c379c4d9a7259e202De03c8F3D19',
- decimals: 18
- },
- {
- symbol: 'BCAP',
- name: 'BCAP',
- marketSymbol: 'bcap',
- identifier: 'eth-erc20-bcap',
- contractAddress: '0xFf3519eeeEA3e76F1F699CCcE5E23ee0bdDa41aC',
- decimals: 0
- },
- {
- symbol: 'BCAP',
- name: 'BCAP',
- marketSymbol: 'bcap',
- identifier: 'eth-erc20-bcap',
- contractAddress: '0x1f41E42D0a9e3c0Dd3BA15B527342783B43200A9',
- decimals: 0
- },
- {
- symbol: 'BCBC',
- name: 'Beercoin',
- marketSymbol: 'bcbc',
- identifier: 'eth-erc20-bcbc',
- contractAddress: '0x7367A68039d4704f30BfBF6d948020C3B07DFC59',
- decimals: 18
- },
- {
- symbol: 'BCDN',
- name: 'BlockCDN',
- marketSymbol: 'bcdn',
- identifier: 'eth-erc20-bcdn',
- contractAddress: '0x1e797Ce986C3CFF4472F7D38d5C4aba55DfEFE40',
- decimals: 15
- },
- {
- symbol: 'BCDT',
- name: 'Blockchain Certified Data Token',
- marketSymbol: 'bcdt',
- identifier: 'eth-erc20-bcdt',
- contractAddress: '0xAcfa209Fb73bF3Dd5bBfb1101B9Bc999C49062a5',
- decimals: 18
- },
- {
- symbol: 'BCL',
- name: 'BCL',
- marketSymbol: 'bcl',
- identifier: 'eth-erc20-bcl',
- contractAddress: '0xbc1234552EBea32B5121190356bBa6D3Bb225bb5',
- decimals: 18
- },
- {
- symbol: 'BCPT',
- name: 'BlockMason Credit Protocol Token',
- marketSymbol: 'bcpt',
- identifier: 'eth-erc20-bcpt',
- contractAddress: '0x1c4481750daa5Ff521A2a7490d9981eD46465Dbd',
- decimals: 18
- },
- {
- symbol: 'BCV',
- name: 'BitCapitalVendor Token',
- marketSymbol: 'bcv',
- identifier: 'eth-erc20-bcv',
- contractAddress: '0x1014613E2B3CBc4d575054D4982E580d9b99d7B1',
- decimals: 8
- },
- {
- symbol: 'BDG',
- name: 'BitDegree Token',
- marketSymbol: 'bdg',
- identifier: 'eth-erc20-bdg',
- contractAddress: '0x1961B3331969eD52770751fC718ef530838b6dEE',
- decimals: 18
- },
- {
- symbol: 'BEE',
- name: 'Bee Token',
- marketSymbol: 'bee',
- identifier: 'eth-erc20-bee',
- contractAddress: '0x4D8fc1453a0F359e99c9675954e656D80d996FbF',
- decimals: 18
- },
- {
- symbol: 'BeerCoin',
- name: 'BeerCoin',
- marketSymbol: 'beercoin',
- identifier: 'eth-erc20-beercoin',
- contractAddress: '0x74C1E4b8caE59269ec1D85D3D4F324396048F4ac',
- decimals: 0
- },
- {
- symbol: 'BERRY',
- name: 'Berry',
- marketSymbol: 'berry',
- identifier: 'eth-erc20-berry',
- contractAddress: '0x6aEB95F06CDA84cA345c2dE0F3B7f96923a44f4c',
- decimals: 14
- },
- {
- symbol: 'BET',
- name: 'DAO.Casino',
- marketSymbol: 'bet',
- identifier: 'eth-erc20-bet',
- contractAddress: '0x8aA33A7899FCC8eA5fBe6A608A109c3893A1B8b2',
- decimals: 18
- },
- {
- symbol: 'BETHER',
- name: 'Bethereum',
- marketSymbol: 'bether',
- identifier: 'eth-erc20-bether',
- contractAddress: '0x14C926F2290044B647e1Bf2072e67B495eff1905',
- decimals: 18
- },
- {
- symbol: 'BETR',
- name: 'BetterBetting',
- marketSymbol: 'betr',
- identifier: 'eth-erc20-betr',
- contractAddress: '0x763186eB8d4856D536eD4478302971214FEbc6A9',
- decimals: 18
- },
- {
- symbol: 'BEZ',
- name: 'Bezop',
- marketSymbol: 'bez',
- identifier: 'eth-erc20-bez',
- contractAddress: '0x3839d8ba312751Aa0248fEd6a8bACB84308E20Ed',
- decimals: 18
- },
- {
- symbol: 'BHPC',
- name: 'BHPCash',
- marketSymbol: 'bhpc',
- identifier: 'eth-erc20-bhpc',
- contractAddress: '0xEE74110fB5A1007b06282e0DE5d73A61bf41d9Cd',
- decimals: 18
- },
- {
- symbol: 'BHR',
- name: 'BETHER',
- marketSymbol: 'bhr',
- identifier: 'eth-erc20-bhr',
- contractAddress: '0xfe5D908c9Ad85f651185dAa6a4770726E2b27d09',
- decimals: 18
- },
- {
- symbol: 'BIT',
- name: 'BlockEstate Investment Token',
- marketSymbol: 'bit',
- identifier: 'eth-erc20-bit',
- contractAddress: '0x089B85FA15f72c1088CBbef23a49DB80B91DD521',
- decimals: 8
- },
- {
- symbol: 'BITCAR',
- name: 'BitCar Token',
- marketSymbol: 'bitcar',
- identifier: 'eth-erc20-bitcar',
- contractAddress: '0x08b4c866aE9D1bE56a06e0C302054B4FFe067b43',
- decimals: 8
- },
- {
- symbol: 'BITPARK',
- name: 'BITPARK',
- marketSymbol: 'bitpark',
- identifier: 'eth-erc20-bitpark',
- contractAddress: '0xF3d29Fb98D2DC5E78c87198DEEF99377345fD6F1',
- decimals: 8
- },
- {
- symbol: 'BIX',
- name: 'Bibox Token',
- marketSymbol: 'bix',
- identifier: 'eth-erc20-bix',
- contractAddress: '0xb3104b4B9Da82025E8b9F8Fb28b3553ce2f67069',
- decimals: 18
- },
- {
- symbol: 'BKB',
- name: 'BetKing Bankroll Token',
- marketSymbol: 'bkb',
- identifier: 'eth-erc20-bkb',
- contractAddress: '0xB2Bfeb70B903F1BAaC7f2ba2c62934C7e5B974C4',
- decimals: 8
- },
- {
- symbol: 'BKRx',
- name: 'BlockRx',
- marketSymbol: 'bkrx',
- identifier: 'eth-erc20-bkrx',
- contractAddress: '0x3cf9E0c385a5ABEC9FD2a71790AA344C4e8E3570',
- decimals: 18
- },
- {
- symbol: 'BKX',
- name: 'BANKEX',
- marketSymbol: 'bkx',
- identifier: 'eth-erc20-bkx',
- contractAddress: '0x45245bc59219eeaAF6cD3f382e078A461FF9De7B',
- decimals: 18
- },
- {
- symbol: 'BLN',
- name: 'Bolenum',
- marketSymbol: 'bln',
- identifier: 'eth-erc20-bln',
- contractAddress: '0xCA29db4221c111888a7e80b12eAc8a266Da3Ee0d',
- decimals: 18
- },
- {
- symbol: 'BLT',
- name: 'Bloom',
- marketSymbol: 'blt',
- identifier: 'eth-erc20-blt',
- contractAddress: '0x107c4504cd79C5d2696Ea0030a8dD4e92601B82e',
- decimals: 18
- },
- {
- symbol: 'BLUE',
- name: 'Ethereum Blue',
- marketSymbol: 'blue',
- identifier: 'eth-erc20-blue',
- contractAddress: '0x539EfE69bCDd21a83eFD9122571a64CC25e0282b',
- decimals: 8
- },
- {
- symbol: 'BLX (Bullion)',
- name: 'Bullion Crypto',
- marketSymbol: 'blx (bullion)',
- identifier: 'eth-erc20-blx (bullion)',
- contractAddress: '0xcE59d29b09aAE565fEEEf8E52f47c3CD5368C663',
- decimals: 18
- },
- {
- symbol: 'BLX (Iconomi)',
- name: 'Iconomi',
- marketSymbol: 'blx (iconomi)',
- identifier: 'eth-erc20-blx (iconomi)',
- contractAddress: '0xE5a7c12972f3bbFe70ed29521C8949b8Af6a0970',
- decimals: 18
- },
- {
- symbol: 'BLZ',
- name: 'Bluzelle',
- marketSymbol: 'blz',
- identifier: 'eth-erc20-blz',
- contractAddress: '0x5732046A883704404F284Ce41FfADd5b007FD668',
- decimals: 18
- },
- {
- symbol: 'BMC',
- name: 'Blackmoon Crypto BMC Token',
- marketSymbol: 'bmc',
- identifier: 'eth-erc20-bmc',
- contractAddress: '0xDf6Ef343350780BF8C3410BF062e0C015B1DD671',
- decimals: 8
- },
- {
- symbol: 'BMT',
- name: 'BMT',
- marketSymbol: 'bmt',
- identifier: 'eth-erc20-bmt',
- contractAddress: '0xf028ADEe51533b1B47BEaa890fEb54a457f51E89',
- decimals: 18
- },
- {
- symbol: 'BMX',
- name: 'BitMart Token',
- marketSymbol: 'bmx',
- identifier: 'eth-erc20-bmx',
- contractAddress: '0x986EE2B944c42D017F52Af21c4c69B84DBeA35d8',
- decimals: 18
- },
- {
- symbol: 'BNB',
- name: 'Binance Coin',
- marketSymbol: 'bnb',
- identifier: 'eth-erc20-bnb',
- contractAddress: '0xB8c77482e45F1F44dE1745F52C74426C631bDD52',
- decimals: 18
- },
- {
- symbol: 'BNC',
- name: 'Bionic',
- marketSymbol: 'bnc',
- identifier: 'eth-erc20-bnc',
- contractAddress: '0xEf51c9377FeB29856E61625cAf9390bD0B67eA18',
- decimals: 8
- },
- {
- symbol: 'BNC',
- name: 'BNC',
- marketSymbol: 'bnc',
- identifier: 'eth-erc20-bnc',
- contractAddress: '0xdD6Bf56CA2ada24c683FAC50E37783e55B57AF9F',
- decimals: 12
- },
- {
- symbol: 'BNFT',
- name: 'Benefits Coin',
- marketSymbol: 'bnft',
- identifier: 'eth-erc20-bnft',
- contractAddress: '0xdA2C424Fc98c741c2d4ef2f42897CEfed897CA75',
- decimals: 9
- },
- {
- symbol: 'BNN',
- name: 'BrokerNekoNetwork',
- marketSymbol: 'bnn',
- identifier: 'eth-erc20-bnn',
- contractAddress: '0xDA80B20038BDF968C7307BB5907A469482CF6251',
- decimals: 8
- },
- {
- symbol: 'BNT',
- name: 'Bancor',
- marketSymbol: 'bnt',
- identifier: 'eth-erc20-bnt',
- contractAddress: '0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C',
- decimals: 18
- },
- {
- symbol: 'BNTY',
- name: 'Bounty0x Token',
- marketSymbol: 'bnty',
- identifier: 'eth-erc20-bnty',
- contractAddress: '0xd2d6158683aeE4Cc838067727209a0aAF4359de3',
- decimals: 18
- },
- {
- symbol: 'BOB',
- name: "Bob's repair",
- marketSymbol: 'bob',
- identifier: 'eth-erc20-bob',
- contractAddress: '0xDF347911910b6c9A4286bA8E2EE5ea4a39eB2134',
- decimals: 18
- },
- {
- symbol: 'BON',
- name: 'Bonpay',
- marketSymbol: 'bon',
- identifier: 'eth-erc20-bon',
- contractAddress: '0xCc34366E3842cA1BD36c1f324d15257960fCC801',
- decimals: 18
- },
- {
- symbol: 'BOP',
- name: 'BlockOptiopns Token',
- marketSymbol: 'bop',
- identifier: 'eth-erc20-bop',
- contractAddress: '0x7F1E2C7d6A69bf34824D72C53B4550E895C0D8C2',
- decimals: 8
- },
- {
- symbol: 'BOU',
- name: 'Boule Coin',
- marketSymbol: 'bou',
- identifier: 'eth-erc20-bou',
- contractAddress: '0xC2C63F23ec5E97efbD7565dF9Ec764FDc7d4e91d',
- decimals: 18
- },
- {
- symbol: 'BOUTS',
- name: 'BoutsPro',
- marketSymbol: 'bouts',
- identifier: 'eth-erc20-bouts',
- contractAddress: '0x139d9397274bb9E2C29A9aa8Aa0b5874d30D62E3',
- decimals: 18
- },
- {
- symbol: 'BOX',
- name: 'ContentBox',
- marketSymbol: 'box',
- identifier: 'eth-erc20-box',
- contractAddress: '0x63f584FA56E60e4D0fE8802b27C7e6E3b33E007f',
- decimals: 18
- },
- {
- symbol: 'BOX',
- name: 'BOX Token',
- marketSymbol: 'box',
- identifier: 'eth-erc20-box',
- contractAddress: '0xe1A178B681BD05964d3e3Ed33AE731577d9d96dD',
- decimals: 18
- },
- {
- symbol: 'BOXX',
- name: 'BOXX Token [Blockparty]',
- marketSymbol: 'boxx',
- identifier: 'eth-erc20-boxx',
- contractAddress: '0x780116D91E5592E58a3b3c76A351571b39abCEc6',
- decimals: 15
- },
- {
- symbol: 'BPT',
- name: 'Blockport Token',
- marketSymbol: 'bpt',
- identifier: 'eth-erc20-bpt',
- contractAddress: '0x327682779bAB2BF4d1337e8974ab9dE8275A7Ca8',
- decimals: 18
- },
- {
- symbol: 'BQX',
- name: 'Bitquence',
- marketSymbol: 'bqx',
- identifier: 'eth-erc20-bqx',
- contractAddress: '0x5Af2Be193a6ABCa9c8817001F45744777Db30756',
- decimals: 8
- },
- {
- symbol: 'BRAT',
- name: 'BROTHER',
- marketSymbol: 'brat',
- identifier: 'eth-erc20-brat',
- contractAddress: '0x9E77D5a1251b6F7D456722A6eaC6D2d5980bd891',
- decimals: 8
- },
- {
- symbol: 'BRD',
- name: 'Bread',
- marketSymbol: 'brd',
- identifier: 'eth-erc20-brd',
- contractAddress: '0x558EC3152e2eb2174905cd19AeA4e34A23DE9aD6',
- decimals: 18
- },
- {
- symbol: 'BRLN',
- name: 'Berlin Coin',
- marketSymbol: 'brln',
- identifier: 'eth-erc20-brln',
- contractAddress: '0x80046305aaab08F6033b56a360c184391165dc2d',
- decimals: 18
- },
- {
- symbol: 'BRP',
- name: 'Rental Processor Token',
- marketSymbol: 'brp',
- identifier: 'eth-erc20-brp',
- contractAddress: '0xB22c2786a549B008517B67625f5296E8fAf9589e',
- decimals: 18
- },
- {
- symbol: 'BSDC',
- name: 'BSDC',
- marketSymbol: 'bsdc',
- identifier: 'eth-erc20-bsdc',
- contractAddress: '0xF26ef5E0545384b7Dcc0f297F2674189586830DF',
- decimals: 18
- },
- {
- symbol: 'BST',
- name: 'BlocksquareToken',
- marketSymbol: 'bst',
- identifier: 'eth-erc20-bst',
- contractAddress: '0x509A38b7a1cC0dcd83Aa9d06214663D9eC7c7F4a',
- decimals: 18
- },
- {
- symbol: 'BTCA',
- name: 'BitAir',
- marketSymbol: 'btca',
- identifier: 'eth-erc20-btca',
- contractAddress: '0x02725836ebF3eCDb1cDf1c7b02FcbBfaa2736AF8',
- decimals: 8
- },
- {
- symbol: 'BTCE',
- name: 'EthereumBitcoin',
- marketSymbol: 'btce',
- identifier: 'eth-erc20-btce',
- contractAddress: '0x0886949c1b8C412860c4264Ceb8083d1365e86CF',
- decimals: 8
- },
- {
- symbol: 'BTCL',
- name: 'BTC Lite',
- marketSymbol: 'btcl',
- identifier: 'eth-erc20-btcl',
- contractAddress: '0x5acD19b9c91e596b1f062f18e3D02da7eD8D1e50',
- decimals: 8
- },
- {
- symbol: 'BTCONE',
- name: 'BitCoin One',
- marketSymbol: 'btcone',
- identifier: 'eth-erc20-btcone',
- contractAddress: '0x87f5E8c3425218837f3CB67dB941aF0C01323E56',
- decimals: 18
- },
- {
- symbol: 'BTCR',
- name: 'BitCoin Red',
- marketSymbol: 'btcr',
- identifier: 'eth-erc20-btcr',
- contractAddress: '0x6Aac8CB9861E42bf8259F5AbDC6aE3Ae89909E11',
- decimals: 8
- },
- {
- symbol: 'BTE',
- name: 'BTE',
- marketSymbol: 'bte',
- identifier: 'eth-erc20-bte',
- contractAddress: '0x73dD069c299A5d691E9836243BcaeC9c8C1D8734',
- decimals: 8
- },
- {
- symbol: 'BTH',
- name: 'Bytether',
- marketSymbol: 'bth',
- identifier: 'eth-erc20-bth',
- contractAddress: '0xFAd572db566E5234AC9Fc3d570c4EdC0050eAA92',
- decimals: 18
- },
- {
- symbol: 'BTHR',
- name: 'Bethereum',
- marketSymbol: 'bthr',
- identifier: 'eth-erc20-bthr',
- contractAddress: '0xa02e3bB9cEbc03952601B3724B4940e0845BeBcf',
- decimals: 18
- },
- {
- symbol: 'BTK',
- name: 'Bitcoin Token',
- marketSymbol: 'btk',
- identifier: 'eth-erc20-btk',
- contractAddress: '0xdb8646F5b487B5Dd979FAC618350e85018F557d4',
- decimals: 18
- },
- {
- symbol: 'BTL (Battle)',
- name: 'BTL (Battle)',
- marketSymbol: 'btl (battle)',
- identifier: 'eth-erc20-btl (battle)',
- contractAddress: '0x2accaB9cb7a48c3E82286F0b2f8798D201F4eC3f',
- decimals: 18
- },
- {
- symbol: 'BTL (Bitlle)',
- name: 'Bitlle Token',
- marketSymbol: 'btl (bitlle)',
- identifier: 'eth-erc20-btl (bitlle)',
- contractAddress: '0x92685E93956537c25Bb75D5d47fca4266dd628B8',
- decimals: 4
- },
- {
- symbol: 'BTM',
- name: 'Bytom',
- marketSymbol: 'btm',
- identifier: 'eth-erc20-btm',
- contractAddress: '0xcB97e65F07DA24D46BcDD078EBebd7C6E6E3d750',
- decimals: 8
- },
- {
- symbol: 'BTO',
- name: 'Bottos',
- marketSymbol: 'bto',
- identifier: 'eth-erc20-bto',
- contractAddress: '0x36905Fc93280f52362A1CBAB151F25DC46742Fb5',
- decimals: 18
- },
- {
- symbol: 'BTQ',
- name: 'Bitcoin Boutique',
- marketSymbol: 'btq',
- identifier: 'eth-erc20-btq',
- contractAddress: '0x16B0E62aC13a2fAeD36D18bce2356d25Ab3CfAD3',
- decimals: 18
- },
- {
- symbol: 'BTR',
- name: 'Bitether',
- marketSymbol: 'btr',
- identifier: 'eth-erc20-btr',
- contractAddress: '0x499A6B77bc25C26bCf8265E2102B1B3dd1617024',
- decimals: 18
- },
- {
- symbol: 'BTR',
- name: 'Bither Platform Token',
- marketSymbol: 'btr',
- identifier: 'eth-erc20-btr',
- contractAddress: '0xcbf15FB8246F679F9Df0135881CB29a3746f734b',
- decimals: 18
- },
- {
- symbol: 'BTRN',
- name: 'Biotron',
- marketSymbol: 'btrn',
- identifier: 'eth-erc20-btrn',
- contractAddress: '0x03C780cD554598592B97b7256dDAad759945b125',
- decimals: 18
- },
- {
- symbol: 'BTT',
- name: 'Bitether',
- marketSymbol: 'btt',
- identifier: 'eth-erc20-btt',
- contractAddress: '0x080aa07E2C7185150d7e4DA98838A8d2feac3dfC',
- decimals: 0
- },
- {
- symbol: 'BTTX',
- name: 'Blocktrade.com',
- marketSymbol: 'bttx',
- identifier: 'eth-erc20-bttx',
- contractAddress: '0xFA456Cf55250A839088b27EE32A424d7DAcB54Ff',
- decimals: 18
- },
- {
- symbol: 'BTU',
- name: 'BTU Protocol',
- marketSymbol: 'btu',
- identifier: 'eth-erc20-btu',
- contractAddress: '0xb683D83a532e2Cb7DFa5275eED3698436371cc9f',
- decimals: 18
- },
- {
- symbol: 'BTZ',
- name: 'BTZ by Bunz',
- marketSymbol: 'btz',
- identifier: 'eth-erc20-btz',
- contractAddress: '0xE5f867dE1EA81346df5181b8b48DD6B0BB3357B0',
- decimals: 18
- },
- {
- symbol: 'BUC',
- name: 'BeeUnity Chain',
- marketSymbol: 'buc',
- identifier: 'eth-erc20-buc',
- contractAddress: '0xCa3c18a65b802eC267f8f4802545e7F53D24C75e',
- decimals: 18
- },
- {
- symbol: 'BWX',
- name: 'Blue Whale Token',
- marketSymbol: 'bwx',
- identifier: 'eth-erc20-bwx',
- contractAddress: '0xbD168CbF9d3a375B38dC51A202B5E8a4E52069Ed',
- decimals: 18
- },
- {
- symbol: 'BZ',
- name: 'Bit-Z Token',
- marketSymbol: 'bz',
- identifier: 'eth-erc20-bz',
- contractAddress: '0x4375E7aD8A01B8eC3Ed041399f62D9Cd120e0063',
- decimals: 18
- },
- {
- symbol: 'BZNT',
- name: 'Bezant',
- marketSymbol: 'bznt',
- identifier: 'eth-erc20-bznt',
- contractAddress: '0xE1Aee98495365fc179699C1bB3E761FA716beE62',
- decimals: 18
- },
- {
- symbol: 'C20',
- name: "Crypto20's Token",
- marketSymbol: 'c20',
- identifier: 'eth-erc20-c20',
- contractAddress: '0x26E75307Fc0C021472fEb8F727839531F112f317',
- decimals: 18
- },
- {
- symbol: 'C8',
- name: 'Carboneum',
- marketSymbol: 'c8',
- identifier: 'eth-erc20-c8',
- contractAddress: '0xd42debE4eDc92Bd5a3FBb4243e1ecCf6d63A4A5d',
- decimals: 18
- },
- {
- symbol: 'CAG',
- name: 'Change Bank',
- marketSymbol: 'cag',
- identifier: 'eth-erc20-cag',
- contractAddress: '0x7d4b8Cce0591C9044a22ee543533b72E976E36C3',
- decimals: 18
- },
- {
- symbol: 'CAN',
- name: 'CanYaCoin',
- marketSymbol: 'can',
- identifier: 'eth-erc20-can',
- contractAddress: '0x1d462414fe14cf489c7A21CaC78509f4bF8CD7c0',
- decimals: 6
- },
- {
- symbol: 'CAPP',
- name: 'Cappasity',
- marketSymbol: 'capp',
- identifier: 'eth-erc20-capp',
- contractAddress: '0x04F2E7221fdb1B52A68169B25793E51478fF0329',
- decimals: 2
- },
- {
- symbol: 'CAR',
- name: 'Car Sharing Community',
- marketSymbol: 'car',
- identifier: 'eth-erc20-car',
- contractAddress: '0x423e4322CDDa29156b49a17dfbd2aCC4b280600D',
- decimals: 9
- },
- {
- symbol: 'CAR (CarBlock)',
- name: 'CarBlock',
- marketSymbol: 'car (carblock)',
- identifier: 'eth-erc20-car (carblock)',
- contractAddress: '0x4D9e23a3842fE7Eb7682B9725cF6c507C424A41B',
- decimals: 18
- },
- {
- symbol: 'CARB',
- name: 'CarbCoin',
- marketSymbol: 'carb',
- identifier: 'eth-erc20-carb',
- contractAddress: '0xA517a46Baad6B054A76bD19c46844f717fe69fea',
- decimals: 8
- },
- {
- symbol: 'CARCO',
- name: 'CARCO',
- marketSymbol: 'carco',
- identifier: 'eth-erc20-carco',
- contractAddress: '0x2108E62D335Bbdc89eC3E9d8582F18DCFB0cDFf4',
- decimals: 8
- },
- {
- symbol: 'CARD',
- name: 'Cardstack Token',
- marketSymbol: 'card',
- identifier: 'eth-erc20-card',
- contractAddress: '0x954b890704693af242613edEf1B603825afcD708',
- decimals: 18
- },
- {
- symbol: 'CARD',
- name: 'Cardstack Token',
- marketSymbol: 'card',
- identifier: 'eth-erc20-card',
- contractAddress: '0xB07ec2c28834B889b1CE527Ca0F19364cD38935c',
- decimals: 0
- },
- {
- symbol: 'CARD',
- name: 'Cardstack Token',
- marketSymbol: 'card',
- identifier: 'eth-erc20-card',
- contractAddress: '0x1ed2B1eaEd8e968bc36EB90a914660A71827A5E9',
- decimals: 0
- },
- {
- symbol: 'CARE',
- name: 'Token CARE',
- marketSymbol: 'care',
- identifier: 'eth-erc20-care',
- contractAddress: '0xbF18F246B9301F231e9561B35A3879769BB46375',
- decimals: 18
- },
- {
- symbol: 'CAS',
- name: 'Cashaa',
- marketSymbol: 'cas',
- identifier: 'eth-erc20-cas',
- contractAddress: '0xe8780B48bdb05F928697A5e8155f672ED91462F7',
- decimals: 18
- },
- {
- symbol: 'CAS',
- name: 'CAS Coin',
- marketSymbol: 'cas',
- identifier: 'eth-erc20-cas',
- contractAddress: '0x779492d3644dDF4495Aa2d80C468E1B7be6AF1d2',
- decimals: 2
- },
- {
- symbol: 'CAT (BitClave)',
- name: 'BitClave',
- marketSymbol: 'cat (bitclave)',
- identifier: 'eth-erc20-cat (bitclave)',
- contractAddress: '0x1234567461d3f8Db7496581774Bd869C83D51c93',
- decimals: 18
- },
- {
- symbol: 'CAT (BlockCAT)',
- name: 'BlockCAT',
- marketSymbol: 'cat (blockcat)',
- identifier: 'eth-erc20-cat (blockcat)',
- contractAddress: '0x56ba2Ee7890461f463F7be02aAC3099f6d5811A8',
- decimals: 18
- },
- {
- symbol: 'CATs (BitClave)_Old',
- name: 'CATs (BitClave)_Old',
- marketSymbol: 'cats (bitclave)_old',
- identifier: 'eth-erc20-cats (bitclave)_old',
- contractAddress: '0x68e14bb5A45B9681327E16E528084B9d962C1a39',
- decimals: 18
- },
- {
- symbol: 'CBC',
- name: 'CashBet Coin',
- marketSymbol: 'cbc',
- identifier: 'eth-erc20-cbc',
- contractAddress: '0x26DB5439F651CAF491A87d48799dA81F191bDB6b',
- decimals: 8
- },
- {
- symbol: 'CBIX',
- name: 'Cubrix',
- marketSymbol: 'cbix',
- identifier: 'eth-erc20-cbix',
- contractAddress: '0x05C3617cBf1304b9260AA61ec960F115D67beCEA',
- decimals: 18
- },
- {
- symbol: 'CBM',
- name: 'CryptoBonusMiles',
- marketSymbol: 'cbm',
- identifier: 'eth-erc20-cbm',
- contractAddress: '0x95eFD1Fe6099F65a7ED524DEF487483221094947',
- decimals: 18
- },
- {
- symbol: 'CBT',
- name: 'CommerceBlock',
- marketSymbol: 'cbt',
- identifier: 'eth-erc20-cbt',
- contractAddress: '0x076C97e1c869072eE22f8c91978C99B4bcB02591',
- decimals: 18
- },
- {
- symbol: 'CC3',
- name: 'Coal Coin',
- marketSymbol: 'cc3',
- identifier: 'eth-erc20-cc3',
- contractAddress: '0xc166038705FFBAb3794185b3a9D925632A1DF37D',
- decimals: 18
- },
- {
- symbol: 'CCC (CryptoCrashCourse)',
- name: 'CryptoCrashCourse',
- marketSymbol: 'ccc (cryptocrashcourse)',
- identifier: 'eth-erc20-ccc (cryptocrashcourse)',
- contractAddress: '0x28577A6d31559bd265Ce3ADB62d0458550F7b8a7',
- decimals: 18
- },
- {
- symbol: 'CCC (ICONOMI)',
- name: 'CCC (ICONOMI)',
- marketSymbol: 'ccc (iconomi)',
- identifier: 'eth-erc20-ccc (iconomi)',
- contractAddress: '0xBE11eEb186e624b8f26A5045575a1340E4054552',
- decimals: 18
- },
- {
- symbol: 'CCCX',
- name: 'Clipper Coin',
- marketSymbol: 'cccx',
- identifier: 'eth-erc20-cccx',
- contractAddress: '0x378903a03FB2C3AC76BB52773e3CE11340377A32',
- decimals: 18
- },
- {
- symbol: 'CCLC',
- name: 'Christ Coin',
- marketSymbol: 'cclc',
- identifier: 'eth-erc20-cclc',
- contractAddress: '0xd348e07A2806505B856123045d27aeeD90924b50',
- decimals: 8
- },
- {
- symbol: 'CCO',
- name: 'Ccore',
- marketSymbol: 'cco',
- identifier: 'eth-erc20-cco',
- contractAddress: '0x679BADc551626e01B23CeecEFBc9B877EA18fc46',
- decimals: 18
- },
- {
- symbol: 'CCS',
- name: 'CacaoShares',
- marketSymbol: 'ccs',
- identifier: 'eth-erc20-ccs',
- contractAddress: '0x315cE59FAFd3A8d562b7Ec1C8542382d2710b06c',
- decimals: 18
- },
- {
- symbol: 'CCT',
- name: 'Crystal Clear Token',
- marketSymbol: 'cct',
- identifier: 'eth-erc20-cct',
- contractAddress: '0x336F646F87D9f6bC6Ed42Dd46E8b3fD9DbD15C22',
- decimals: 18
- },
- {
- symbol: 'CDL',
- name: 'Confideal',
- marketSymbol: 'cdl',
- identifier: 'eth-erc20-cdl',
- contractAddress: '0x8a95ca448A52C0ADf0054bB3402dC5e09CD6B232',
- decimals: 18
- },
- {
- symbol: 'CDT',
- name: 'CoinDash',
- marketSymbol: 'cdt',
- identifier: 'eth-erc20-cdt',
- contractAddress: '0x177d39AC676ED1C67A2b268AD7F1E58826E5B0af',
- decimals: 18
- },
- {
- symbol: 'CDX',
- name: 'Carbon Dollar X',
- marketSymbol: 'cdx',
- identifier: 'eth-erc20-cdx',
- contractAddress: '0x2cb101d7dA0ebaA57D3F2fEf46D7FFB7BB64592B',
- decimals: 0
- },
- {
- symbol: 'CDX',
- name: 'Commodity Ad Network',
- marketSymbol: 'cdx',
- identifier: 'eth-erc20-cdx',
- contractAddress: '0x6fFF3806Bbac52A20e0d79BC538d527f6a22c96b',
- decimals: 18
- },
- {
- symbol: 'CEEK',
- name: 'CEEK VR Token',
- marketSymbol: 'ceek',
- identifier: 'eth-erc20-ceek',
- contractAddress: '0xb056c38f6b7Dc4064367403E26424CD2c60655e1',
- decimals: 18
- },
- {
- symbol: 'CENNZ',
- name: 'Centrality',
- marketSymbol: 'cennz',
- identifier: 'eth-erc20-cennz',
- contractAddress: '0x1122B6a0E00DCe0563082b6e2953f3A943855c1F',
- decimals: 18
- },
- {
- symbol: 'CET',
- name: 'DICE Money Dicet',
- marketSymbol: 'cet',
- identifier: 'eth-erc20-cet',
- contractAddress: '0xF660cA1e228e7BE1fA8B4f5583145E31147FB577',
- decimals: 18
- },
- {
- symbol: 'CFC',
- name: 'CryptFillCoin',
- marketSymbol: 'cfc',
- identifier: 'eth-erc20-cfc',
- contractAddress: '0x5Dff89a2caa4D76bc286F74D67Bd718eb834da61',
- decimals: 18
- },
- {
- symbol: 'CFI',
- name: 'Cofound.it',
- marketSymbol: 'cfi',
- identifier: 'eth-erc20-cfi',
- contractAddress: '0x12FEF5e57bF45873Cd9B62E9DBd7BFb99e32D73e',
- decimals: 18
- },
- {
- symbol: 'CFTY',
- name: 'Crafty Token',
- marketSymbol: 'cfty',
- identifier: 'eth-erc20-cfty',
- contractAddress: '0x6956983F8B3Ce173B4AB84361AA0ad52f38D936f',
- decimals: 8
- },
- {
- symbol: 'CHP',
- name: 'CoinPoker',
- marketSymbol: 'chp',
- identifier: 'eth-erc20-chp',
- contractAddress: '0xf3db7560E820834658B590C96234c333Cd3D5E5e',
- decimals: 18
- },
- {
- symbol: 'CHSB',
- name: 'SwissBorg',
- marketSymbol: 'chsb',
- identifier: 'eth-erc20-chsb',
- contractAddress: '0xba9d4199faB4f26eFE3551D490E3821486f135Ba',
- decimals: 8
- },
- {
- symbol: 'CHX',
- name: 'Own',
- marketSymbol: 'chx',
- identifier: 'eth-erc20-chx',
- contractAddress: '0x1460a58096d80a50a2F1f956DDA497611Fa4f165',
- decimals: 18
- },
- {
- symbol: 'CIYA',
- name: 'CRYPTORIYA',
- marketSymbol: 'ciya',
- identifier: 'eth-erc20-ciya',
- contractAddress: '0xf75fBfa2f681860B9A6D19FC3FF3D34CB322E2D6',
- decimals: 18
- },
- {
- symbol: 'CJT',
- name: 'ConnectJob',
- marketSymbol: 'cjt',
- identifier: 'eth-erc20-cjt',
- contractAddress: '0x3abdfF32F76b42E7635bdb7e425f0231A5F3aB17',
- decimals: 18
- },
- {
- symbol: 'CK',
- name: 'CK',
- marketSymbol: 'ck',
- identifier: 'eth-erc20-ck',
- contractAddress: '0x06012c8cf97BEaD5deAe237070F9587f8E7A266d',
- decimals: 0
- },
- {
- symbol: 'CL',
- name: 'Coinlancer',
- marketSymbol: 'cl',
- identifier: 'eth-erc20-cl',
- contractAddress: '0xe81D72D14B1516e68ac3190a46C93302Cc8eD60f',
- decimals: 18
- },
- {
- symbol: 'CLB',
- name: 'Cloudbric',
- marketSymbol: 'clb',
- identifier: 'eth-erc20-clb',
- contractAddress: '0xb1c1Cb8C7c1992dba24e628bF7d38E71daD46aeB',
- decimals: 18
- },
- {
- symbol: 'CLL',
- name: 'CryptoLiveLeak',
- marketSymbol: 'cll',
- identifier: 'eth-erc20-cll',
- contractAddress: '0x3dC9a42fa7Afe57BE03c58fD7F4411b1E466C508',
- decimals: 18
- },
- {
- symbol: 'CLN',
- name: 'ColuLocalNetwork',
- marketSymbol: 'cln',
- identifier: 'eth-erc20-cln',
- contractAddress: '0x4162178B78D6985480A308B2190EE5517460406D',
- decimals: 18
- },
- {
- symbol: 'CLP',
- name: 'CryptoLending',
- marketSymbol: 'clp',
- identifier: 'eth-erc20-clp',
- contractAddress: '0x7FCE2856899a6806eeEf70807985fc7554C66340',
- decimals: 9
- },
- {
- symbol: 'CMBT',
- name: 'CMBToken',
- marketSymbol: 'cmbt',
- identifier: 'eth-erc20-cmbt',
- contractAddress: '0x3EDD235C3E840C1F29286B2e39370a255C7B6fdb',
- decimals: 8
- },
- {
- symbol: 'CMC',
- name: 'CryptoMart',
- marketSymbol: 'cmc',
- identifier: 'eth-erc20-cmc',
- contractAddress: '0x7e667525521cF61352e2E01b50FaaaE7Df39749a',
- decimals: 18
- },
- {
- symbol: 'CMCT',
- name: 'Crowd Machine Compute Token',
- marketSymbol: 'cmct',
- identifier: 'eth-erc20-cmct',
- contractAddress: '0x47bc01597798DCD7506DCCA36ac4302fc93a8cFb',
- decimals: 8
- },
- {
- symbol: 'CMT',
- name: 'CyberMiles Token',
- marketSymbol: 'cmt',
- identifier: 'eth-erc20-cmt',
- contractAddress: '0xf85fEea2FdD81d51177F6b8F35F0e6734Ce45F5F',
- decimals: 18
- },
- {
- symbol: 'CNB',
- name: 'Canabio',
- marketSymbol: 'cnb',
- identifier: 'eth-erc20-cnb',
- contractAddress: '0xEBf2F9E8De960f64ec0fDCDa6Cb282423133347B',
- decimals: 8
- },
- {
- symbol: 'CND',
- name: 'Cindicator',
- marketSymbol: 'cnd',
- identifier: 'eth-erc20-cnd',
- contractAddress: '0xd4c435F5B09F855C3317c8524Cb1F586E42795fa',
- decimals: 18
- },
- {
- symbol: 'CNN',
- name: 'Content Neutrality Network',
- marketSymbol: 'cnn',
- identifier: 'eth-erc20-cnn',
- contractAddress: '0x8713d26637CF49e1b6B4a7Ce57106AaBc9325343',
- decimals: 18
- },
- {
- symbol: 'CO2',
- name: 'Climatecoin',
- marketSymbol: 'co2',
- identifier: 'eth-erc20-co2',
- contractAddress: '0xB4b1D2C217EC0776584CE08D3DD98F90EDedA44b',
- decimals: 18
- },
- {
- symbol: 'CO2Bit',
- name: 'CO2Bit',
- marketSymbol: 'co2bit',
- identifier: 'eth-erc20-co2bit',
- contractAddress: '0x574B36BceD443338875d171CC377E691f7d4F887',
- decimals: 18
- },
- {
- symbol: 'COB',
- name: 'Cobinhood Token',
- marketSymbol: 'cob',
- identifier: 'eth-erc20-cob',
- contractAddress: '0xb2F7EB1f2c37645bE61d73953035360e768D81E6',
- decimals: 18
- },
- {
- symbol: 'COFI',
- name: 'CoinFi Token',
- marketSymbol: 'cofi',
- identifier: 'eth-erc20-cofi',
- contractAddress: '0x3136eF851592aCf49CA4C825131E364170FA32b3',
- decimals: 18
- },
- {
- symbol: 'COIL',
- name: 'CoinOil',
- marketSymbol: 'coil',
- identifier: 'eth-erc20-coil',
- contractAddress: '0x0C91B015AbA6f7B4738dcD36E7410138b29ADC29',
- decimals: 8
- },
- {
- symbol: 'COIN',
- name: 'Coinvest V3 Token',
- marketSymbol: 'coin',
- identifier: 'eth-erc20-coin',
- contractAddress: '0xeb547ed1D8A3Ff1461aBAa7F0022FED4836E00A4',
- decimals: 18
- },
- {
- symbol: 'COIN',
- name: 'Coinvest V2 Token',
- marketSymbol: 'coin',
- identifier: 'eth-erc20-coin',
- contractAddress: '0x5e8F855966D638135a968861E80DdA722291B06d',
- decimals: 18
- },
- {
- symbol: 'CORI',
- name: 'Corrently Invest Token',
- marketSymbol: 'cori',
- identifier: 'eth-erc20-cori',
- contractAddress: '0x725B190Bc077FFde17Cf549AA8ba25e298550B18',
- decimals: 2
- },
- {
- symbol: 'COSM',
- name: 'Cosmo Coin',
- marketSymbol: 'cosm',
- identifier: 'eth-erc20-cosm',
- contractAddress: '0xC4Bcd64CB216D49fD3C643A32762F34626b45a1a',
- decimals: 18
- },
- {
- symbol: 'COSS',
- name: 'Coss Token',
- marketSymbol: 'coss',
- identifier: 'eth-erc20-coss',
- contractAddress: '0x9e96604445Ec19fFed9a5e8dd7B50a29C899A10C',
- decimals: 18
- },
- {
- symbol: 'COSS',
- name: 'Coss Token',
- marketSymbol: 'coss',
- identifier: 'eth-erc20-coss',
- contractAddress: '0x65292EeadF1426Cd2dF1C4793a3d7519f253913b',
- decimals: 18
- },
- {
- symbol: 'COV',
- name: 'Covesting',
- marketSymbol: 'cov',
- identifier: 'eth-erc20-cov',
- contractAddress: '0xE2FB6529EF566a080e6d23dE0bd351311087D567',
- decimals: 18
- },
- {
- symbol: 'CPAY',
- name: 'Cryptopay',
- marketSymbol: 'cpay',
- identifier: 'eth-erc20-cpay',
- contractAddress: '0x0Ebb614204E47c09B6C3FeB9AAeCad8EE060E23E',
- decimals: 0
- },
- {
- symbol: 'CPC',
- name: 'CPChain',
- marketSymbol: 'cpc',
- identifier: 'eth-erc20-cpc',
- contractAddress: '0xfAE4Ee59CDd86e3Be9e8b90b53AA866327D7c090',
- decimals: 18
- },
- {
- symbol: 'CPEX',
- name: 'CoinPulseToken',
- marketSymbol: 'cpex',
- identifier: 'eth-erc20-cpex',
- contractAddress: '0xb787d4eAc8899730bb8C57fc3c998c49c5244ec0',
- decimals: 8
- },
- {
- symbol: 'CPLO',
- name: 'CPOLLO',
- marketSymbol: 'cplo',
- identifier: 'eth-erc20-cplo',
- contractAddress: '0x7064aAb39A0Fcf7221c3396719D0917a65E35515',
- decimals: 18
- },
- {
- symbol: 'CPT',
- name: 'Cryptaur',
- marketSymbol: 'cpt',
- identifier: 'eth-erc20-cpt',
- contractAddress: '0x88d50B466BE55222019D71F9E8fAe17f5f45FCA1',
- decimals: 8
- },
- {
- symbol: 'CPT',
- name: 'Contents Protocol Token',
- marketSymbol: 'cpt',
- identifier: 'eth-erc20-cpt',
- contractAddress: '0x9B62513c8a27290CF6A7A9e29386e600245EA819',
- decimals: 18
- },
- {
- symbol: 'CPY',
- name: 'COPYTRACK',
- marketSymbol: 'cpy',
- identifier: 'eth-erc20-cpy',
- contractAddress: '0xf44745fBd41F6A1ba151df190db0564c5fCc4410',
- decimals: 18
- },
- {
- symbol: 'CR7',
- name: 'CR7Coin',
- marketSymbol: 'cr7',
- identifier: 'eth-erc20-cr7',
- contractAddress: '0x7F585B9130c64e9e9F470b618A7badD03D79cA7E',
- decimals: 18
- },
- {
- symbol: 'CRB',
- name: 'Creditbit',
- marketSymbol: 'crb',
- identifier: 'eth-erc20-crb',
- contractAddress: '0xAef38fBFBF932D1AeF3B808Bc8fBd8Cd8E1f8BC5',
- decimals: 8
- },
- {
- symbol: 'CRBT',
- name: 'Cruisebit',
- marketSymbol: 'crbt',
- identifier: 'eth-erc20-crbt',
- contractAddress: '0x2cF618c19041D9Db330d8222B860A624021F30fb',
- decimals: 18
- },
- {
- symbol: 'CRC',
- name: 'CryCash',
- marketSymbol: 'crc',
- identifier: 'eth-erc20-crc',
- contractAddress: '0xF41e5Fbc2F6Aac200Dd8619E121CE1f05D150077',
- decimals: 18
- },
- {
- symbol: 'CRED',
- name: 'Verify',
- marketSymbol: 'cred',
- identifier: 'eth-erc20-cred',
- contractAddress: '0x672a1AD4f667FB18A333Af13667aa0Af1F5b5bDD',
- decimals: 18
- },
- {
- symbol: 'CREDO',
- name: 'Credo / Bitbounce',
- marketSymbol: 'credo',
- identifier: 'eth-erc20-credo',
- contractAddress: '0x4E0603e2A27A30480E5e3a4Fe548e29EF12F64bE',
- decimals: 18
- },
- {
- symbol: 'CRGO',
- name: 'CargoCoin',
- marketSymbol: 'crgo',
- identifier: 'eth-erc20-crgo',
- contractAddress: '0xf49CDD50aD408d387d611F88A647179C3de3492b',
- decimals: 18
- },
- {
- symbol: 'CRMT',
- name: 'Cremit',
- marketSymbol: 'crmt',
- identifier: 'eth-erc20-crmt',
- contractAddress: '0x9238bfB781A55eACC3Cf05F7DF94038c198CD9B9',
- decimals: 8
- },
- {
- symbol: 'CRPT',
- name: 'CrypteriumToken',
- marketSymbol: 'crpt',
- identifier: 'eth-erc20-crpt',
- contractAddress: '0x80A7E048F37A50500351C204Cb407766fA3baE7f',
- decimals: 18
- },
- {
- symbol: 'CRT',
- name: 'CreamtoeCoin',
- marketSymbol: 'crt',
- identifier: 'eth-erc20-crt',
- contractAddress: '0xF0da1186a4977226b9135d0613ee72e229EC3F4d',
- decimals: 18
- },
- {
- symbol: 'CryptoCarbon',
- name: 'CryptoCarbon',
- marketSymbol: 'cryptocarbon',
- identifier: 'eth-erc20-cryptocarbon',
- contractAddress: '0xE4c94d45f7Aef7018a5D66f44aF780ec6023378e',
- decimals: 6
- },
- {
- symbol: 'CS',
- name: 'Credits',
- marketSymbol: 'cs',
- identifier: 'eth-erc20-cs',
- contractAddress: '0x46b9Ad944d1059450Da1163511069C718F699D31',
- decimals: 6
- },
- {
- symbol: 'CSNO',
- name: 'BitDice',
- marketSymbol: 'csno',
- identifier: 'eth-erc20-csno',
- contractAddress: '0x29D75277aC7F0335b2165D0895E8725cbF658d73',
- decimals: 8
- },
- {
- symbol: 'CST',
- name: 'Cryptosolartech',
- marketSymbol: 'cst',
- identifier: 'eth-erc20-cst',
- contractAddress: '0xBB49A51Ee5a66ca3a8CbE529379bA44Ba67E6771',
- decimals: 18
- },
- {
- symbol: 'CTF',
- name: 'CryptoTask',
- marketSymbol: 'ctf',
- identifier: 'eth-erc20-ctf',
- contractAddress: '0x4545750F39aF6Be4F237B6869D4EccA928Fd5A85',
- decimals: 18
- },
- {
- symbol: 'CTG',
- name: 'CT Global Token',
- marketSymbol: 'ctg',
- identifier: 'eth-erc20-ctg',
- contractAddress: '0xC87c5dD86A3d567fF28701886fB0745aaa898da4',
- decimals: 18
- },
- {
- symbol: 'CTGC',
- name: 'Convenient To Go',
- marketSymbol: 'ctgc',
- identifier: 'eth-erc20-ctgc',
- contractAddress: '0x9E7D29bd499B6c7da2a5B2EaFCF4A39d3BD845D1',
- decimals: 18
- },
- {
- symbol: 'CTL',
- name: 'CTL',
- marketSymbol: 'ctl',
- identifier: 'eth-erc20-ctl',
- contractAddress: '0xBf4cFD7d1eDeeEA5f6600827411B41A21eB08abd',
- decimals: 2
- },
- {
- symbol: 'CTR',
- name: 'Centra',
- marketSymbol: 'ctr',
- identifier: 'eth-erc20-ctr',
- contractAddress: '0x96A65609a7B84E8842732DEB08f56C3E21aC6f8a',
- decimals: 18
- },
- {
- symbol: 'CTT',
- name: 'ChainTrade Token',
- marketSymbol: 'ctt',
- identifier: 'eth-erc20-ctt',
- contractAddress: '0xE3Fa177AcecfB86721Cf6f9f4206bd3Bd672D7d5',
- decimals: 18
- },
- {
- symbol: 'CTX',
- name: 'CarTaxi',
- marketSymbol: 'ctx',
- identifier: 'eth-erc20-ctx',
- contractAddress: '0x662aBcAd0b7f345AB7FfB1b1fbb9Df7894f18e66',
- decimals: 18
- },
- {
- symbol: 'CTXC',
- name: 'Cortex',
- marketSymbol: 'ctxc',
- identifier: 'eth-erc20-ctxc',
- contractAddress: '0xEa11755Ae41D889CeEc39A63E6FF75a02Bc1C00d',
- decimals: 18
- },
- {
- symbol: 'cV',
- name: 'carVertical',
- marketSymbol: 'cv',
- identifier: 'eth-erc20-cv',
- contractAddress: '0xdA6cb58A0D0C01610a29c5A65c303e13e885887C',
- decimals: 18
- },
- {
- symbol: 'CVC',
- name: 'Civic',
- marketSymbol: 'cvc',
- identifier: 'eth-erc20-cvc',
- contractAddress: '0x41e5560054824eA6B0732E656E3Ad64E20e94E45',
- decimals: 8
- },
- {
- symbol: 'CVT',
- name: 'CyberVein',
- marketSymbol: 'cvt',
- identifier: 'eth-erc20-cvt',
- contractAddress: '0xBe428c3867F05deA2A89Fc76a102b544eaC7f772',
- decimals: 18
- },
- {
- symbol: 'CXC',
- name: 'CoxxxCoin',
- marketSymbol: 'cxc',
- identifier: 'eth-erc20-cxc',
- contractAddress: '0x2134057C0b461F898D375Cead652Acae62b59541',
- decimals: 18
- },
- {
- symbol: 'CXO',
- name: 'CargoX',
- marketSymbol: 'cxo',
- identifier: 'eth-erc20-cxo',
- contractAddress: '0xb6EE9668771a79be7967ee29a63D4184F8097143',
- decimals: 18
- },
- {
- symbol: 'CYFM',
- name: 'CyberFM',
- marketSymbol: 'cyfm',
- identifier: 'eth-erc20-cyfm',
- contractAddress: '0x3f06B5D78406cD97bdf10f5C420B241D32759c80',
- decimals: 18
- },
- {
- symbol: 'CYMT',
- name: 'CyberMusic',
- marketSymbol: 'cymt',
- identifier: 'eth-erc20-cymt',
- contractAddress: '0x78c292D1445E6b9558bf42e8BC369271DeD062eA',
- decimals: 8
- },
- {
- symbol: 'CZR',
- name: 'CanonChain',
- marketSymbol: 'czr',
- identifier: 'eth-erc20-czr',
- contractAddress: '0x0223fc70574214F65813fE336D870Ac47E147fAe',
- decimals: 18
- },
- {
- symbol: 'DAB',
- name: 'DAB',
- marketSymbol: 'dab',
- identifier: 'eth-erc20-dab',
- contractAddress: '0xdab0C31BF34C897Fb0Fe90D12EC9401caf5c36Ec',
- decimals: 0
- },
- {
- symbol: 'DACS',
- name: 'DACSEE',
- marketSymbol: 'dacs',
- identifier: 'eth-erc20-dacs',
- contractAddress: '0xA31108E5BAB5494560Db34c95492658AF239357C',
- decimals: 18
- },
- {
- symbol: 'DADI',
- name: 'DADI',
- marketSymbol: 'dadi',
- identifier: 'eth-erc20-dadi',
- contractAddress: '0xFb2f26F266Fb2805a387230f2aa0a331b4d96Fba',
- decimals: 18
- },
- {
- symbol: 'DAI',
- name: 'Dai Stablecoin v1.0',
- marketSymbol: 'dai',
- identifier: 'eth-erc20-dai',
- contractAddress: '0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359',
- decimals: 18
- },
- {
- symbol: 'DALC',
- name: 'DaleCoin',
- marketSymbol: 'dalc',
- identifier: 'eth-erc20-dalc',
- contractAddress: '0x07D9e49Ea402194bf48A8276dAfB16E4eD633317',
- decimals: 8
- },
- {
- symbol: 'DAN',
- name: 'DaneelToken',
- marketSymbol: 'dan',
- identifier: 'eth-erc20-dan',
- contractAddress: '0x9B70740e708a083C6fF38Df52297020f5DfAa5EE',
- decimals: 10
- },
- {
- symbol: 'DAO',
- name: 'DAO',
- marketSymbol: 'dao',
- identifier: 'eth-erc20-dao',
- contractAddress: '0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413',
- decimals: 16
- },
- {
- symbol: 'DAT',
- name: 'Datum Token',
- marketSymbol: 'dat',
- identifier: 'eth-erc20-dat',
- contractAddress: '0x81c9151de0C8bafCd325a57E3dB5a5dF1CEBf79c',
- decimals: 18
- },
- {
- symbol: 'DATA',
- name: 'Streamr DATAcoin',
- marketSymbol: 'data',
- identifier: 'eth-erc20-data',
- contractAddress: '0x0Cf0Ee63788A0849fE5297F3407f701E122cC023',
- decimals: 18
- },
- {
- symbol: 'DATABroker',
- name: 'DataBrokerDAO Token',
- marketSymbol: 'databroker',
- identifier: 'eth-erc20-databroker',
- contractAddress: '0x1B5f21ee98eed48d292e8e2d3Ed82b40a9728A22',
- decimals: 18
- },
- {
- symbol: 'DATX',
- name: 'DATx',
- marketSymbol: 'datx',
- identifier: 'eth-erc20-datx',
- contractAddress: '0xaBbBB6447B68ffD6141DA77C18c7B5876eD6c5ab',
- decimals: 18
- },
- {
- symbol: 'DAV',
- name: 'DAV Token',
- marketSymbol: 'dav',
- identifier: 'eth-erc20-dav',
- contractAddress: '0xd82Df0ABD3f51425Eb15ef7580fDA55727875f14',
- decimals: 18
- },
- {
- symbol: 'DAX',
- name: 'DAEX',
- marketSymbol: 'dax',
- identifier: 'eth-erc20-dax',
- contractAddress: '0x0B4BdC478791897274652DC15eF5C135cae61E60',
- decimals: 18
- },
- {
- symbol: 'DAXT',
- name: 'Digital Asset Exchange Token',
- marketSymbol: 'daxt',
- identifier: 'eth-erc20-daxt',
- contractAddress: '0x61725f3db4004AFE014745B21DAb1E1677CC328b',
- decimals: 18
- },
- {
- symbol: 'DAY',
- name: 'ChronoLogic DAY',
- marketSymbol: 'day',
- identifier: 'eth-erc20-day',
- contractAddress: '0xE814aeE960a85208C3dB542C53E7D4a6C8D5f60F',
- decimals: 18
- },
- {
- symbol: 'DBET',
- name: 'DecentBet',
- marketSymbol: 'dbet',
- identifier: 'eth-erc20-dbet',
- contractAddress: '0x9b68bFaE21DF5A510931A262CECf63f41338F264',
- decimals: 18
- },
- {
- symbol: 'DCA',
- name: 'DoBetAcceptBet',
- marketSymbol: 'dca',
- identifier: 'eth-erc20-dca',
- contractAddress: '0x386Faa4703a34a7Fdb19Bec2e14Fd427C9638416',
- decimals: 18
- },
- {
- symbol: 'DCC',
- name: 'Distributed Credit Chain',
- marketSymbol: 'dcc',
- identifier: 'eth-erc20-dcc',
- contractAddress: '0xFFa93Aacf49297D51E211817452839052FDFB961',
- decimals: 18
- },
- {
- symbol: 'DCL',
- name: 'DCL',
- marketSymbol: 'dcl',
- identifier: 'eth-erc20-dcl',
- contractAddress: '0x399A0e6FbEb3d74c85357439f4c8AeD9678a5cbF',
- decimals: 3
- },
- {
- symbol: 'DCN',
- name: 'Dentacoin',
- marketSymbol: 'dcn',
- identifier: 'eth-erc20-dcn',
- contractAddress: '0x08d32b0da63e2C3bcF8019c9c5d849d7a9d791e6',
- decimals: 0
- },
- {
- symbol: 'DDF',
- name: 'DDF',
- marketSymbol: 'ddf',
- identifier: 'eth-erc20-ddf',
- contractAddress: '0xcC4eF9EEAF656aC1a2Ab886743E98e97E090ed38',
- decimals: 18
- },
- {
- symbol: 'DEB',
- name: 'DEBITUM',
- marketSymbol: 'deb',
- identifier: 'eth-erc20-deb',
- contractAddress: '0x151202C9c18e495656f372281F493EB7698961D5',
- decimals: 18
- },
- {
- symbol: 'DEEZ',
- name: 'DeezNuts',
- marketSymbol: 'deez',
- identifier: 'eth-erc20-deez',
- contractAddress: '0x075c60EE2cD308ff47873b38Bd9A0Fa5853382c4',
- decimals: 18
- },
- {
- symbol: 'DELTA',
- name: 'DeltaChain',
- marketSymbol: 'delta',
- identifier: 'eth-erc20-delta',
- contractAddress: '0xDE1E0AE6101b46520cF66fDC0B1059c5cC3d106c',
- decimals: 8
- },
- {
- symbol: 'DENT',
- name: 'DENT',
- marketSymbol: 'dent',
- identifier: 'eth-erc20-dent',
- contractAddress: '0x3597bfD533a99c9aa083587B074434E61Eb0A258',
- decimals: 8
- },
- {
- symbol: 'DEPO',
- name: 'CRYPTODEPOZIT',
- marketSymbol: 'depo',
- identifier: 'eth-erc20-depo',
- contractAddress: '0x7cF271966F36343Bf0150F25E5364f7961c58201',
- decimals: 0
- },
- {
- symbol: 'DEPO (Depository Network)',
- name: 'DEPO (Depository Network)',
- marketSymbol: 'depo (depository network)',
- identifier: 'eth-erc20-depo (depository network)',
- contractAddress: '0x89cbeAC5E8A13F0Ebb4C74fAdFC69bE81A501106',
- decimals: 18
- },
- {
- symbol: 'Devcon2 Token',
- name: 'Devcon2 Token',
- marketSymbol: 'devcon2 token',
- identifier: 'eth-erc20-devcon2 token',
- contractAddress: '0xdd94De9cFE063577051A5eb7465D08317d8808B6',
- decimals: 0
- },
- {
- symbol: 'DEW',
- name: 'DEW',
- marketSymbol: 'dew',
- identifier: 'eth-erc20-dew',
- contractAddress: '0x20E94867794dBA030Ee287F1406E100d03C84Cd3',
- decimals: 18
- },
- {
- symbol: 'DEX',
- name: 'DEX',
- marketSymbol: 'dex',
- identifier: 'eth-erc20-dex',
- contractAddress: '0x497bAEF294c11a5f0f5Bea3f2AdB3073DB448B56',
- decimals: 18
- },
- {
- symbol: 'DGD',
- name: 'Digix DAO',
- marketSymbol: 'dgd',
- identifier: 'eth-erc20-dgd',
- contractAddress: '0xE0B7927c4aF23765Cb51314A0E0521A9645F0E2A',
- decimals: 9
- },
- {
- symbol: 'DGPT',
- name: 'DigiPulse',
- marketSymbol: 'dgpt',
- identifier: 'eth-erc20-dgpt',
- contractAddress: '0xf6cFe53d6FEbaEEA051f400ff5fc14F0cBBDacA1',
- decimals: 18
- },
- {
- symbol: 'DGS',
- name: 'Dragonglass',
- marketSymbol: 'dgs',
- identifier: 'eth-erc20-dgs',
- contractAddress: '0x6aEDbF8dFF31437220dF351950Ba2a3362168d1b',
- decimals: 8
- },
- {
- symbol: 'DGTX',
- name: 'DigitexFutures',
- marketSymbol: 'dgtx',
- identifier: 'eth-erc20-dgtx',
- contractAddress: '0x1C83501478f1320977047008496DACBD60Bb15ef',
- decimals: 18
- },
- {
- symbol: 'DGX',
- name: 'Digix Gold Token',
- marketSymbol: 'dgx',
- identifier: 'eth-erc20-dgx',
- contractAddress: '0x4f3AfEC4E5a3F2A6a1A411DEF7D7dFe50eE057bF',
- decimals: 9
- },
- {
- symbol: 'DGX1',
- name: 'Digix Gold Token 1.0',
- marketSymbol: 'dgx1',
- identifier: 'eth-erc20-dgx1',
- contractAddress: '0x55b9a11c2e8351b4Ffc7b11561148bfaC9977855',
- decimals: 9
- },
- {
- symbol: 'DICE',
- name: 'Etheroll',
- marketSymbol: 'dice',
- identifier: 'eth-erc20-dice',
- contractAddress: '0x2e071D2966Aa7D8dECB1005885bA1977D6038A65',
- decimals: 16
- },
- {
- symbol: 'DIP',
- name: 'Decentralized Insurance Protocol',
- marketSymbol: 'dip',
- identifier: 'eth-erc20-dip',
- contractAddress: '0xc719d010B63E5bbF2C0551872CD5316ED26AcD83',
- decimals: 18
- },
- {
- symbol: 'DIT',
- name: 'Digital Insurance Token',
- marketSymbol: 'dit',
- identifier: 'eth-erc20-dit',
- contractAddress: '0xf14922001A2FB8541a433905437ae954419C2439',
- decimals: 8
- },
- {
- symbol: 'DIVX',
- name: 'DIVX',
- marketSymbol: 'divx',
- identifier: 'eth-erc20-divx',
- contractAddress: '0x13f11C9905A08ca76e3e853bE63D4f0944326C72',
- decimals: 18
- },
- {
- symbol: 'DKP',
- name: 'Draggin Karma Points',
- marketSymbol: 'dkp',
- identifier: 'eth-erc20-dkp',
- contractAddress: '0xBA187B09fFA8DDdc80d2571eD3cbC4Be0Af69E0c',
- decimals: 18
- },
- {
- symbol: 'DLT',
- name: 'Agrello',
- marketSymbol: 'dlt',
- identifier: 'eth-erc20-dlt',
- contractAddress: '0x07e3c70653548B04f0A75970C1F81B4CBbFB606f',
- decimals: 18
- },
- {
- symbol: 'DMT',
- name: 'DMarket Token',
- marketSymbol: 'dmt',
- identifier: 'eth-erc20-dmt',
- contractAddress: '0x2ccbFF3A042c68716Ed2a2Cb0c544A9f1d1935E1',
- decimals: 8
- },
- {
- symbol: 'DNA',
- name: 'EncrypGen',
- marketSymbol: 'dna',
- identifier: 'eth-erc20-dna',
- contractAddress: '0x82b0E50478eeaFde392D45D1259Ed1071B6fDa81',
- decimals: 18
- },
- {
- symbol: 'DNT',
- name: 'District0x Network Token',
- marketSymbol: 'dnt',
- identifier: 'eth-erc20-dnt',
- contractAddress: '0x0AbdAce70D3790235af448C88547603b945604ea',
- decimals: 18
- },
- {
- symbol: 'DNX',
- name: 'DenCity',
- marketSymbol: 'dnx',
- identifier: 'eth-erc20-dnx',
- contractAddress: '0xE43E2041dc3786e166961eD9484a5539033d10fB',
- decimals: 18
- },
- {
- symbol: 'DOCK',
- name: 'Dock',
- marketSymbol: 'dock',
- identifier: 'eth-erc20-dock',
- contractAddress: '0xE5Dada80Aa6477e85d09747f2842f7993D0Df71C',
- decimals: 18
- },
- {
- symbol: 'DOR',
- name: 'Dorado',
- marketSymbol: 'dor',
- identifier: 'eth-erc20-dor',
- contractAddress: '0x906b3f8b7845840188Eab53c3f5AD348A787752f',
- decimals: 15
- },
- {
- symbol: 'DOV',
- name: 'Dovu',
- marketSymbol: 'dov',
- identifier: 'eth-erc20-dov',
- contractAddress: '0xac3211a5025414Af2866FF09c23FC18bc97e79b1',
- decimals: 18
- },
- {
- symbol: 'DOW',
- name: 'DOW',
- marketSymbol: 'dow',
- identifier: 'eth-erc20-dow',
- contractAddress: '0xEEF6E90034eEa89E31Eb4B8eaCd323F28A92eaE4',
- decimals: 18
- },
- {
- symbol: 'DOW',
- name: 'DOW',
- marketSymbol: 'dow',
- identifier: 'eth-erc20-dow',
- contractAddress: '0x76974C7B79dC8a6a109Fd71fd7cEb9E40eff5382',
- decimals: 18
- },
- {
- symbol: 'DPP',
- name: 'Digital Assets Power Play',
- marketSymbol: 'dpp',
- identifier: 'eth-erc20-dpp',
- contractAddress: '0x01b3Ec4aAe1B8729529BEB4965F27d008788B0EB',
- decimals: 18
- },
- {
- symbol: 'DREAM',
- name: 'DREAM',
- marketSymbol: 'dream',
- identifier: 'eth-erc20-dream',
- contractAddress: '0x82f4dED9Cec9B5750FBFf5C2185AEe35AfC16587',
- decimals: 6
- },
- {
- symbol: 'DRGN',
- name: 'Dragon',
- marketSymbol: 'drgn',
- identifier: 'eth-erc20-drgn',
- contractAddress: '0x419c4dB4B9e25d6Db2AD9691ccb832C8D9fDA05E',
- decimals: 18
- },
- {
- symbol: 'DROP',
- name: 'Droplex',
- marketSymbol: 'drop',
- identifier: 'eth-erc20-drop',
- contractAddress: '0x3c75226555FC496168d48B88DF83B95F16771F37',
- decimals: 0
- },
- {
- symbol: 'DROP (dropil)',
- name: 'Dropil',
- marketSymbol: 'drop (dropil)',
- identifier: 'eth-erc20-drop (dropil)',
- contractAddress: '0x4672bAD527107471cB5067a887f4656D585a8A31',
- decimals: 18
- },
- {
- symbol: 'DRP',
- name: 'DCorp',
- marketSymbol: 'drp',
- identifier: 'eth-erc20-drp',
- contractAddress: '0x621d78f2EF2fd937BFca696CabaF9A779F59B3Ed',
- decimals: 2
- },
- {
- symbol: 'DRP',
- name: 'Dripcoin',
- marketSymbol: 'drp',
- identifier: 'eth-erc20-drp',
- contractAddress: '0x2799D90C6d44Cb9Aa5fBC377177F16C33E056b82',
- decimals: 0
- },
- {
- symbol: 'DRPU',
- name: 'DCORP Utility',
- marketSymbol: 'drpu',
- identifier: 'eth-erc20-drpu',
- contractAddress: '0xe30e02f049957e2A5907589e06Ba646fB2c321bA',
- decimals: 8
- },
- {
- symbol: 'DRT',
- name: 'DomRaider',
- marketSymbol: 'drt',
- identifier: 'eth-erc20-drt',
- contractAddress: '0x9AF4f26941677C706cfEcf6D3379FF01bB85D5Ab',
- decimals: 8
- },
- {
- symbol: 'DRVH',
- name: 'Driveholic Token',
- marketSymbol: 'drvh',
- identifier: 'eth-erc20-drvh',
- contractAddress: '0x62D4c04644314F35868Ba4c65cc27a77681dE7a9',
- decimals: 18
- },
- {
- symbol: 'DSC',
- name: 'Digital Safe Coin',
- marketSymbol: 'dsc',
- identifier: 'eth-erc20-dsc',
- contractAddress: '0x1e09BD8Cadb441632e441Db3e1D79909EE0A2256',
- decimals: 1
- },
- {
- symbol: 'DSCP',
- name: 'Disciplina Token',
- marketSymbol: 'dscp',
- identifier: 'eth-erc20-dscp',
- contractAddress: '0x03e3f0c25965f13DbbC58246738C183E27b26a56',
- decimals: 18
- },
- {
- symbol: 'DST',
- name: 'Dimensions Strike Token',
- marketSymbol: 'dst',
- identifier: 'eth-erc20-dst',
- contractAddress: '0x68d53441c0e253f76c500e551bdeA3D102206C9a',
- decimals: 18
- },
- {
- symbol: 'DTH',
- name: 'dether',
- marketSymbol: 'dth',
- identifier: 'eth-erc20-dth',
- contractAddress: '0x5adc961D6AC3f7062D2eA45FEFB8D8167d44b190',
- decimals: 18
- },
- {
- symbol: 'DTR',
- name: 'Dynamic Trading Rights',
- marketSymbol: 'dtr',
- identifier: 'eth-erc20-dtr',
- contractAddress: '0xd234BF2410a0009dF9c3C63b610c09738f18ccD7',
- decimals: 8
- },
- {
- symbol: 'DTRC',
- name: 'Datarius Credit',
- marketSymbol: 'dtrc',
- identifier: 'eth-erc20-dtrc',
- contractAddress: '0xc20464e0C373486d2B3335576e83a218b1618A5E',
- decimals: 18
- },
- {
- symbol: 'DTT',
- name: 'Delphi Tech Token',
- marketSymbol: 'dtt',
- identifier: 'eth-erc20-dtt',
- contractAddress: '0xf9F7c29CFdf19FCf1f2AA6B84aA367Bcf1bD1676',
- decimals: 18
- },
- {
- symbol: 'DTx',
- name: 'DigitalTicks',
- marketSymbol: 'dtx',
- identifier: 'eth-erc20-dtx',
- contractAddress: '0x82fdedfB7635441aA5A92791D001fA7388da8025',
- decimals: 18
- },
- {
- symbol: 'DTX',
- name: 'DaTa eXchange Token',
- marketSymbol: 'dtx',
- identifier: 'eth-erc20-dtx',
- contractAddress: '0x765f0C16D1Ddc279295c1a7C24B0883F62d33F75',
- decimals: 18
- },
- {
- symbol: 'DUBI',
- name: 'DUBI',
- marketSymbol: 'dubi',
- identifier: 'eth-erc20-dubi',
- contractAddress: '0xEd7fEA78C393cF7B17B152A8c2D0CD97aC31790B',
- decimals: 18
- },
- {
- symbol: 'DUBI',
- name: 'Decentralized Universal Basic Income',
- marketSymbol: 'dubi',
- identifier: 'eth-erc20-dubi',
- contractAddress: '0xD4CffeeF10F60eCA581b5E1146B5Aca4194a4C3b',
- decimals: 18
- },
- {
- symbol: 'DUBI',
- name: 'Decentralized Universal Basic Income',
- marketSymbol: 'dubi',
- identifier: 'eth-erc20-dubi',
- contractAddress: '0x9c6Fa42209169bCeA032e401188a6fc3e9C9f59c',
- decimals: 18
- },
- {
- symbol: 'DXT',
- name: 'Datawallet',
- marketSymbol: 'dxt',
- identifier: 'eth-erc20-dxt',
- contractAddress: '0x8dB54ca569D3019A2ba126D03C37c44b5eF81EF6',
- decimals: 8
- },
- {
- symbol: 'E₹',
- name: 'eRupee',
- marketSymbol: 'e₹',
- identifier: 'eth-erc20-e₹',
- contractAddress: '0xb67734521eAbBE9C773729dB73E16CC2dfb20A58',
- decimals: 2
- },
- {
- symbol: 'E4ROW',
- name: 'E4ROW',
- marketSymbol: 'e4row',
- identifier: 'eth-erc20-e4row',
- contractAddress: '0xCe5c603C78d047Ef43032E96b5B785324f753a4F',
- decimals: 2
- },
- {
- symbol: 'EAGLE',
- name: 'EagleCoin',
- marketSymbol: 'eagle',
- identifier: 'eth-erc20-eagle',
- contractAddress: '0x994f0DffdbaE0BbF09b652D6f11A493fd33F42B9',
- decimals: 18
- },
- {
- symbol: 'EARTH',
- name: 'Earth Token',
- marketSymbol: 'earth',
- identifier: 'eth-erc20-earth',
- contractAddress: '0x900b4449236a7bb26b286601dD14d2bDe7a6aC6c',
- decimals: 8
- },
- {
- symbol: 'EBC',
- name: 'EBCoin',
- marketSymbol: 'ebc',
- identifier: 'eth-erc20-ebc',
- contractAddress: '0x31f3D9D1BeCE0c033fF78fA6DA60a6048F3E13c5',
- decimals: 18
- },
- {
- symbol: 'eBCH',
- name: 'eBCH',
- marketSymbol: 'ebch',
- identifier: 'eth-erc20-ebch',
- contractAddress: '0xaFC39788c51f0c1Ff7B55317f3e70299e521Fff6',
- decimals: 8
- },
- {
- symbol: 'EBTC',
- name: 'eBitcoin',
- marketSymbol: 'ebtc',
- identifier: 'eth-erc20-ebtc',
- contractAddress: '0xeB7C20027172E5d143fB030d50f91Cece2D1485D',
- decimals: 8
- },
- {
- symbol: 'ECN',
- name: 'ECN',
- marketSymbol: 'ecn',
- identifier: 'eth-erc20-ecn',
- contractAddress: '0xa578aCc0cB7875781b7880903F4594D13cFa8B98',
- decimals: 2
- },
- {
- symbol: 'ECO2',
- name: 'EtherCO2',
- marketSymbol: 'eco2',
- identifier: 'eth-erc20-eco2',
- contractAddress: '0x17F93475d2A978f527c3f7c44aBf44AdfBa60D5C',
- decimals: 2
- },
- {
- symbol: 'ECOM',
- name: 'Omnitude',
- marketSymbol: 'ecom',
- identifier: 'eth-erc20-ecom',
- contractAddress: '0x171D750d42d661B62C277a6B486ADb82348c3Eca',
- decimals: 18
- },
- {
- symbol: 'ECP',
- name: 'ECRYPTO COIN',
- marketSymbol: 'ecp',
- identifier: 'eth-erc20-ecp',
- contractAddress: '0xAEA1C18A992984831002D0cf90E291FB52d72649',
- decimals: 18
- },
- {
- symbol: 'ECP',
- name: 'ECrypto Coin',
- marketSymbol: 'ecp',
- identifier: 'eth-erc20-ecp',
- contractAddress: '0x8869b1F9bC8B246a4D7220F834E56ddfdd8255E7',
- decimals: 18
- },
- {
- symbol: 'EDC',
- name: 'Education Credits',
- marketSymbol: 'edc',
- identifier: 'eth-erc20-edc',
- contractAddress: '0xFA1DE2Ee97e4c10C94C91Cb2b5062b89Fb140b82',
- decimals: 6
- },
- {
- symbol: 'EDG',
- name: 'Edgeless',
- marketSymbol: 'edg',
- identifier: 'eth-erc20-edg',
- contractAddress: '0x08711D3B02C8758F2FB3ab4e80228418a7F8e39c',
- decimals: 0
- },
- {
- symbol: 'EDO',
- name: 'Eidoo',
- marketSymbol: 'edo',
- identifier: 'eth-erc20-edo',
- contractAddress: '0xCeD4E93198734dDaFf8492d525Bd258D49eb388E',
- decimals: 18
- },
- {
- symbol: 'EDR',
- name: 'Endor Protocol Token',
- marketSymbol: 'edr',
- identifier: 'eth-erc20-edr',
- contractAddress: '0xc528c28FEC0A90C083328BC45f587eE215760A0F',
- decimals: 18
- },
- {
- symbol: 'EDU',
- name: 'EDU Token',
- marketSymbol: 'edu',
- identifier: 'eth-erc20-edu',
- contractAddress: '0x2A22e5cCA00a3D63308fa39f29202eB1b39eEf52',
- decimals: 18
- },
- {
- symbol: 'eGAS',
- name: 'ETH GAS',
- marketSymbol: 'egas',
- identifier: 'eth-erc20-egas',
- contractAddress: '0xb53A96bcBdD9CF78dfF20BAB6C2be7bAec8f00f8',
- decimals: 8
- },
- {
- symbol: 'EGT',
- name: 'Egretia Token',
- marketSymbol: 'egt',
- identifier: 'eth-erc20-egt',
- contractAddress: '0x8e1b448EC7aDFc7Fa35FC2e885678bD323176E34',
- decimals: 18
- },
- {
- symbol: 'EHT',
- name: 'EasyHomes',
- marketSymbol: 'eht',
- identifier: 'eth-erc20-eht',
- contractAddress: '0xf9F0FC7167c311Dd2F1e21E9204F87EBA9012fB2',
- decimals: 8
- },
- {
- symbol: 'EKO',
- name: 'EchoLink',
- marketSymbol: 'eko',
- identifier: 'eth-erc20-eko',
- contractAddress: '0xa6a840E50bCaa50dA017b91A0D86B8b2d41156EE',
- decimals: 18
- },
- {
- symbol: 'EKT',
- name: 'EDUCare',
- marketSymbol: 'ekt',
- identifier: 'eth-erc20-ekt',
- contractAddress: '0xBAb165dF9455AA0F2AeD1f2565520B91DDadB4c8',
- decimals: 8
- },
- {
- symbol: 'ELEC',
- name: 'Electrify.Asia',
- marketSymbol: 'elec',
- identifier: 'eth-erc20-elec',
- contractAddress: '0xD49ff13661451313cA1553fd6954BD1d9b6E02b9',
- decimals: 18
- },
- {
- symbol: 'ELF',
- name: 'ELF Token',
- marketSymbol: 'elf',
- identifier: 'eth-erc20-elf',
- contractAddress: '0xbf2179859fc6D5BEE9Bf9158632Dc51678a4100e',
- decimals: 18
- },
- {
- symbol: 'ELIX',
- name: 'Elixir Token',
- marketSymbol: 'elix',
- identifier: 'eth-erc20-elix',
- contractAddress: '0xc8C6A31A4A806d3710A7B38b7B296D2fABCCDBA8',
- decimals: 18
- },
- {
- symbol: 'ELTCOIN',
- name: 'ELTCOIN',
- marketSymbol: 'eltcoin',
- identifier: 'eth-erc20-eltcoin',
- contractAddress: '0x44197A4c44D6A059297cAf6be4F7e172BD56Caaf',
- decimals: 8
- },
- {
- symbol: 'ELY',
- name: 'ELYCOIN',
- marketSymbol: 'ely',
- identifier: 'eth-erc20-ely',
- contractAddress: '0xa95592DCFfA3C080B4B40E459c5f5692F67DB7F8',
- decimals: 18
- },
- {
- symbol: 'EMB',
- name: 'Emblem',
- marketSymbol: 'emb',
- identifier: 'eth-erc20-emb',
- contractAddress: '0x28B94F58B11aC945341329dBf2e5EF7F8Bd44225',
- decimals: 8
- },
- {
- symbol: 'EMON',
- name: 'Etheremon',
- marketSymbol: 'emon',
- identifier: 'eth-erc20-emon',
- contractAddress: '0xb67b88a25708a35AE7c2d736D398D268CE4f7F83',
- decimals: 8
- },
- {
- symbol: 'EMONT',
- name: 'Etheremon Token',
- marketSymbol: 'emont',
- identifier: 'eth-erc20-emont',
- contractAddress: '0x95dAaaB98046846bF4B2853e23cba236fa394A31',
- decimals: 8
- },
- {
- symbol: 'EMT',
- name: 'easyMINE Token',
- marketSymbol: 'emt',
- identifier: 'eth-erc20-emt',
- contractAddress: '0x9501BFc48897DCEEadf73113EF635d2fF7ee4B97',
- decimals: 18
- },
- {
- symbol: 'EMV',
- name: 'EMovieVenture',
- marketSymbol: 'emv',
- identifier: 'eth-erc20-emv',
- contractAddress: '0xB802b24E0637c2B87D2E8b7784C055BBE921011a',
- decimals: 2
- },
- {
- symbol: 'ENC',
- name: 'Ethernet.Cash',
- marketSymbol: 'enc',
- identifier: 'eth-erc20-enc',
- contractAddress: '0x039F5050dE4908f9b5ddF40A4F3Aa3f329086387',
- decimals: 18
- },
- {
- symbol: 'ENG',
- name: 'Enigma',
- marketSymbol: 'eng',
- identifier: 'eth-erc20-eng',
- contractAddress: '0xf0Ee6b27b759C9893Ce4f094b49ad28fd15A23e4',
- decimals: 8
- },
- {
- symbol: 'ENGT',
- name: 'Engagement Token',
- marketSymbol: 'engt',
- identifier: 'eth-erc20-engt',
- contractAddress: '0x5DBAC24e98E2a4f43ADC0DC82Af403fca063Ce2c',
- decimals: 18
- },
- {
- symbol: 'ENJ',
- name: 'ENJIN',
- marketSymbol: 'enj',
- identifier: 'eth-erc20-enj',
- contractAddress: '0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c',
- decimals: 18
- },
- {
- symbol: 'ENTRP',
- name: 'Hut34 Entropy Token',
- marketSymbol: 'entrp',
- identifier: 'eth-erc20-entrp',
- contractAddress: '0x5BC7e5f0Ab8b2E10D2D0a3F21739FCe62459aeF3',
- decimals: 18
- },
- {
- symbol: 'EOS',
- name: 'EOS',
- marketSymbol: 'eos',
- identifier: 'eth-erc20-eos',
- contractAddress: '0x86Fa049857E0209aa7D9e616F7eb3b3B78ECfdb0',
- decimals: 18
- },
- {
- symbol: 'eosDAC',
- name: 'eosDAC',
- marketSymbol: 'eosdac',
- identifier: 'eth-erc20-eosdac',
- contractAddress: '0x7e9e431a0B8c4D532C745B1043c7FA29a48D4fBa',
- decimals: 18
- },
- {
- symbol: 'EPX',
- name: 'ethPoker.io EPX',
- marketSymbol: 'epx',
- identifier: 'eth-erc20-epx',
- contractAddress: '0x35BAA72038F127f9f8C8f9B491049f64f377914d',
- decimals: 4
- },
- {
- symbol: 'EPY',
- name: 'Emphy',
- marketSymbol: 'epy',
- identifier: 'eth-erc20-epy',
- contractAddress: '0x50Ee674689d75C0f88E8f83cfE8c4B69E8fd590D',
- decimals: 8
- },
- {
- symbol: 'EQL',
- name: 'Equal',
- marketSymbol: 'eql',
- identifier: 'eth-erc20-eql',
- contractAddress: '0x47dD62D4D075DeAd71d0e00299fc56a2d747beBb',
- decimals: 18
- },
- {
- symbol: 'ERO',
- name: 'Eroscoin',
- marketSymbol: 'ero',
- identifier: 'eth-erc20-ero',
- contractAddress: '0x74CEDa77281b339142A36817Fa5F9E29412bAb85',
- decimals: 8
- },
- {
- symbol: 'ERT',
- name: 'Eristica',
- marketSymbol: 'ert',
- identifier: 'eth-erc20-ert',
- contractAddress: '0x92A5B04D0ED5D94D7a193d1d334D3D16996f4E13',
- decimals: 18
- },
- {
- symbol: 'ESZ',
- name: 'ESZCoin',
- marketSymbol: 'esz',
- identifier: 'eth-erc20-esz',
- contractAddress: '0xe8A1Df958bE379045E2B46a31A98B93A2eCDfDeD',
- decimals: 18
- },
- {
- symbol: 'ETBS',
- name: 'Ethbits',
- marketSymbol: 'etbs',
- identifier: 'eth-erc20-etbs',
- contractAddress: '0x1B9743f556D65e757c4c650B4555bAF354cB8bd3',
- decimals: 12
- },
- {
- symbol: 'ETCH',
- name: 'ETCH',
- marketSymbol: 'etch',
- identifier: 'eth-erc20-etch',
- contractAddress: '0xDd74a7A3769fA72561B3A69e65968F49748c690c',
- decimals: 18
- },
- {
- symbol: 'ETG',
- name: 'Ethereum Gold',
- marketSymbol: 'etg',
- identifier: 'eth-erc20-etg',
- contractAddress: '0x28c8d01FF633eA9Cd8fc6a451D7457889E698de6',
- decimals: 0
- },
- {
- symbol: 'ETHB',
- name: 'EtherBTC',
- marketSymbol: 'ethb',
- identifier: 'eth-erc20-ethb',
- contractAddress: '0x3a26746Ddb79B1B8e4450e3F4FFE3285A307387E',
- decimals: 8
- },
- {
- symbol: 'ETHD',
- name: 'Ethereum Dark',
- marketSymbol: 'ethd',
- identifier: 'eth-erc20-ethd',
- contractAddress: '0xdbFb423E9bBF16294388e07696A5120E4CeBA0C5',
- decimals: 18
- },
- {
- symbol: 'ETK',
- name: 'EnergiToken',
- marketSymbol: 'etk',
- identifier: 'eth-erc20-etk',
- contractAddress: '0x3c4a3ffd813a107febd57B2f01BC344264D90FdE',
- decimals: 2
- },
- {
- symbol: 'ETR',
- name: 'Etheruem Risen',
- marketSymbol: 'etr',
- identifier: 'eth-erc20-etr',
- contractAddress: '0x6927C69fb4daf2043fbB1Cb7b86c5661416bea29',
- decimals: 18
- },
- {
- symbol: 'EURS',
- name: 'STASIS EURS',
- marketSymbol: 'eurs',
- identifier: 'eth-erc20-eurs',
- contractAddress: '0xdB25f211AB05b1c97D595516F45794528a807ad8',
- decimals: 2
- },
- {
- symbol: 'EURT',
- name: 'EUR Tether (erc20)',
- marketSymbol: 'eurt',
- identifier: 'eth-erc20-eurt',
- contractAddress: '0xAbdf147870235FcFC34153828c769A70B3FAe01F',
- decimals: 6
- },
- {
- symbol: 'eUSD',
- name: 'Ether-Backed USD Nomins (erc20)',
- marketSymbol: 'eusd',
- identifier: 'eth-erc20-eusd',
- contractAddress: '0x523630976eB6147621B5c31c781eBe2Ec2a806E0',
- decimals: 18
- },
- {
- symbol: 'EVC',
- name: 'EventChain',
- marketSymbol: 'evc',
- identifier: 'eth-erc20-evc',
- contractAddress: '0xb62d18DeA74045E822352CE4B3EE77319DC5ff2F',
- decimals: 18
- },
- {
- symbol: 'EVE',
- name: 'Devery',
- marketSymbol: 'eve',
- identifier: 'eth-erc20-eve',
- contractAddress: '0x923108a439C4e8C2315c4f6521E5cE95B44e9B4c',
- decimals: 18
- },
- {
- symbol: 'EVN',
- name: 'EvenCoin',
- marketSymbol: 'evn',
- identifier: 'eth-erc20-evn',
- contractAddress: '0x68909e586eeAC8F47315e84B4c9788DD54Ef65Bb',
- decimals: 18
- },
- {
- symbol: 'EVN',
- name: 'Envion AG',
- marketSymbol: 'evn',
- identifier: 'eth-erc20-evn',
- contractAddress: '0xd780Ae2Bf04cD96E577D3D014762f831d97129d0',
- decimals: 18
- },
- {
- symbol: 'EVX',
- name: 'EVX Token',
- marketSymbol: 'evx',
- identifier: 'eth-erc20-evx',
- contractAddress: '0xf3Db5Fa2C66B7aF3Eb0C0b782510816cbe4813b8',
- decimals: 4
- },
- {
- symbol: 'EWO',
- name: 'EWO Token',
- marketSymbol: 'ewo',
- identifier: 'eth-erc20-ewo',
- contractAddress: '0x444997b7e7fC830E20089afea3078cd518fCF2A2',
- decimals: 18
- },
- {
- symbol: 'EXC',
- name: 'Eximchain Token',
- marketSymbol: 'exc',
- identifier: 'eth-erc20-exc',
- contractAddress: '0x00c4B398500645eb5dA00a1a379a88B11683ba01',
- decimals: 18
- },
- {
- symbol: 'EXMR',
- name: 'eXMRcoin',
- marketSymbol: 'exmr',
- identifier: 'eth-erc20-exmr',
- contractAddress: '0xc98e0639c6d2EC037A615341c369666B110e80E5',
- decimals: 8
- },
- {
- symbol: 'EXRN',
- name: 'EXRNchain',
- marketSymbol: 'exrn',
- identifier: 'eth-erc20-exrn',
- contractAddress: '0xe469c4473af82217B30CF17b10BcDb6C8c796e75',
- decimals: 0
- },
- {
- symbol: 'EXY',
- name: 'Experty',
- marketSymbol: 'exy',
- identifier: 'eth-erc20-exy',
- contractAddress: '0x5c743a35E903F6c584514ec617ACEe0611Cf44f3',
- decimals: 18
- },
- {
- symbol: 'EZT',
- name: 'EZToken',
- marketSymbol: 'ezt',
- identifier: 'eth-erc20-ezt',
- contractAddress: '0x5e6016Ae7d7C49d347dcF834860B9f3Ee282812b',
- decimals: 8
- },
- {
- symbol: 'FABA',
- name: 'FABA',
- marketSymbol: 'faba',
- identifier: 'eth-erc20-faba',
- contractAddress: '0x0a1D2fF7156a48131553CF381F220bbedB4eFa37',
- decimals: 18
- },
- {
- symbol: 'FACE',
- name: 'Faceter',
- marketSymbol: 'face',
- identifier: 'eth-erc20-face',
- contractAddress: '0x1CCAA0F2a7210d76E1fDec740d5F323E2E1b1672',
- decimals: 18
- },
- {
- symbol: 'FAM',
- name: 'FAM',
- marketSymbol: 'fam',
- identifier: 'eth-erc20-fam',
- contractAddress: '0x190e569bE071F40c704e15825F285481CB74B6cC',
- decimals: 12
- },
- {
- symbol: 'FAN',
- name: 'Fan Token',
- marketSymbol: 'fan',
- identifier: 'eth-erc20-fan',
- contractAddress: '0x90162f41886c0946D09999736f1C15c8a105A421',
- decimals: 18
- },
- {
- symbol: 'FANX',
- name: 'FANX Token',
- marketSymbol: 'fanx',
- identifier: 'eth-erc20-fanx',
- contractAddress: '0x7dCB3B2356C822d3577D4d060D0D5D78C860488C',
- decimals: 18
- },
- {
- symbol: 'FANX',
- name: 'FANX Token',
- marketSymbol: 'fanx',
- identifier: 'eth-erc20-fanx',
- contractAddress: '0x7f6715c3FC4740A02F70De85B9FD50ac6001fEd9',
- decimals: 18
- },
- {
- symbol: 'FDZ',
- name: 'Friendz',
- marketSymbol: 'fdz',
- identifier: 'eth-erc20-fdz',
- contractAddress: '0x23352036E911A22Cfc692B5E2E196692658ADED9',
- decimals: 18
- },
- {
- symbol: 'FGP',
- name: 'FingerPrint',
- marketSymbol: 'fgp',
- identifier: 'eth-erc20-fgp',
- contractAddress: '0xd9A8cfe21C232D485065cb62a96866799d4645f7',
- decimals: 18
- },
- {
- symbol: 'FID',
- name: 'Fidelium',
- marketSymbol: 'fid',
- identifier: 'eth-erc20-fid',
- contractAddress: '0x52fb36C83ad33C1824912FC81071cA5eEB8AB390',
- decimals: 18
- },
- {
- symbol: 'FIH',
- name: 'FidelityHouse Token',
- marketSymbol: 'fih',
- identifier: 'eth-erc20-fih',
- contractAddress: '0xdfC3e857c8cCEA7657E0ed98AB92e048e38deE0f',
- decimals: 18
- },
- {
- symbol: 'FKX',
- name: 'Knoxstertoken',
- marketSymbol: 'fkx',
- identifier: 'eth-erc20-fkx',
- contractAddress: '0x009e864923b49263c7F10D19B7f8Ab7a9A5AAd33',
- decimals: 18
- },
- {
- symbol: 'FLIXX',
- name: 'Flixxo',
- marketSymbol: 'flixx',
- identifier: 'eth-erc20-flixx',
- contractAddress: '0xf04a8ac553FceDB5BA99A64799155826C136b0Be',
- decimals: 18
- },
- {
- symbol: 'FLMC',
- name: 'Filmscoin',
- marketSymbol: 'flmc',
- identifier: 'eth-erc20-flmc',
- contractAddress: '0x04cC783b450b8D11F3C7d00DD03fDF7FB51fE9F2',
- decimals: 18
- },
- {
- symbol: 'FLMC',
- name: 'Filmscoin',
- marketSymbol: 'flmc',
- identifier: 'eth-erc20-flmc',
- contractAddress: '0x5976F7dac1525eF3277836043bA474a35E6B4272',
- decimals: 0
- },
- {
- symbol: 'FLOT',
- name: 'Fire Lotto',
- marketSymbol: 'flot',
- identifier: 'eth-erc20-flot',
- contractAddress: '0x049399a6B048D52971F7D122aE21A1532722285F',
- decimals: 18
- },
- {
- symbol: 'FLP',
- name: 'FLIP Token',
- marketSymbol: 'flp',
- identifier: 'eth-erc20-flp',
- contractAddress: '0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3',
- decimals: 18
- },
- {
- symbol: 'FLR',
- name: 'Flair Coin',
- marketSymbol: 'flr',
- identifier: 'eth-erc20-flr',
- contractAddress: '0x9aeFBE0b3C3ba9Eab262CB9856E8157AB7648e09',
- decimals: 18
- },
- {
- symbol: 'FLUZ',
- name: 'Fluz Fluz Global',
- marketSymbol: 'fluz',
- identifier: 'eth-erc20-fluz',
- contractAddress: '0x954b5De09A55e59755aCBda29e1Eb74A45D30175',
- decimals: 18
- },
- {
- symbol: 'FLX',
- name: 'BitFlux',
- marketSymbol: 'flx',
- identifier: 'eth-erc20-flx',
- contractAddress: '0x70b147E01E9285E7cE68B9BA437Fe3a9190E756a',
- decimals: 18
- },
- {
- symbol: 'FMF',
- name: 'Formosa Financial Token',
- marketSymbol: 'fmf',
- identifier: 'eth-erc20-fmf',
- contractAddress: '0xb4d0FDFC8497AEF97d3c2892AE682eE06064A2BC',
- decimals: 18
- },
- {
- symbol: 'FND',
- name: 'FundRequest',
- marketSymbol: 'fnd',
- identifier: 'eth-erc20-fnd',
- contractAddress: '0x4DF47B4969B2911C966506E3592c41389493953b',
- decimals: 18
- },
- {
- symbol: 'FNKOS',
- name: 'FNKOS',
- marketSymbol: 'fnkos',
- identifier: 'eth-erc20-fnkos',
- contractAddress: '0x0707681F344dEB24184037fC0228856F2137B02E',
- decimals: 18
- },
- {
- symbol: 'FNTB',
- name: 'Fintab',
- marketSymbol: 'fntb',
- identifier: 'eth-erc20-fntb',
- contractAddress: '0xbD4B60a138b3fce3584EA01f50c0908c18f9677A',
- decimals: 8
- },
- {
- symbol: 'FOOD',
- name: 'FoodCoin',
- marketSymbol: 'food',
- identifier: 'eth-erc20-food',
- contractAddress: '0x2a093BcF0C98Ef744Bb6F69D74f2F85605324290',
- decimals: 8
- },
- {
- symbol: 'FORK',
- name: 'GastroAdvisorToken',
- marketSymbol: 'fork',
- identifier: 'eth-erc20-fork',
- contractAddress: '0x5bB1632fA0023e1AA76a1AE92B4635C8DBa49Fa2',
- decimals: 18
- },
- {
- symbol: 'FOTA',
- name: 'Fortuna',
- marketSymbol: 'fota',
- identifier: 'eth-erc20-fota',
- contractAddress: '0x4270bb238f6DD8B1c3ca01f96CA65b2647c06D3C',
- decimals: 18
- },
- {
- symbol: 'FR8',
- name: 'Fr8 Network',
- marketSymbol: 'fr8',
- identifier: 'eth-erc20-fr8',
- contractAddress: '0x8c39afDf7B17F12c553208555E51ab86E69C35aA',
- decimals: 8
- },
- {
- symbol: 'FRD',
- name: 'FARAD Cryptoken',
- marketSymbol: 'frd',
- identifier: 'eth-erc20-frd',
- contractAddress: '0x0ABeFb7611Cb3A01EA3FaD85f33C3C934F8e2cF4',
- decimals: 18
- },
- {
- symbol: 'FREC',
- name: 'Freyrchain',
- marketSymbol: 'frec',
- identifier: 'eth-erc20-frec',
- contractAddress: '0x17e67d1CB4e349B9CA4Bc3e17C7DF2a397A7BB64',
- decimals: 18
- },
- {
- symbol: 'FRV',
- name: 'Fitrova',
- marketSymbol: 'frv',
- identifier: 'eth-erc20-frv',
- contractAddress: '0x48DF4E0296f908CEAb0428A5182D19B31fC037d6',
- decimals: 8
- },
- {
- symbol: 'FSN',
- name: 'Fusion',
- marketSymbol: 'fsn',
- identifier: 'eth-erc20-fsn',
- contractAddress: '0xD0352a019e9AB9d757776F532377aAEbd36Fd541',
- decimals: 18
- },
- {
- symbol: 'FT',
- name: 'Fabric Token',
- marketSymbol: 'ft',
- identifier: 'eth-erc20-ft',
- contractAddress: '0x78a73B6CBc5D183CE56e786f6e905CaDEC63547B',
- decimals: 18
- },
- {
- symbol: 'FTC',
- name: 'FTC',
- marketSymbol: 'ftc',
- identifier: 'eth-erc20-ftc',
- contractAddress: '0xe6f74dcfa0E20883008d8C16b6d9a329189D0C30',
- decimals: 2
- },
- {
- symbol: 'FTI',
- name: 'FansTime',
- marketSymbol: 'fti',
- identifier: 'eth-erc20-fti',
- contractAddress: '0x943ED852DadB5C3938ECdC6883718df8142DE4C8',
- decimals: 18
- },
- {
- symbol: 'FTR',
- name: 'Futourist Token',
- marketSymbol: 'ftr',
- identifier: 'eth-erc20-ftr',
- contractAddress: '0x2023DCf7c438c8C8C0B0F28dBaE15520B4f3Ee20',
- decimals: 18
- },
- {
- symbol: 'FTT',
- name: 'FarmaTrust Token',
- marketSymbol: 'ftt',
- identifier: 'eth-erc20-ftt',
- contractAddress: '0x2AEC18c5500f21359CE1BEA5Dc1777344dF4C0Dc',
- decimals: 18
- },
- {
- symbol: 'FTX',
- name: 'FintruX Network',
- marketSymbol: 'ftx',
- identifier: 'eth-erc20-ftx',
- contractAddress: '0xd559f20296FF4895da39b5bd9ADd54b442596a61',
- decimals: 18
- },
- {
- symbol: 'FTXT',
- name: 'FUTURAX',
- marketSymbol: 'ftxt',
- identifier: 'eth-erc20-ftxt',
- contractAddress: '0x41875C2332B0877cDFAA699B641402b7D4642c32',
- decimals: 8
- },
- {
- symbol: 'FUCK',
- name: 'Finally Usable Crypto Karma',
- marketSymbol: 'fuck',
- identifier: 'eth-erc20-fuck',
- contractAddress: '0x65Be44C747988fBF606207698c944Df4442efE19',
- decimals: 4
- },
- {
- symbol: 'FUCK',
- name: 'FinallyUsableCryptoKarma',
- marketSymbol: 'fuck',
- identifier: 'eth-erc20-fuck',
- contractAddress: '0xAb16E0d25c06CB376259cc18C1de4ACA57605589',
- decimals: 4
- },
- {
- symbol: 'FUEL',
- name: 'Etherparty FUEL',
- marketSymbol: 'fuel',
- identifier: 'eth-erc20-fuel',
- contractAddress: '0xEA38eAa3C86c8F9B751533Ba2E562deb9acDED40',
- decimals: 18
- },
- {
- symbol: 'FUN',
- name: 'Funfair',
- marketSymbol: 'fun',
- identifier: 'eth-erc20-fun',
- contractAddress: '0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b',
- decimals: 8
- },
- {
- symbol: 'FXC',
- name: 'FUTURAX',
- marketSymbol: 'fxc',
- identifier: 'eth-erc20-fxc',
- contractAddress: '0xc92D6E3E64302C59d734f3292E2A13A13D7E1817',
- decimals: 8
- },
- {
- symbol: 'FXT',
- name: 'FuzeX',
- marketSymbol: 'fxt',
- identifier: 'eth-erc20-fxt',
- contractAddress: '0x1829aA045E21E0D59580024A951DB48096e01782',
- decimals: 18
- },
- {
- symbol: 'FYN',
- name: 'Fund Yourself Now',
- marketSymbol: 'fyn',
- identifier: 'eth-erc20-fyn',
- contractAddress: '0x88FCFBc22C6d3dBaa25aF478C578978339BDe77a',
- decimals: 18
- },
- {
- symbol: 'FYP',
- name: 'FlypMe',
- marketSymbol: 'fyp',
- identifier: 'eth-erc20-fyp',
- contractAddress: '0x8F0921f30555624143d427b340b1156914882C10',
- decimals: 18
- },
- {
- symbol: 'Fzcoin',
- name: 'Frozencoin Network',
- marketSymbol: 'fzcoin',
- identifier: 'eth-erc20-fzcoin',
- contractAddress: '0xE5aeE163513119F4F750376C718766B40fA37A5F',
- decimals: 18
- },
- {
- symbol: 'GAM',
- name: 'Gambit',
- marketSymbol: 'gam',
- identifier: 'eth-erc20-gam',
- contractAddress: '0xF67451Dc8421F0e0afEB52faa8101034ed081Ed9',
- decimals: 8
- },
- {
- symbol: 'GANA',
- name: 'GANA',
- marketSymbol: 'gana',
- identifier: 'eth-erc20-gana',
- contractAddress: '0xc0EA6306F6360FE7dCAB65D16Bf1a3AF92C79Aa2',
- decimals: 18
- },
- {
- symbol: 'GANA',
- name: 'GANA',
- marketSymbol: 'gana',
- identifier: 'eth-erc20-gana',
- contractAddress: '0x6754e21b9EAa053c62d7854dD6561ae451B0cBCf',
- decimals: 18
- },
- {
- symbol: 'GAT',
- name: 'Global Awards Token',
- marketSymbol: 'gat',
- identifier: 'eth-erc20-gat',
- contractAddress: '0x687174f8C49ceb7729D925C3A961507ea4Ac7b28',
- decimals: 18
- },
- {
- symbol: 'GAVEL',
- name: 'GAVEL',
- marketSymbol: 'gavel',
- identifier: 'eth-erc20-gavel',
- contractAddress: '0x708876f486e448Ee89eB332bFbC8E593553058b9',
- decimals: 18
- },
- {
- symbol: 'GBT',
- name: 'GBT',
- marketSymbol: 'gbt',
- identifier: 'eth-erc20-gbt',
- contractAddress: '0x7585F835ae2d522722d2684323a0ba83401f32f5',
- decimals: 18
- },
- {
- symbol: 'GBX',
- name: 'Globitex',
- marketSymbol: 'gbx',
- identifier: 'eth-erc20-gbx',
- contractAddress: '0x12fCd6463E66974cF7bBC24FFC4d40d6bE458283',
- decimals: 18
- },
- {
- symbol: 'GCP',
- name: 'Globcoin Crypto Platform',
- marketSymbol: 'gcp',
- identifier: 'eth-erc20-gcp',
- contractAddress: '0xdb0F69306FF8F949f258E83f6b87ee5D052d0b23',
- decimals: 18
- },
- {
- symbol: 'GEE',
- name: 'Geens NPO',
- marketSymbol: 'gee',
- identifier: 'eth-erc20-gee',
- contractAddress: '0x4F4f0Db4de903B88f2B1a2847971E231D54F8fd3',
- decimals: 8
- },
- {
- symbol: 'GELD',
- name: 'GELD',
- marketSymbol: 'geld',
- identifier: 'eth-erc20-geld',
- contractAddress: '0x24083Bb30072643C3bB90B44B7285860a755e687',
- decimals: 18
- },
- {
- symbol: 'GEM',
- name: 'Gems',
- marketSymbol: 'gem',
- identifier: 'eth-erc20-gem',
- contractAddress: '0xc7BbA5b765581eFb2Cdd2679DB5Bea9eE79b201f',
- decimals: 18
- },
- {
- symbol: 'GEN',
- name: 'DAOstack',
- marketSymbol: 'gen',
- identifier: 'eth-erc20-gen',
- contractAddress: '0x543Ff227F64Aa17eA132Bf9886cAb5DB55DCAddf',
- decimals: 18
- },
- {
- symbol: 'GENE',
- name: 'Parkgene',
- marketSymbol: 'gene',
- identifier: 'eth-erc20-gene',
- contractAddress: '0x6DD4e4Aad29A40eDd6A409b9c1625186C9855b4D',
- decimals: 8
- },
- {
- symbol: 'GET',
- name: 'GET Protocol',
- marketSymbol: 'get',
- identifier: 'eth-erc20-get',
- contractAddress: '0x8a854288a5976036A725879164Ca3e91d30c6A1B',
- decimals: 18
- },
- {
- symbol: 'GIF',
- name: 'GIFcoin Token',
- marketSymbol: 'gif',
- identifier: 'eth-erc20-gif',
- contractAddress: '0xFcD862985628b254061F7A918035B80340D045d3',
- decimals: 18
- },
- {
- symbol: 'GIM',
- name: 'Gimli',
- marketSymbol: 'gim',
- identifier: 'eth-erc20-gim',
- contractAddress: '0xaE4f56F072c34C0a65B3ae3E4DB797D831439D93',
- decimals: 8
- },
- {
- symbol: 'GLA',
- name: 'Gladius',
- marketSymbol: 'gla',
- identifier: 'eth-erc20-gla',
- contractAddress: '0x71D01dB8d6a2fBEa7f8d434599C237980C234e4C',
- decimals: 8
- },
- {
- symbol: 'GMT',
- name: 'GMT',
- marketSymbol: 'gmt',
- identifier: 'eth-erc20-gmt',
- contractAddress: '0xb3Bd49E28f8F832b8d1E246106991e546c323502',
- decimals: 18
- },
- {
- symbol: 'GNO',
- name: 'Gnosis',
- marketSymbol: 'gno',
- identifier: 'eth-erc20-gno',
- contractAddress: '0x6810e776880C02933D47DB1b9fc05908e5386b96',
- decimals: 18
- },
- {
- symbol: 'GNT',
- name: 'Golem',
- marketSymbol: 'gnt',
- identifier: 'eth-erc20-gnt',
- contractAddress: '0xa74476443119A942dE498590Fe1f2454d7D4aC0d',
- decimals: 18
- },
- {
- symbol: 'GNX',
- name: 'Genaro Network',
- marketSymbol: 'gnx',
- identifier: 'eth-erc20-gnx',
- contractAddress: '0x6EC8a24CaBdc339A06a172F8223ea557055aDAa5',
- decimals: 9
- },
- {
- symbol: 'GNY',
- name: 'GNY',
- marketSymbol: 'gny',
- identifier: 'eth-erc20-gny',
- contractAddress: '0x247551F2EB3362E222c742E9c788B8957D9BC87e',
- decimals: 18
- },
- {
- symbol: 'GOLDX',
- name: 'GOLDX',
- marketSymbol: 'goldx',
- identifier: 'eth-erc20-goldx',
- contractAddress: '0xeAb43193CF0623073Ca89DB9B712796356FA7414',
- decimals: 18
- },
- {
- symbol: 'GOT',
- name: 'GoNetwork',
- marketSymbol: 'got',
- identifier: 'eth-erc20-got',
- contractAddress: '0x423b5F62b328D0D6D44870F4Eee316befA0b2dF5',
- decimals: 18
- },
- {
- symbol: 'GRID',
- name: 'Grid+',
- marketSymbol: 'grid',
- identifier: 'eth-erc20-grid',
- contractAddress: '0x12B19D3e2ccc14Da04FAe33e63652ce469b3F2FD',
- decimals: 12
- },
- {
- symbol: 'GRMD',
- name: 'GreenMed',
- marketSymbol: 'grmd',
- identifier: 'eth-erc20-grmd',
- contractAddress: '0xb444208cB0516C150178fCf9a52604BC04A1aCEa',
- decimals: 18
- },
- {
- symbol: 'GROO',
- name: 'Groocoin',
- marketSymbol: 'groo',
- identifier: 'eth-erc20-groo',
- contractAddress: '0xC17195bde49D70CefCF8A9F2ee1759FFC27BF0B1',
- decimals: 18
- },
- {
- symbol: 'GROW',
- name: 'Growchain',
- marketSymbol: 'grow',
- identifier: 'eth-erc20-grow',
- contractAddress: '0x0a9A9ce600D08BF9b76F49FA4e7b38A67EBEB1E6',
- decimals: 8
- },
- {
- symbol: 'GSC',
- name: 'Global Social Chain',
- marketSymbol: 'gsc',
- identifier: 'eth-erc20-gsc',
- contractAddress: '0x228ba514309FFDF03A81a205a6D040E429d6E80C',
- decimals: 18
- },
- {
- symbol: 'GSE',
- name: 'GSENetwork',
- marketSymbol: 'gse',
- identifier: 'eth-erc20-gse',
- contractAddress: '0xe530441f4f73bDB6DC2fA5aF7c3fC5fD551Ec838',
- decimals: 4
- },
- {
- symbol: 'GTC',
- name: 'GTC Token',
- marketSymbol: 'gtc',
- identifier: 'eth-erc20-gtc',
- contractAddress: '0xB70835D7822eBB9426B56543E391846C107bd32C',
- decimals: 18
- },
- {
- symbol: 'GTKT',
- name: 'GTKT',
- marketSymbol: 'gtkt',
- identifier: 'eth-erc20-gtkt',
- contractAddress: '0x025abAD9e518516fdaAFBDcdB9701b37fb7eF0FA',
- decimals: 0
- },
- {
- symbol: 'GTO',
- name: 'Gifto',
- marketSymbol: 'gto',
- identifier: 'eth-erc20-gto',
- contractAddress: '0xC5bBaE50781Be1669306b9e001EFF57a2957b09d',
- decimals: 5
- },
- {
- symbol: 'GUESS',
- name: 'Peerguess',
- marketSymbol: 'guess',
- identifier: 'eth-erc20-guess',
- contractAddress: '0xBDCFbf5C4D91Abc0bC9709C7286d00063c0e6F22',
- decimals: 2
- },
- {
- symbol: 'GULD',
- name: 'GULD ERC20',
- marketSymbol: 'guld',
- identifier: 'eth-erc20-guld',
- contractAddress: '0x9847345de8b614c956146bbea549336d9C8d26b6',
- decimals: 8
- },
- {
- symbol: 'GUP',
- name: 'Matchpool',
- marketSymbol: 'gup',
- identifier: 'eth-erc20-gup',
- contractAddress: '0xf7B098298f7C69Fc14610bf71d5e02c60792894C',
- decimals: 3
- },
- {
- symbol: 'GUSD',
- name: 'Gemini dollar',
- marketSymbol: 'gusd',
- identifier: 'eth-erc20-gusd',
- contractAddress: '0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd',
- decimals: 2
- },
- {
- symbol: 'GVT',
- name: 'Genesis Vision',
- marketSymbol: 'gvt',
- identifier: 'eth-erc20-gvt',
- contractAddress: '0x103c3A209da59d3E7C4A89307e66521e081CFDF0',
- decimals: 18
- },
- {
- symbol: 'GXC',
- name: 'GXC',
- marketSymbol: 'gxc',
- identifier: 'eth-erc20-gxc',
- contractAddress: '0x58ca3065C0F24C7c96Aee8d6056b5B5deCf9c2f8',
- decimals: 10
- },
- {
- symbol: 'GXVC',
- name: 'Genevieve VC',
- marketSymbol: 'gxvc',
- identifier: 'eth-erc20-gxvc',
- contractAddress: '0x22F0AF8D78851b72EE799e05F54A77001586B18A',
- decimals: 10
- },
- {
- symbol: 'GZB',
- name: 'GigziBlack',
- marketSymbol: 'gzb',
- identifier: 'eth-erc20-gzb',
- contractAddress: '0x9DAe8b7F6D37ea8e5d32C6c3E856a6d8a1d3B363',
- decimals: 18
- },
- {
- symbol: 'GZE',
- name: 'GazeCoin',
- marketSymbol: 'gze',
- identifier: 'eth-erc20-gze',
- contractAddress: '0x8C65e992297d5f092A756dEf24F4781a280198Ff',
- decimals: 18
- },
- {
- symbol: 'GZR',
- name: 'Gizer',
- marketSymbol: 'gzr',
- identifier: 'eth-erc20-gzr',
- contractAddress: '0xE638dc39b6aDBEE8526b5C22380b4b45dAf46d8e',
- decimals: 6
- },
- {
- symbol: 'HAK',
- name: 'Shaka',
- marketSymbol: 'hak',
- identifier: 'eth-erc20-hak',
- contractAddress: '0x93a7174dafd31d13400cD9fa01f4e5B5BAa00D39',
- decimals: 18
- },
- {
- symbol: 'HAND',
- name: 'ShowHand',
- marketSymbol: 'hand',
- identifier: 'eth-erc20-hand',
- contractAddress: '0x48C1B2f3eFA85fbafb2ab951bF4Ba860a08cdBB7',
- decimals: 0
- },
- {
- symbol: 'HAPPY',
- name: 'Happiness',
- marketSymbol: 'happy',
- identifier: 'eth-erc20-happy',
- contractAddress: '0x5A567e28dbFa2bBD3ef13C0a01be114745349657',
- decimals: 2
- },
- {
- symbol: 'HAT',
- name: 'Hawala Today',
- marketSymbol: 'hat',
- identifier: 'eth-erc20-hat',
- contractAddress: '0x9002D4485b7594e3E850F0a206713B305113f69e',
- decimals: 18
- },
- {
- symbol: 'HB',
- name: 'HeartBout',
- marketSymbol: 'hb',
- identifier: 'eth-erc20-hb',
- contractAddress: '0xE2492F8D2A2618d8709Ca99b1d8d75713Bd84089',
- decimals: 18
- },
- {
- symbol: 'HBT',
- name: 'Hubii Network',
- marketSymbol: 'hbt',
- identifier: 'eth-erc20-hbt',
- contractAddress: '0xDd6C68bb32462e01705011a4e2Ad1a60740f217F',
- decimals: 15
- },
- {
- symbol: 'HBZ',
- name: 'HBZ coin',
- marketSymbol: 'hbz',
- identifier: 'eth-erc20-hbz',
- contractAddress: '0xE34e1944E776f39B9252790a0527eBDa647aE668',
- decimals: 18
- },
- {
- symbol: 'HDG',
- name: 'Hedge Crypto',
- marketSymbol: 'hdg',
- identifier: 'eth-erc20-hdg',
- contractAddress: '0xfFe8196bc259E8dEDc544d935786Aa4709eC3E64',
- decimals: 18
- },
- {
- symbol: 'HDL',
- name: 'HOLDER.TECH',
- marketSymbol: 'hdl',
- identifier: 'eth-erc20-hdl',
- contractAddress: '0x95C4be8534d69C248C0623c4C9a7A2a001c17337',
- decimals: 18
- },
- {
- symbol: 'Hdp',
- name: 'HEdpAY',
- marketSymbol: 'hdp',
- identifier: 'eth-erc20-hdp',
- contractAddress: '0xE9fF07809CCff05daE74990e25831d0Bc5cbe575',
- decimals: 18
- },
- {
- symbol: 'Hdp.Ñ„',
- name: 'HEdpAY',
- marketSymbol: 'hdp.Ñ„',
- identifier: 'eth-erc20-hdp.Ñ„',
- contractAddress: '0x84543F868eC1b1FAC510d49d13C069f64cD2d5f9',
- decimals: 18
- },
- {
- symbol: 'HER',
- name: 'HeroNode',
- marketSymbol: 'her',
- identifier: 'eth-erc20-her',
- contractAddress: '0x491C9A23DB85623EEd455a8EfDd6AbA9b911C5dF',
- decimals: 18
- },
- {
- symbol: 'HGT',
- name: 'HelloGold',
- marketSymbol: 'hgt',
- identifier: 'eth-erc20-hgt',
- contractAddress: '0xba2184520A1cC49a6159c57e61E1844E085615B6',
- decimals: 8
- },
- {
- symbol: 'HIBT',
- name: 'HiBTC Token',
- marketSymbol: 'hibt',
- identifier: 'eth-erc20-hibt',
- contractAddress: '0x9bb1Db1445b83213a56d90d331894b3f26218e4e',
- decimals: 18
- },
- {
- symbol: 'HIG',
- name: 'ethereumhigh',
- marketSymbol: 'hig',
- identifier: 'eth-erc20-hig',
- contractAddress: '0xa9240fBCAC1F0b9A6aDfB04a53c8E3B0cC1D1444',
- decimals: 18
- },
- {
- symbol: 'HKG',
- name: 'HKG',
- marketSymbol: 'hkg',
- identifier: 'eth-erc20-hkg',
- contractAddress: '0x14F37B574242D366558dB61f3335289a5035c506',
- decimals: 3
- },
- {
- symbol: 'HKN',
- name: 'Hacken',
- marketSymbol: 'hkn',
- identifier: 'eth-erc20-hkn',
- contractAddress: '0x9e6B2B11542f2BC52f3029077acE37E8fD838D7F',
- decimals: 8
- },
- {
- symbol: 'HKY',
- name: 'Hicky',
- marketSymbol: 'hky',
- identifier: 'eth-erc20-hky',
- contractAddress: '0x88aC94D5d175130347Fc95E109d77AC09dbF5ab7',
- decimals: 18
- },
- {
- symbol: 'HLX',
- name: 'Helex',
- marketSymbol: 'hlx',
- identifier: 'eth-erc20-hlx',
- contractAddress: '0x66eb65D7Ab8e9567ba0fa6E37c305956c5341574',
- decimals: 5
- },
- {
- symbol: 'HMC',
- name: 'Hms Token',
- marketSymbol: 'hmc',
- identifier: 'eth-erc20-hmc',
- contractAddress: '0xAa0bb10CEc1fa372eb3Abc17C933FC6ba863DD9E',
- decimals: 18
- },
- {
- symbol: 'HMQ',
- name: 'Humaniq',
- marketSymbol: 'hmq',
- identifier: 'eth-erc20-hmq',
- contractAddress: '0xcbCC0F036ED4788F63FC0fEE32873d6A7487b908',
- decimals: 8
- },
- {
- symbol: 'HODL',
- name: 'HODLCoin',
- marketSymbol: 'hodl',
- identifier: 'eth-erc20-hodl',
- contractAddress: '0xb45d7Bc4cEBcAB98aD09BABDF8C818B2292B672c',
- decimals: 18
- },
- {
- symbol: 'HORSE',
- name: 'Ethorse',
- marketSymbol: 'horse',
- identifier: 'eth-erc20-horse',
- contractAddress: '0x5B0751713b2527d7f002c0c4e2a37e1219610A6B',
- decimals: 18
- },
- {
- symbol: 'HOT (Holo)',
- name: 'Holo Token',
- marketSymbol: 'hot (holo)',
- identifier: 'eth-erc20-hot (holo)',
- contractAddress: '0x6c6EE5e31d828De241282B9606C8e98Ea48526E2',
- decimals: 18
- },
- {
- symbol: 'HOT (Hydro)',
- name: 'Hydro Protocol',
- marketSymbol: 'hot (hydro)',
- identifier: 'eth-erc20-hot (hydro)',
- contractAddress: '0x9AF839687F6C94542ac5ece2e317dAAE355493A1',
- decimals: 18
- },
- {
- symbol: 'HPB',
- name: 'HPBCoin',
- marketSymbol: 'hpb',
- identifier: 'eth-erc20-hpb',
- contractAddress: '0x38c6A68304cdEfb9BEc48BbFaABA5C5B47818bb2',
- decimals: 18
- },
- {
- symbol: 'HST',
- name: 'Decision Token',
- marketSymbol: 'hst',
- identifier: 'eth-erc20-hst',
- contractAddress: '0x554C20B7c486beeE439277b4540A434566dC4C02',
- decimals: 18
- },
- {
- symbol: 'HT',
- name: 'Huobi Token',
- marketSymbol: 'ht',
- identifier: 'eth-erc20-ht',
- contractAddress: '0x6f259637dcD74C767781E37Bc6133cd6A68aa161',
- decimals: 18
- },
- {
- symbol: 'HVN',
- name: 'Hiveterminal Token',
- marketSymbol: 'hvn',
- identifier: 'eth-erc20-hvn',
- contractAddress: '0xC0Eb85285d83217CD7c891702bcbC0FC401E2D9D',
- decimals: 8
- },
- {
- symbol: 'HYDRO',
- name: 'Hydro',
- marketSymbol: 'hydro',
- identifier: 'eth-erc20-hydro',
- contractAddress: '0xEBBdf302c940c6bfd49C6b165f457fdb324649bc',
- decimals: 18
- },
- {
- symbol: 'IAD',
- name: 'IADOWR Coin',
- marketSymbol: 'iad',
- identifier: 'eth-erc20-iad',
- contractAddress: '0xC1E2097d788d33701BA3Cc2773BF67155ec93FC4',
- decimals: 18
- },
- {
- symbol: 'ICE',
- name: 'ICE',
- marketSymbol: 'ice',
- identifier: 'eth-erc20-ice',
- contractAddress: '0x5a84969bb663fb64F6d015DcF9F622Aedc796750',
- decimals: 18
- },
- {
- symbol: 'ICN',
- name: 'ICONOMI',
- marketSymbol: 'icn',
- identifier: 'eth-erc20-icn',
- contractAddress: '0x888666CA69E0f178DED6D75b5726Cee99A87D698',
- decimals: 18
- },
- {
- symbol: 'ICO',
- name: 'ICO',
- marketSymbol: 'ico',
- identifier: 'eth-erc20-ico',
- contractAddress: '0xa33e729bf4fdeb868B534e1f20523463D9C46bEe',
- decimals: 10
- },
- {
- symbol: 'ICOS',
- name: 'ICOS',
- marketSymbol: 'icos',
- identifier: 'eth-erc20-icos',
- contractAddress: '0x014B50466590340D41307Cc54DCee990c8D58aa8',
- decimals: 6
- },
- {
- symbol: 'ICX',
- name: 'ICON',
- marketSymbol: 'icx',
- identifier: 'eth-erc20-icx',
- contractAddress: '0xb5A5F22694352C15B00323844aD545ABb2B11028',
- decimals: 18
- },
- {
- symbol: 'IDEA',
- name: 'IDEA Token',
- marketSymbol: 'idea',
- identifier: 'eth-erc20-idea',
- contractAddress: '0x814CAfd4782d2e728170FDA68257983F03321c58',
- decimals: 0
- },
- {
- symbol: 'IDH',
- name: 'indaHash',
- marketSymbol: 'idh',
- identifier: 'eth-erc20-idh',
- contractAddress: '0x5136C98A80811C3f46bDda8B5c4555CFd9f812F0',
- decimals: 6
- },
- {
- symbol: 'IDXM',
- name: 'IDEX Membership',
- marketSymbol: 'idxm',
- identifier: 'eth-erc20-idxm',
- contractAddress: '0xCc13Fc627EFfd6E35D2D2706Ea3C4D7396c610ea',
- decimals: 8
- },
- {
- symbol: 'IETH',
- name: 'iEthereum',
- marketSymbol: 'ieth',
- identifier: 'eth-erc20-ieth',
- contractAddress: '0x859a9C0b44cb7066D956a958B0b82e54C9e44b4B',
- decimals: 8
- },
- {
- symbol: 'IFT',
- name: 'InvestFeed',
- marketSymbol: 'ift',
- identifier: 'eth-erc20-ift',
- contractAddress: '0x7654915A1b82D6D2D0AFc37c52Af556eA8983c7E',
- decimals: 18
- },
- {
- symbol: 'IG',
- name: 'IGToken',
- marketSymbol: 'ig',
- identifier: 'eth-erc20-ig',
- contractAddress: '0x8a88f04e0c905054D2F33b26BB3A46D7091A039A',
- decimals: 18
- },
- {
- symbol: 'IHT',
- name: 'I HOUSE TOKEN',
- marketSymbol: 'iht',
- identifier: 'eth-erc20-iht',
- contractAddress: '0xEda8B016efA8b1161208Cf041cD86972eeE0F31E',
- decimals: 18
- },
- {
- symbol: 'IIC',
- name: 'IIC',
- marketSymbol: 'iic',
- identifier: 'eth-erc20-iic',
- contractAddress: '0x16662F73dF3e79e54c6c5938b4313f92C524C120',
- decimals: 18
- },
- {
- symbol: 'IKB',
- name: 'IKB',
- marketSymbol: 'ikb',
- identifier: 'eth-erc20-ikb',
- contractAddress: '0x88AE96845e157558ef59e9Ff90E766E22E480390',
- decimals: 0
- },
- {
- symbol: 'IMC',
- name: 'Immune Coin',
- marketSymbol: 'imc',
- identifier: 'eth-erc20-imc',
- contractAddress: '0xe3831c5A982B279A198456D577cfb90424cb6340',
- decimals: 6
- },
- {
- symbol: 'IMT',
- name: 'IMT',
- marketSymbol: 'imt',
- identifier: 'eth-erc20-imt',
- contractAddress: '0x22E5F62D0FA19974749faa194e3d3eF6d89c08d7',
- decimals: 0
- },
- {
- symbol: 'IMT',
- name: 'Moneytoken',
- marketSymbol: 'imt',
- identifier: 'eth-erc20-imt',
- contractAddress: '0x13119E34E140097a507B07a5564bDe1bC375D9e6',
- decimals: 18
- },
- {
- symbol: 'IND',
- name: 'Indorse',
- marketSymbol: 'ind',
- identifier: 'eth-erc20-ind',
- contractAddress: '0xf8e386EDa857484f5a12e4B5DAa9984E06E73705',
- decimals: 18
- },
- {
- symbol: 'ING',
- name: 'Iungo',
- marketSymbol: 'ing',
- identifier: 'eth-erc20-ing',
- contractAddress: '0x24dDFf6D8B8a42d835af3b440De91f3386554Aa4',
- decimals: 18
- },
- {
- symbol: 'INRM',
- name: 'Integrated Money',
- marketSymbol: 'inrm',
- identifier: 'eth-erc20-inrm',
- contractAddress: '0x48e5413b73add2434e47504E2a22d14940dBFe78',
- decimals: 3
- },
- {
- symbol: 'INS',
- name: 'Insolar',
- marketSymbol: 'ins',
- identifier: 'eth-erc20-ins',
- contractAddress: '0x5B2e4a700dfBc560061e957edec8F6EeEb74a320',
- decimals: 10
- },
- {
- symbol: 'INSTAR',
- name: 'Insights Network',
- marketSymbol: 'instar',
- identifier: 'eth-erc20-instar',
- contractAddress: '0xc72fe8e3Dd5BeF0F9f31f259399F301272eF2a2D',
- decimals: 18
- },
- {
- symbol: 'INT',
- name: 'Internet Node Token',
- marketSymbol: 'int',
- identifier: 'eth-erc20-int',
- contractAddress: '0x0b76544F6C413a555F309Bf76260d1E02377c02A',
- decimals: 6
- },
- {
- symbol: 'INV',
- name: 'Invacio',
- marketSymbol: 'inv',
- identifier: 'eth-erc20-inv',
- contractAddress: '0xEcE83617Db208Ad255Ad4f45Daf81E25137535bb',
- decimals: 8
- },
- {
- symbol: 'INXT',
- name: 'Internxt',
- marketSymbol: 'inxt',
- identifier: 'eth-erc20-inxt',
- contractAddress: '0xa8006C4ca56F24d6836727D106349320dB7fEF82',
- decimals: 8
- },
- {
- symbol: 'IOST',
- name: 'IOSToken',
- marketSymbol: 'iost',
- identifier: 'eth-erc20-iost',
- contractAddress: '0xFA1a856Cfa3409CFa145Fa4e20Eb270dF3EB21ab',
- decimals: 18
- },
- {
- symbol: 'IoT',
- name: 'IoTコイン',
- marketSymbol: 'iot',
- identifier: 'eth-erc20-iot',
- contractAddress: '0xC34B21f6F8e51cC965c2393B3ccFa3b82BEb2403',
- decimals: 6
- },
- {
- symbol: 'IOTX',
- name: 'IoTeX Network',
- marketSymbol: 'iotx',
- identifier: 'eth-erc20-iotx',
- contractAddress: '0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69',
- decimals: 18
- },
- {
- symbol: 'IPL',
- name: 'InsurePal token',
- marketSymbol: 'ipl',
- identifier: 'eth-erc20-ipl',
- contractAddress: '0x64CdF819d3E75Ac8eC217B3496d7cE167Be42e80',
- decimals: 18
- },
- {
- symbol: 'IPSX',
- name: 'IP Exchange',
- marketSymbol: 'ipsx',
- identifier: 'eth-erc20-ipsx',
- contractAddress: '0x001F0aA5dA15585e5b2305DbaB2bac425ea71007',
- decimals: 18
- },
- {
- symbol: 'IQN',
- name: 'IQeon',
- marketSymbol: 'iqn',
- identifier: 'eth-erc20-iqn',
- contractAddress: '0x0DB8D8b76BC361bAcbB72E2C491E06085A97Ab31',
- decimals: 18
- },
- {
- symbol: 'IST34',
- name: 'IST34 Token',
- marketSymbol: 'ist34',
- identifier: 'eth-erc20-ist34',
- contractAddress: '0x0cF713b11C9b986EC40D65bD4F7fbd50F6ff2d64',
- decimals: 18
- },
- {
- symbol: 'ITC',
- name: 'IoT Chain',
- marketSymbol: 'itc',
- identifier: 'eth-erc20-itc',
- contractAddress: '0x5E6b6d9aBAd9093fdc861Ea1600eBa1b355Cd940',
- decimals: 18
- },
- {
- symbol: 'ITT',
- name: 'ITT Token',
- marketSymbol: 'itt',
- identifier: 'eth-erc20-itt',
- contractAddress: '0x0aeF06DcCCC531e581f0440059E6FfCC206039EE',
- decimals: 8
- },
- {
- symbol: 'IVY',
- name: 'IvyKoin Public Network Tokens',
- marketSymbol: 'ivy',
- identifier: 'eth-erc20-ivy',
- contractAddress: '0xA4eA687A2A7F29cF2dc66B39c68e4411C0D00C49',
- decimals: 18
- },
- {
- symbol: 'IXT',
- name: 'InsureX',
- marketSymbol: 'ixt',
- identifier: 'eth-erc20-ixt',
- contractAddress: '0xfcA47962D45ADFdfd1Ab2D972315dB4ce7CCf094',
- decimals: 8
- },
- {
- symbol: 'J8T',
- name: 'J8T Token',
- marketSymbol: 'j8t',
- identifier: 'eth-erc20-j8t',
- contractAddress: '0x0D262e5dC4A06a0F1c90cE79C7a60C09DfC884E4',
- decimals: 8
- },
- {
- symbol: 'JBX',
- name: 'JBX',
- marketSymbol: 'jbx',
- identifier: 'eth-erc20-jbx',
- contractAddress: '0x0Aaf561eFF5BD9c8F911616933F84166A17cfE0C',
- decimals: 0
- },
- {
- symbol: 'JBX',
- name: 'JBOX',
- marketSymbol: 'jbx',
- identifier: 'eth-erc20-jbx',
- contractAddress: '0x884e3902C4d5cFA86de4aCE7A96AA91EbC25C0Ff',
- decimals: 18
- },
- {
- symbol: 'JC',
- name: 'Jesus Coin',
- marketSymbol: 'jc',
- identifier: 'eth-erc20-jc',
- contractAddress: '0xE2D82Dc7dA0E6f882E96846451F4faBcc8f90528',
- decimals: 18
- },
- {
- symbol: 'JET',
- name: 'JET',
- marketSymbol: 'jet',
- identifier: 'eth-erc20-jet',
- contractAddress: '0x8727c112C712c4a03371AC87a74dD6aB104Af768',
- decimals: 18
- },
- {
- symbol: 'JetCoins',
- name: 'JetCoins',
- marketSymbol: 'jetcoins',
- identifier: 'eth-erc20-jetcoins',
- contractAddress: '0x773450335eD4ec3DB45aF74f34F2c85348645D39',
- decimals: 18
- },
- {
- symbol: 'JNT',
- name: 'Jibrel Network',
- marketSymbol: 'jnt',
- identifier: 'eth-erc20-jnt',
- contractAddress: '0xa5Fd1A791C4dfcaacC963D4F73c6Ae5824149eA7',
- decimals: 18
- },
- {
- symbol: 'JOT',
- name: 'Jury.Online Token',
- marketSymbol: 'jot',
- identifier: 'eth-erc20-jot',
- contractAddress: '0xdb455c71C1bC2de4e80cA451184041Ef32054001',
- decimals: 18
- },
- {
- symbol: 'JOY',
- name: 'JOYSO',
- marketSymbol: 'joy',
- identifier: 'eth-erc20-joy',
- contractAddress: '0xDDe12a12A6f67156e0DA672be05c374e1B0a3e57',
- decimals: 6
- },
- {
- symbol: 'KAN',
- name: 'BitKan',
- marketSymbol: 'kan',
- identifier: 'eth-erc20-kan',
- contractAddress: '0x1410434b0346f5bE678d0FB554E5c7ab620f8f4a',
- decimals: 18
- },
- {
- symbol: 'KC',
- name: 'KMCC',
- marketSymbol: 'kc',
- identifier: 'eth-erc20-kc',
- contractAddress: '0x0D6DD9f68d24EC1d5fE2174f3EC8DAB52B52BaF5',
- decimals: 18
- },
- {
- symbol: 'KEE',
- name: 'CryptoKEE',
- marketSymbol: 'kee',
- identifier: 'eth-erc20-kee',
- contractAddress: '0x72D32ac1c5E66BfC5b08806271f8eEF915545164',
- decimals: 0
- },
- {
- symbol: 'KEY',
- name: 'SelfKey',
- marketSymbol: 'key',
- identifier: 'eth-erc20-key',
- contractAddress: '0x4CC19356f2D37338b9802aa8E8fc58B0373296E7',
- decimals: 18
- },
- {
- symbol: 'KEY',
- name: 'BihuKey',
- marketSymbol: 'key',
- identifier: 'eth-erc20-key',
- contractAddress: '0x4Cd988AfBad37289BAAf53C13e98E2BD46aAEa8c',
- decimals: 18
- },
- {
- symbol: 'KICK',
- name: 'KICK',
- marketSymbol: 'kick',
- identifier: 'eth-erc20-kick',
- contractAddress: '0x27695E09149AdC738A978e9A678F99E4c39e9eb9',
- decimals: 8
- },
- {
- symbol: 'KIN',
- name: 'Kin Foundation',
- marketSymbol: 'kin',
- identifier: 'eth-erc20-kin',
- contractAddress: '0x818Fc6C2Ec5986bc6E2CBf00939d90556aB12ce5',
- decimals: 18
- },
- {
- symbol: 'KIND',
- name: 'Kind Ads Token',
- marketSymbol: 'kind',
- identifier: 'eth-erc20-kind',
- contractAddress: '0x4618519de4C304F3444ffa7f812dddC2971cc688',
- decimals: 8
- },
- {
- symbol: 'KNC',
- name: 'Kyber Network',
- marketSymbol: 'knc',
- identifier: 'eth-erc20-knc',
- contractAddress: '0xdd974D5C2e2928deA5F71b9825b8b646686BD200',
- decimals: 18
- },
- {
- symbol: 'KNDC',
- name: 'KanadeCoin',
- marketSymbol: 'kndc',
- identifier: 'eth-erc20-kndc',
- contractAddress: '0x8E5610ab5E39d26828167640EA29823fe1dD5843',
- decimals: 8
- },
- {
- symbol: 'KNT',
- name: 'Kora Network Token',
- marketSymbol: 'knt',
- identifier: 'eth-erc20-knt',
- contractAddress: '0xfF5c25D2F40B47C4a37f989DE933E26562Ef0Ac0',
- decimals: 16
- },
- {
- symbol: 'KPR',
- name: 'KPRCoin',
- marketSymbol: 'kpr',
- identifier: 'eth-erc20-kpr',
- contractAddress: '0xb5C33F965C8899D255c34CDD2A3efA8AbCbB3DeA',
- decimals: 18
- },
- {
- symbol: 'KRL',
- name: 'Kryll',
- marketSymbol: 'krl',
- identifier: 'eth-erc20-krl',
- contractAddress: '0x464eBE77c293E473B48cFe96dDCf88fcF7bFDAC0',
- decimals: 18
- },
- {
- symbol: 'KRTY',
- name: 'KARTIY',
- marketSymbol: 'krty',
- identifier: 'eth-erc20-krty',
- contractAddress: '0xbD4AB8b9C26c4888e2792cAC6d5793Efea9eBb20',
- decimals: 18
- },
- {
- symbol: 'KUE',
- name: 'Kuende Token',
- marketSymbol: 'kue',
- identifier: 'eth-erc20-kue',
- contractAddress: '0xdf1338FbAfe7aF1789151627B886781ba556eF9a',
- decimals: 18
- },
- {
- symbol: 'KWATT',
- name: '4NEW',
- marketSymbol: 'kwatt',
- identifier: 'eth-erc20-kwatt',
- contractAddress: '0x241bA672574A78a3A604CDd0a94429A73a84a324',
- decimals: 18
- },
- {
- symbol: 'KZN',
- name: 'KaizenCoin',
- marketSymbol: 'kzn',
- identifier: 'eth-erc20-kzn',
- contractAddress: '0x9541FD8B9b5FA97381783783CeBF2F5fA793C262',
- decimals: 8
- },
- {
- symbol: 'LA',
- name: 'LATOKEN',
- marketSymbol: 'la',
- identifier: 'eth-erc20-la',
- contractAddress: '0xE50365f5D679CB98a1dd62D6F6e58e59321BcdDf',
- decimals: 18
- },
- {
- symbol: 'LALA',
- name: 'LALA World Token',
- marketSymbol: 'lala',
- identifier: 'eth-erc20-lala',
- contractAddress: '0xfD107B473AB90e8Fbd89872144a3DC92C40Fa8C9',
- decimals: 18
- },
- {
- symbol: 'LATX',
- name: 'LatiumX',
- marketSymbol: 'latx',
- identifier: 'eth-erc20-latx',
- contractAddress: '0x2f85E502a988AF76f7ee6D83b7db8d6c0A823bf9',
- decimals: 8
- },
- {
- symbol: 'LBA',
- name: 'Cred',
- marketSymbol: 'lba',
- identifier: 'eth-erc20-lba',
- contractAddress: '0xfe5F141Bf94fE84bC28deD0AB966c16B17490657',
- decimals: 18
- },
- {
- symbol: 'LCS',
- name: 'LocalCoinSwap',
- marketSymbol: 'lcs',
- identifier: 'eth-erc20-lcs',
- contractAddress: '0xAA19961b6B858D9F18a115f25aa1D98ABc1fdBA8',
- decimals: 18
- },
- {
- symbol: 'LCT',
- name: 'LendConnect',
- marketSymbol: 'lct',
- identifier: 'eth-erc20-lct',
- contractAddress: '0x05C7065d644096a4E4C3FE24AF86e36dE021074b',
- decimals: 18
- },
- {
- symbol: 'LCT',
- name: 'LiquorChain Token',
- marketSymbol: 'lct',
- identifier: 'eth-erc20-lct',
- contractAddress: '0x4A37A91eec4C97F9090CE66d21D3B3Aadf1aE5aD',
- decimals: 18
- },
- {
- symbol: 'LDC',
- name: 'LEADCOIN',
- marketSymbol: 'ldc',
- identifier: 'eth-erc20-ldc',
- contractAddress: '0x5102791cA02FC3595398400BFE0e33d7B6C82267',
- decimals: 18
- },
- {
- symbol: 'LDX',
- name: 'LondonCoin',
- marketSymbol: 'ldx',
- identifier: 'eth-erc20-ldx',
- contractAddress: '0x9eFa0e2387E4CBA02a6E4E6594b8f4Dd209a0b93',
- decimals: 0
- },
- {
- symbol: 'LEDU',
- name: 'Education Ecosystem',
- marketSymbol: 'ledu',
- identifier: 'eth-erc20-ledu',
- contractAddress: '0x5b26C5D0772E5bbaC8b3182AE9a13f9BB2D03765',
- decimals: 8
- },
- {
- symbol: 'LEMO',
- name: 'Lemo',
- marketSymbol: 'lemo',
- identifier: 'eth-erc20-lemo',
- contractAddress: '0xd6e354F07319e2474491D8c7c712137bEe6862a2',
- decimals: 0
- },
- {
- symbol: 'LEMO',
- name: 'Lemo',
- marketSymbol: 'lemo',
- identifier: 'eth-erc20-lemo',
- contractAddress: '0xB5AE848EdB296C21259b7467331467d2647eEcDf',
- decimals: 18
- },
- {
- symbol: 'LEMO',
- name: 'Lemo',
- marketSymbol: 'lemo',
- identifier: 'eth-erc20-lemo',
- contractAddress: '0x60C24407d01782C2175D32fe7C8921ed732371D1',
- decimals: 18
- },
- {
- symbol: 'LEND',
- name: 'EHTLend',
- marketSymbol: 'lend',
- identifier: 'eth-erc20-lend',
- contractAddress: '0x80fB784B7eD66730e8b1DBd9820aFD29931aab03',
- decimals: 18
- },
- {
- symbol: 'LEV',
- name: 'Leverj',
- marketSymbol: 'lev',
- identifier: 'eth-erc20-lev',
- contractAddress: '0x0F4CA92660Efad97a9a70CB0fe969c755439772C',
- decimals: 9
- },
- {
- symbol: 'LFR',
- name: 'LifeRun Coin',
- marketSymbol: 'lfr',
- identifier: 'eth-erc20-lfr',
- contractAddress: '0xc798cd1c49db0E297312E4c682752668CE1dB2AD',
- decimals: 5
- },
- {
- symbol: 'LG',
- name: 'LG',
- marketSymbol: 'lg',
- identifier: 'eth-erc20-lg',
- contractAddress: '0xc520F3Ac303a107D8F4B08b326B6ea66A4f961cd',
- decimals: 18
- },
- {
- symbol: 'LGO',
- name: 'LGO Exchange',
- marketSymbol: 'lgo',
- identifier: 'eth-erc20-lgo',
- contractAddress: '0x123aB195DD38B1b40510d467a6a359b201af056f',
- decimals: 8
- },
- {
- symbol: 'LGR',
- name: 'Logarithm',
- marketSymbol: 'lgr',
- identifier: 'eth-erc20-lgr',
- contractAddress: '0x2eb86e8fC520E0F6Bb5D9Af08F924fe70558Ab89',
- decimals: 8
- },
- {
- symbol: 'LIBER',
- name: 'Libereum',
- marketSymbol: 'liber',
- identifier: 'eth-erc20-liber',
- contractAddress: '0xE6DfBF1FAcA95036B8E76e1Fb28933D025B76Cc0',
- decimals: 18
- },
- {
- symbol: 'LIF',
- name: 'Winding Tree',
- marketSymbol: 'lif',
- identifier: 'eth-erc20-lif',
- contractAddress: '0xEB9951021698B42e4399f9cBb6267Aa35F82D59D',
- decimals: 18
- },
- {
- symbol: 'LIFE',
- name: 'LIFE',
- marketSymbol: 'life',
- identifier: 'eth-erc20-life',
- contractAddress: '0xfF18DBc487b4c2E3222d115952bABfDa8BA52F5F',
- decimals: 18
- },
- {
- symbol: 'LIKE',
- name: 'LikeCoin',
- marketSymbol: 'like',
- identifier: 'eth-erc20-like',
- contractAddress: '0x02F61Fd266DA6E8B102D4121f5CE7b992640CF98',
- decimals: 18
- },
- {
- symbol: 'LINK (Chainlink)',
- name: 'LINK Chainlink',
- marketSymbol: 'link (chainlink)',
- identifier: 'eth-erc20-link (chainlink)',
- contractAddress: '0x514910771AF9Ca656af840dff83E8264EcF986CA',
- decimals: 18
- },
- {
- symbol: 'LINK Platform',
- name: 'Link Platform',
- marketSymbol: 'link platform',
- identifier: 'eth-erc20-link platform',
- contractAddress: '0xE2E6D4BE086c6938B53B22144855eef674281639',
- decimals: 18
- },
- {
- symbol: 'LIVE',
- name: 'LIVE Token',
- marketSymbol: 'live',
- identifier: 'eth-erc20-live',
- contractAddress: '0x24A77c1F17C547105E14813e517be06b0040aa76',
- decimals: 18
- },
- {
- symbol: 'LKY',
- name: 'Linkey',
- marketSymbol: 'lky',
- identifier: 'eth-erc20-lky',
- contractAddress: '0x49bD2DA75b1F7AF1E4dFd6b1125FEcDe59dBec58',
- decimals: 18
- },
- {
- symbol: 'LML',
- name: 'Lisk Machine Learning',
- marketSymbol: 'lml',
- identifier: 'eth-erc20-lml',
- contractAddress: '0x25B6325f5BB1c1E03cfbC3e53F470E1F1ca022E3',
- decimals: 18
- },
- {
- symbol: 'LNC',
- name: 'Lancer Token',
- marketSymbol: 'lnc',
- identifier: 'eth-erc20-lnc',
- contractAddress: '0x63e634330A20150DbB61B15648bC73855d6CCF07',
- decimals: 18
- },
- {
- symbol: 'LNC (Linker Coin)',
- name: 'Linker Coin',
- marketSymbol: 'lnc (linker coin)',
- identifier: 'eth-erc20-lnc (linker coin)',
- contractAddress: '0x6BEB418Fc6E1958204aC8baddCf109B8E9694966',
- decimals: 18
- },
- {
- symbol: 'LND',
- name: 'Lendingblock',
- marketSymbol: 'lnd',
- identifier: 'eth-erc20-lnd',
- contractAddress: '0x0947b0e6D821378805c9598291385CE7c791A6B2',
- decimals: 18
- },
- {
- symbol: 'LOC',
- name: 'LockChain',
- marketSymbol: 'loc',
- identifier: 'eth-erc20-loc',
- contractAddress: '0x5e3346444010135322268a4630d2ED5F8D09446c',
- decimals: 18
- },
- {
- symbol: 'LOCI',
- name: 'LOCIcoin',
- marketSymbol: 'loci',
- identifier: 'eth-erc20-loci',
- contractAddress: '0x9c23D67AEA7B95D80942e3836BCDF7E708A747C2',
- decimals: 18
- },
- {
- symbol: 'LOCUS',
- name: 'Locus Chain',
- marketSymbol: 'locus',
- identifier: 'eth-erc20-locus',
- contractAddress: '0xC64500DD7B0f1794807e67802F8Abbf5F8Ffb054',
- decimals: 18
- },
- {
- symbol: 'LOK',
- name: 'LOK',
- marketSymbol: 'lok',
- identifier: 'eth-erc20-lok',
- contractAddress: '0x21aE23B882A340A22282162086bC98D3E2B73018',
- decimals: 18
- },
- {
- symbol: 'LOOK',
- name: 'LookRev',
- marketSymbol: 'look',
- identifier: 'eth-erc20-look',
- contractAddress: '0x253C7dd074f4BaCb305387F922225A4f737C08bd',
- decimals: 18
- },
- {
- symbol: 'LOOM',
- name: 'Loom Network',
- marketSymbol: 'loom',
- identifier: 'eth-erc20-loom',
- contractAddress: '0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0',
- decimals: 18
- },
- {
- symbol: 'LOVE',
- name: 'Love',
- marketSymbol: 'love',
- identifier: 'eth-erc20-love',
- contractAddress: '0x5a276Aeb77bCfDAc8Ac6f31BBC7416AE1A85eEF2',
- decimals: 0
- },
- {
- symbol: 'LPT',
- name: 'Livepeer Token',
- marketSymbol: 'lpt',
- identifier: 'eth-erc20-lpt',
- contractAddress: '0x58b6A8A3302369DAEc383334672404Ee733aB239',
- decimals: 18
- },
- {
- symbol: 'LRC',
- name: 'Loopring',
- marketSymbol: 'lrc',
- identifier: 'eth-erc20-lrc',
- contractAddress: '0xEF68e7C694F40c8202821eDF525dE3782458639f',
- decimals: 18
- },
- {
- symbol: 'LUC',
- name: 'LUCToken',
- marketSymbol: 'luc',
- identifier: 'eth-erc20-luc',
- contractAddress: '0x5dbe296F97B23C4A6AA6183D73e574D02bA5c719',
- decimals: 18
- },
- {
- symbol: 'LUCK',
- name: 'LUCK',
- marketSymbol: 'luck',
- identifier: 'eth-erc20-luck',
- contractAddress: '0xFB12e3CcA983B9f59D90912Fd17F8D745A8B2953',
- decimals: 0
- },
- {
- symbol: 'LUM',
- name: 'Lumino Coin',
- marketSymbol: 'lum',
- identifier: 'eth-erc20-lum',
- contractAddress: '0xA89b5934863447f6E4Fc53B315a93e873bdA69a3',
- decimals: 18
- },
- {
- symbol: 'LUN',
- name: 'Lunyr',
- marketSymbol: 'lun',
- identifier: 'eth-erc20-lun',
- contractAddress: '0xfa05A73FfE78ef8f1a739473e462c54bae6567D9',
- decimals: 18
- },
- {
- symbol: 'LYM',
- name: 'Lympo',
- marketSymbol: 'lym',
- identifier: 'eth-erc20-lym',
- contractAddress: '0x57aD67aCf9bF015E4820Fbd66EA1A21BED8852eC',
- decimals: 18
- },
- {
- symbol: 'LYS',
- name: 'Lightyears',
- marketSymbol: 'lys',
- identifier: 'eth-erc20-lys',
- contractAddress: '0xdD41fBd1Ae95C5D9B198174A28e04Be6b3d1aa27',
- decimals: 8
- },
- {
- symbol: 'M-ETH',
- name: 'M-ETH',
- marketSymbol: 'm-eth',
- identifier: 'eth-erc20-m-eth',
- contractAddress: '0x3f4B726668da46f5e0E75aA5D478ACEc9f38210F',
- decimals: 18
- },
- {
- symbol: 'MAD',
- name: 'MAD',
- marketSymbol: 'mad',
- identifier: 'eth-erc20-mad',
- contractAddress: '0x5B09A0371C1DA44A8E24D36Bf5DEb1141a84d875',
- decimals: 18
- },
- {
- symbol: 'MAN',
- name: 'Matrix AI Network',
- marketSymbol: 'man',
- identifier: 'eth-erc20-man',
- contractAddress: '0xe25bCec5D3801cE3a794079BF94adF1B8cCD802D',
- decimals: 18
- },
- {
- symbol: 'MANA',
- name: 'Decentraland MANA',
- marketSymbol: 'mana',
- identifier: 'eth-erc20-mana',
- contractAddress: '0x0F5D2fB29fb7d3CFeE444a200298f468908cC942',
- decimals: 18
- },
- {
- symbol: 'MART',
- name: 'Martcoin',
- marketSymbol: 'mart',
- identifier: 'eth-erc20-mart',
- contractAddress: '0xfdcc07Ab60660de533b5Ad26e1457b565a9D59Bd',
- decimals: 18
- },
- {
- symbol: 'MAS',
- name: 'MIDAS PROTOCOL',
- marketSymbol: 'mas',
- identifier: 'eth-erc20-mas',
- contractAddress: '0x23Ccc43365D9dD3882eab88F43d515208f832430',
- decimals: 18
- },
- {
- symbol: 'MBRS',
- name: 'Embers',
- marketSymbol: 'mbrs',
- identifier: 'eth-erc20-mbrs',
- contractAddress: '0x386467F1f3ddbE832448650418311a479EECFC57',
- decimals: 0
- },
- {
- symbol: 'MCAP',
- name: 'MCAP',
- marketSymbol: 'mcap',
- identifier: 'eth-erc20-mcap',
- contractAddress: '0x93E682107d1E9defB0b5ee701C71707a4B2E46Bc',
- decimals: 8
- },
- {
- symbol: 'MCI',
- name: 'Musiconomi',
- marketSymbol: 'mci',
- identifier: 'eth-erc20-mci',
- contractAddress: '0x138A8752093F4f9a79AaeDF48d4B9248fab93c9C',
- decimals: 18
- },
- {
- symbol: 'MCO',
- name: 'Crypto.com',
- marketSymbol: 'mco',
- identifier: 'eth-erc20-mco',
- contractAddress: '0xB63B606Ac810a52cCa15e44bB630fd42D8d1d83d',
- decimals: 8
- },
- {
- symbol: 'MDA',
- name: 'Moeda Loyalty Points',
- marketSymbol: 'mda',
- identifier: 'eth-erc20-mda',
- contractAddress: '0x51DB5Ad35C671a87207d88fC11d593AC0C8415bd',
- decimals: 18
- },
- {
- symbol: 'MDS',
- name: 'MediShares',
- marketSymbol: 'mds',
- identifier: 'eth-erc20-mds',
- contractAddress: '0x66186008C1050627F979d464eABb258860563dbE',
- decimals: 18
- },
- {
- symbol: 'MDT',
- name: 'Measurable Data Token',
- marketSymbol: 'mdt',
- identifier: 'eth-erc20-mdt',
- contractAddress: '0x814e0908b12A99FeCf5BC101bB5d0b8B5cDf7d26',
- decimals: 18
- },
- {
- symbol: 'MEDX',
- name: 'MediBloc [ERC20]',
- marketSymbol: 'medx',
- identifier: 'eth-erc20-medx',
- contractAddress: '0xfd1e80508F243E64CE234eA88A5Fd2827c71D4b7',
- decimals: 8
- },
- {
- symbol: 'MESH',
- name: 'Meshbox',
- marketSymbol: 'mesh',
- identifier: 'eth-erc20-mesh',
- contractAddress: '0x01F2AcF2914860331C1Cb1a9AcecDa7475e06Af8',
- decimals: 18
- },
- {
- symbol: 'MESH',
- name: 'BlockMesh',
- marketSymbol: 'mesh',
- identifier: 'eth-erc20-mesh',
- contractAddress: '0xF03045a4C8077e38f3B8e2Ed33b8aEE69edF869F',
- decimals: 18
- },
- {
- symbol: 'MEST',
- name: 'Monaco Estate',
- marketSymbol: 'mest',
- identifier: 'eth-erc20-mest',
- contractAddress: '0x5B8D43FfdE4a2982B9A5387cDF21D54Ead64Ac8d',
- decimals: 18
- },
- {
- symbol: 'MET',
- name: 'Metronome',
- marketSymbol: 'met',
- identifier: 'eth-erc20-met',
- contractAddress: '0xa3d58c4E56fedCae3a7c43A725aeE9A71F0ece4e',
- decimals: 18
- },
- {
- symbol: 'METM',
- name: 'MetaMorph',
- marketSymbol: 'metm',
- identifier: 'eth-erc20-metm',
- contractAddress: '0xFEF3884b603C33EF8eD4183346E093A173C94da6',
- decimals: 18
- },
- {
- symbol: 'MFG',
- name: 'SyncFab Smart Manufacturing Blockchain',
- marketSymbol: 'mfg',
- identifier: 'eth-erc20-mfg',
- contractAddress: '0x6710c63432A2De02954fc0f851db07146a6c0312',
- decimals: 18
- },
- {
- symbol: 'MFT',
- name: 'Mainframe Token',
- marketSymbol: 'mft',
- identifier: 'eth-erc20-mft',
- contractAddress: '0xDF2C7238198Ad8B389666574f2d8bc411A4b7428',
- decimals: 18
- },
- {
- symbol: 'MFTU',
- name: 'Mainstream For The Underground',
- marketSymbol: 'mftu',
- identifier: 'eth-erc20-mftu',
- contractAddress: '0x05D412CE18F24040bB3Fa45CF2C69e506586D8e8',
- decimals: 18
- },
- {
- symbol: 'MGO',
- name: 'MobileGo',
- marketSymbol: 'mgo',
- identifier: 'eth-erc20-mgo',
- contractAddress: '0x40395044Ac3c0C57051906dA938B54BD6557F212',
- decimals: 8
- },
- {
- symbol: 'MIC',
- name: 'Mindexcoin',
- marketSymbol: 'mic',
- identifier: 'eth-erc20-mic',
- contractAddress: '0x3A1237D38D0Fb94513f85D61679cAd7F38507242',
- decimals: 18
- },
- {
- symbol: 'MIT',
- name: 'MIT',
- marketSymbol: 'mit',
- identifier: 'eth-erc20-mit',
- contractAddress: '0xe23cd160761f63FC3a1cF78Aa034b6cdF97d3E0C',
- decimals: 18
- },
- {
- symbol: 'MIT (Mychatcoin)',
- name: 'Mychatcoin',
- marketSymbol: 'mit (mychatcoin)',
- identifier: 'eth-erc20-mit (mychatcoin)',
- contractAddress: '0xAd8DD4c725dE1D31b9E8F8D146089e9DC6882093',
- decimals: 6
- },
- {
- symbol: 'MITX',
- name: 'Morpheus Infrastructure Token',
- marketSymbol: 'mitx',
- identifier: 'eth-erc20-mitx',
- contractAddress: '0x4a527d8fc13C5203AB24BA0944F4Cb14658D1Db6',
- decimals: 18
- },
- {
- symbol: 'MKR',
- name: 'MakerDAO',
- marketSymbol: 'mkr',
- identifier: 'eth-erc20-mkr',
- contractAddress: '0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2',
- decimals: 18
- },
- {
- symbol: 'MKT',
- name: 'Mikado',
- marketSymbol: 'mkt',
- identifier: 'eth-erc20-mkt',
- contractAddress: '0x7939882b54fcf0bCAe6b53dEc39Ad6e806176442',
- decimals: 8
- },
- {
- symbol: 'MLN (new)',
- name: 'Melonport',
- marketSymbol: 'mln (new)',
- identifier: 'eth-erc20-mln (new)',
- contractAddress: '0xec67005c4E498Ec7f55E092bd1d35cbC47C91892',
- decimals: 18
- },
- {
- symbol: 'MLN (old)',
- name: 'Melonport',
- marketSymbol: 'mln (old)',
- identifier: 'eth-erc20-mln (old)',
- contractAddress: '0xBEB9eF514a379B997e0798FDcC901Ee474B6D9A1',
- decimals: 18
- },
- {
- symbol: 'MNE',
- name: 'Minereum',
- marketSymbol: 'mne',
- identifier: 'eth-erc20-mne',
- contractAddress: '0x1a95B271B0535D15fa49932Daba31BA612b52946',
- decimals: 8
- },
- {
- symbol: 'MNT',
- name: 'Media Network Token',
- marketSymbol: 'mnt',
- identifier: 'eth-erc20-mnt',
- contractAddress: '0xA9877b1e05D035899131DBd1e403825166D09f92',
- decimals: 18
- },
- {
- symbol: 'MNTP',
- name: 'Goldmint MNT Prelaunch Token',
- marketSymbol: 'mntp',
- identifier: 'eth-erc20-mntp',
- contractAddress: '0x83cee9e086A77e492eE0bB93C2B0437aD6fdECCc',
- decimals: 18
- },
- {
- symbol: 'MOC',
- name: 'Moss Coin',
- marketSymbol: 'moc',
- identifier: 'eth-erc20-moc',
- contractAddress: '0x865ec58b06bF6305B886793AA20A2da31D034E68',
- decimals: 18
- },
- {
- symbol: 'MOD',
- name: 'Modum',
- marketSymbol: 'mod',
- identifier: 'eth-erc20-mod',
- contractAddress: '0x957c30aB0426e0C93CD8241E2c60392d08c6aC8e',
- decimals: 0
- },
- {
- symbol: 'MORE',
- name: 'More Coin',
- marketSymbol: 'more',
- identifier: 'eth-erc20-more',
- contractAddress: '0x59061b6f26BB4A9cE5828A19d35CFD5A4B80F056',
- decimals: 8
- },
- {
- symbol: 'MORE',
- name: 'Mithril Ore',
- marketSymbol: 'more',
- identifier: 'eth-erc20-more',
- contractAddress: '0x501262281B2Ba043e2fbf14904980689CDDB0C78',
- decimals: 2
- },
- {
- symbol: 'MOT',
- name: 'Olympus Labs',
- marketSymbol: 'mot',
- identifier: 'eth-erc20-mot',
- contractAddress: '0x263c618480DBe35C300D8d5EcDA19bbB986AcaeD',
- decimals: 18
- },
- {
- symbol: 'MOZO',
- name: 'Mozo Token',
- marketSymbol: 'mozo',
- identifier: 'eth-erc20-mozo',
- contractAddress: '0x44bf22949F9cc84b61B9328a9d885d1b5C806b41',
- decimals: 2
- },
- {
- symbol: 'MRK',
- name: 'MARK.SPACE',
- marketSymbol: 'mrk',
- identifier: 'eth-erc20-mrk',
- contractAddress: '0xf453B5B9d4E0B5c62ffB256BB2378cc2BC8e8a89',
- decimals: 8
- },
- {
- symbol: 'MRL',
- name: 'Marcelo',
- marketSymbol: 'mrl',
- identifier: 'eth-erc20-mrl',
- contractAddress: '0x82125AFe01819Dff1535D0D6276d57045291B6c0',
- decimals: 18
- },
- {
- symbol: 'MRP',
- name: 'MoneyRebel Token',
- marketSymbol: 'mrp',
- identifier: 'eth-erc20-mrp',
- contractAddress: '0x21f0F0fD3141Ee9E11B3d7f13a1028CD515f459c',
- decimals: 18
- },
- {
- symbol: 'MRV',
- name: 'MRV',
- marketSymbol: 'mrv',
- identifier: 'eth-erc20-mrv',
- contractAddress: '0xAB6CF87a50F17d7F5E1FEaf81B6fE9FfBe8EBF84',
- decimals: 18
- },
- {
- symbol: 'MSP',
- name: 'Mothership',
- marketSymbol: 'msp',
- identifier: 'eth-erc20-msp',
- contractAddress: '0x68AA3F232dA9bdC2343465545794ef3eEa5209BD',
- decimals: 18
- },
- {
- symbol: 'MTC',
- name: 'MTC Mesh Network',
- marketSymbol: 'mtc',
- identifier: 'eth-erc20-mtc',
- contractAddress: '0xdfdc0D82d96F8fd40ca0CFB4A288955bECEc2088',
- decimals: 18
- },
- {
- symbol: 'MTC',
- name: 'Medical Token Currency',
- marketSymbol: 'mtc',
- identifier: 'eth-erc20-mtc',
- contractAddress: '0x905E337c6c8645263D3521205Aa37bf4d034e745',
- decimals: 18
- },
- {
- symbol: 'MTH',
- name: 'Monetha',
- marketSymbol: 'mth',
- identifier: 'eth-erc20-mth',
- contractAddress: '0xaF4DcE16Da2877f8c9e00544c93B62Ac40631F16',
- decimals: 5
- },
- {
- symbol: 'MTL',
- name: 'Metal',
- marketSymbol: 'mtl',
- identifier: 'eth-erc20-mtl',
- contractAddress: '0xF433089366899D83a9f26A773D59ec7eCF30355e',
- decimals: 8
- },
- {
- symbol: 'MTN',
- name: 'MedToken',
- marketSymbol: 'mtn',
- identifier: 'eth-erc20-mtn',
- contractAddress: '0x41dBECc1cdC5517C6f76f6a6E836aDbEe2754DE3',
- decimals: 18
- },
- {
- symbol: 'MTR',
- name: 'Mitrav',
- marketSymbol: 'mtr',
- identifier: 'eth-erc20-mtr',
- contractAddress: '0x7FC408011165760eE31bE2BF20dAf450356692Af',
- decimals: 8
- },
- {
- symbol: 'MTRc',
- name: 'MTRCToken',
- marketSymbol: 'mtrc',
- identifier: 'eth-erc20-mtrc',
- contractAddress: '0x1e49fF77c355A3e38D6651ce8404AF0E48c5395f',
- decimals: 18
- },
- {
- symbol: 'MTX',
- name: 'Matryx',
- marketSymbol: 'mtx',
- identifier: 'eth-erc20-mtx',
- contractAddress: '0x0AF44e2784637218dD1D32A322D44e603A8f0c6A',
- decimals: 18
- },
- {
- symbol: 'MUXE',
- name: 'MUXE',
- marketSymbol: 'muxe',
- identifier: 'eth-erc20-muxe',
- contractAddress: '0x515669d308f887Fd83a471C7764F5d084886D34D',
- decimals: 18
- },
- {
- symbol: 'MVL',
- name: 'Mass Vehicle Ledger Token',
- marketSymbol: 'mvl',
- identifier: 'eth-erc20-mvl',
- contractAddress: '0xA849EaaE994fb86Afa73382e9Bd88c2B6b18Dc71',
- decimals: 18
- },
- {
- symbol: 'MVP',
- name: 'Merculet',
- marketSymbol: 'mvp',
- identifier: 'eth-erc20-mvp',
- contractAddress: '0x8a77e40936BbC27e80E9a3F526368C967869c86D',
- decimals: 18
- },
- {
- symbol: 'MWAT',
- name: 'RED MWAT',
- marketSymbol: 'mwat',
- identifier: 'eth-erc20-mwat',
- contractAddress: '0x6425c6BE902d692AE2db752B3c268AFAdb099D3b',
- decimals: 18
- },
- {
- symbol: 'MYD',
- name: 'MYD',
- marketSymbol: 'myd',
- identifier: 'eth-erc20-myd',
- contractAddress: '0xf7e983781609012307f2514f63D526D83D24F466',
- decimals: 16
- },
- {
- symbol: 'MYST',
- name: 'Mysterium',
- marketSymbol: 'myst',
- identifier: 'eth-erc20-myst',
- contractAddress: '0xa645264C5603E96c3b0B078cdab68733794B0A71',
- decimals: 8
- },
- {
- symbol: 'NAC',
- name: 'Nami ICO',
- marketSymbol: 'nac',
- identifier: 'eth-erc20-nac',
- contractAddress: '0x8d80de8A78198396329dfA769aD54d24bF90E7aa',
- decimals: 18
- },
- {
- symbol: 'NANJ',
- name: 'NANJCOIN',
- marketSymbol: 'nanj',
- identifier: 'eth-erc20-nanj',
- contractAddress: '0xFFE02ee4C69eDf1b340fCaD64fbd6b37a7b9e265',
- decimals: 8
- },
- {
- symbol: 'NAS',
- name: 'Nebula',
- marketSymbol: 'nas',
- identifier: 'eth-erc20-nas',
- contractAddress: '0x5d65D971895Edc438f465c17DB6992698a52318D',
- decimals: 18
- },
- {
- symbol: 'NAVI',
- name: 'NaviToken',
- marketSymbol: 'navi',
- identifier: 'eth-erc20-navi',
- contractAddress: '0x588047365dF5BA589F923604AAC23d673555c623',
- decimals: 18
- },
- {
- symbol: 'NBAI',
- name: 'NebulaAiToken',
- marketSymbol: 'nbai',
- identifier: 'eth-erc20-nbai',
- contractAddress: '0x17f8aFB63DfcDcC90ebE6e84F060Cc306A98257D',
- decimals: 18
- },
- {
- symbol: 'NBC',
- name: 'Niobium Coin',
- marketSymbol: 'nbc',
- identifier: 'eth-erc20-nbc',
- contractAddress: '0x9F195617fA8fbAD9540C5D113A99A0a0172aaEDC',
- decimals: 18
- },
- {
- symbol: 'NCASH',
- name: 'Nucleus Vision',
- marketSymbol: 'ncash',
- identifier: 'eth-erc20-ncash',
- contractAddress: '0x809826cceAb68c387726af962713b64Cb5Cb3CCA',
- decimals: 18
- },
- {
- symbol: 'NCC',
- name: 'NeedsCoin',
- marketSymbol: 'ncc',
- identifier: 'eth-erc20-ncc',
- contractAddress: '0x9344b383b1D59b5ce3468B234DAB43C7190ba735',
- decimals: 18
- },
- {
- symbol: 'NCC',
- name: 'NeuroChain',
- marketSymbol: 'ncc',
- identifier: 'eth-erc20-ncc',
- contractAddress: '0x5d48F293BaED247A2D0189058bA37aa238bD4725',
- decimals: 18
- },
- {
- symbol: 'NCT',
- name: 'Nectar',
- marketSymbol: 'nct',
- identifier: 'eth-erc20-nct',
- contractAddress: '0x9E46A38F5DaaBe8683E10793b06749EEF7D733d1',
- decimals: 18
- },
- {
- symbol: 'NDC',
- name: 'Neverdie',
- marketSymbol: 'ndc',
- identifier: 'eth-erc20-ndc',
- contractAddress: '0xA54ddC7B3CcE7FC8b1E3Fa0256D0DB80D2c10970',
- decimals: 18
- },
- {
- symbol: 'NDX',
- name: 'nDEX',
- marketSymbol: 'ndx',
- identifier: 'eth-erc20-ndx',
- contractAddress: '0x1966d718A565566e8E202792658D7b5Ff4ECe469',
- decimals: 18
- },
- {
- symbol: 'NEC',
- name: 'Ethfinex Nectar Token',
- marketSymbol: 'nec',
- identifier: 'eth-erc20-nec',
- contractAddress: '0xCc80C051057B774cD75067Dc48f8987C4Eb97A5e',
- decimals: 18
- },
- {
- symbol: 'NEEO',
- name: 'NEEO',
- marketSymbol: 'neeo',
- identifier: 'eth-erc20-neeo',
- contractAddress: '0xd8446236FA95b9b5f9fd0f8E7Df1a944823c683d',
- decimals: 18
- },
- {
- symbol: 'NET',
- name: 'NIMIQ',
- marketSymbol: 'net',
- identifier: 'eth-erc20-net',
- contractAddress: '0xcfb98637bcae43C13323EAa1731cED2B716962fD',
- decimals: 18
- },
- {
- symbol: 'NEU',
- name: 'NEU Fund',
- marketSymbol: 'neu',
- identifier: 'eth-erc20-neu',
- contractAddress: '0xA823E6722006afe99E91c30FF5295052fe6b8E32',
- decimals: 18
- },
- {
- symbol: 'NEWB',
- name: 'Newbium',
- marketSymbol: 'newb',
- identifier: 'eth-erc20-newb',
- contractAddress: '0x814964b1bceAf24e26296D031EaDf134a2Ca4105',
- decimals: 0
- },
- {
- symbol: 'NEXO',
- name: 'Nexo',
- marketSymbol: 'nexo',
- identifier: 'eth-erc20-nexo',
- contractAddress: '0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206',
- decimals: 18
- },
- {
- symbol: 'NGC',
- name: 'NAGA Coin',
- marketSymbol: 'ngc',
- identifier: 'eth-erc20-ngc',
- contractAddress: '0x72dD4b6bd852A3AA172Be4d6C5a6dbEc588cf131',
- decimals: 18
- },
- {
- symbol: 'NIMFA',
- name: 'Ninfa Money',
- marketSymbol: 'nimfa',
- identifier: 'eth-erc20-nimfa',
- contractAddress: '0xe26517A9967299453d3F1B48Aa005E6127e67210',
- decimals: 18
- },
- {
- symbol: 'NIO',
- name: 'Autonio',
- marketSymbol: 'nio',
- identifier: 'eth-erc20-nio',
- contractAddress: '0x5554e04e76533E1d14c52f05beEF6c9d329E1E30',
- decimals: 0
- },
- {
- symbol: 'NMR',
- name: 'Numerai',
- marketSymbol: 'nmr',
- identifier: 'eth-erc20-nmr',
- contractAddress: '0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671',
- decimals: 18
- },
- {
- symbol: 'NOAH',
- name: 'Noah Coin',
- marketSymbol: 'noah',
- identifier: 'eth-erc20-noah',
- contractAddress: '0x58a4884182d9E835597f405e5F258290E46ae7C2',
- decimals: 18
- },
- {
- symbol: 'NOBS',
- name: 'No BS Crypto',
- marketSymbol: 'nobs',
- identifier: 'eth-erc20-nobs',
- contractAddress: '0xF4FaEa455575354d2699BC209B0a65CA99F69982',
- decimals: 18
- },
- {
- symbol: 'NONE',
- name: 'None',
- marketSymbol: 'none',
- identifier: 'eth-erc20-none',
- contractAddress: '0x643B6870beabee941B9260a0A878bcF4A61Fb0f1',
- decimals: 0
- },
- {
- symbol: 'NOX',
- name: 'Nitro',
- marketSymbol: 'nox',
- identifier: 'eth-erc20-nox',
- contractAddress: '0xeC46f8207D766012454c408De210BCBc2243E71c',
- decimals: 18
- },
- {
- symbol: 'NPER',
- name: 'NPER',
- marketSymbol: 'nper',
- identifier: 'eth-erc20-nper',
- contractAddress: '0x4cE6B362Bc77A24966Dda9078f9cEF81b3B886a7',
- decimals: 18
- },
- {
- symbol: 'NPX',
- name: 'NaPoleonX',
- marketSymbol: 'npx',
- identifier: 'eth-erc20-npx',
- contractAddress: '0x28b5E12CcE51f15594B0b91d5b5AdaA70F684a02',
- decimals: 2
- },
- {
- symbol: 'NPXS',
- name: 'Pundi X Token',
- marketSymbol: 'npxs',
- identifier: 'eth-erc20-npxs',
- contractAddress: '0xA15C7Ebe1f07CaF6bFF097D8a589fb8AC49Ae5B3',
- decimals: 18
- },
- {
- symbol: 'NTK',
- name: 'Neurotoken',
- marketSymbol: 'ntk',
- identifier: 'eth-erc20-ntk',
- contractAddress: '0x69BEaB403438253f13b6e92Db91F7FB849258263',
- decimals: 18
- },
- {
- symbol: 'NTK',
- name: 'NetKoin',
- marketSymbol: 'ntk',
- identifier: 'eth-erc20-ntk',
- contractAddress: '0x5D4d57cd06Fa7fe99e26fdc481b468f77f05073C',
- decimals: 18
- },
- {
- symbol: 'NTO',
- name: 'Fujinto',
- marketSymbol: 'nto',
- identifier: 'eth-erc20-nto',
- contractAddress: '0x8A99ED8a1b204903Ee46e733f2c1286F6d20b177',
- decimals: 18
- },
- {
- symbol: 'NTWK',
- name: 'Network',
- marketSymbol: 'ntwk',
- identifier: 'eth-erc20-ntwk',
- contractAddress: '0x2233799Ee2683d75dfefAcbCd2A26c78D34b470d',
- decimals: 18
- },
- {
- symbol: 'NUG',
- name: 'Nuggets Token',
- marketSymbol: 'nug',
- identifier: 'eth-erc20-nug',
- contractAddress: '0x245ef47D4d0505ECF3Ac463F4d81f41ADE8f1fd1',
- decimals: 18
- },
- {
- symbol: 'NULS',
- name: 'NULS',
- marketSymbol: 'nuls',
- identifier: 'eth-erc20-nuls',
- contractAddress: '0xB91318F35Bdb262E9423Bc7c7c2A3A93DD93C92C',
- decimals: 18
- },
- {
- symbol: 'NxC',
- name: 'Nexium',
- marketSymbol: 'nxc',
- identifier: 'eth-erc20-nxc',
- contractAddress: '0x45e42D659D9f9466cD5DF622506033145a9b89Bc',
- decimals: 3
- },
- {
- symbol: 'NXX',
- name: 'NXX',
- marketSymbol: 'nxx',
- identifier: 'eth-erc20-nxx',
- contractAddress: '0x7627de4B93263a6a7570b8dAfa64bae812e5c394',
- decimals: 8
- },
- {
- symbol: 'NXX OLD',
- name: 'NXX OLD',
- marketSymbol: 'nxx old',
- identifier: 'eth-erc20-nxx old',
- contractAddress: '0x5c6183d10A00CD747a6Dbb5F658aD514383e9419',
- decimals: 8
- },
- {
- symbol: 'OAK',
- name: 'OAK',
- marketSymbol: 'oak',
- identifier: 'eth-erc20-oak',
- contractAddress: '0x5e888B83B7287EED4fB7DA7b7d0A0D4c735d94b3',
- decimals: 18
- },
- {
- symbol: 'OAX',
- name: 'OAX',
- marketSymbol: 'oax',
- identifier: 'eth-erc20-oax',
- contractAddress: '0x701C244b988a513c945973dEFA05de933b23Fe1D',
- decimals: 18
- },
- {
- symbol: 'OCC',
- name: 'Original Crypto Coin',
- marketSymbol: 'occ',
- identifier: 'eth-erc20-occ',
- contractAddress: '0x0235fE624e044A05eeD7A43E16E3083bc8A4287A',
- decimals: 18
- },
- {
- symbol: 'OCN',
- name: 'Odyssey',
- marketSymbol: 'ocn',
- identifier: 'eth-erc20-ocn',
- contractAddress: '0x4092678e4E78230F46A1534C0fbc8fA39780892B',
- decimals: 18
- },
- {
- symbol: 'ODE',
- name: 'ODEM Token',
- marketSymbol: 'ode',
- identifier: 'eth-erc20-ode',
- contractAddress: '0xbf52F2ab39e26E0951d2a02b49B7702aBe30406a',
- decimals: 18
- },
- {
- symbol: 'OHNI',
- name: 'OHNI',
- marketSymbol: 'ohni',
- identifier: 'eth-erc20-ohni',
- contractAddress: '0x7F2176cEB16dcb648dc924eff617c3dC2BEfd30d',
- decimals: 0
- },
- {
- symbol: 'OHNI',
- name: 'Ohni',
- marketSymbol: 'ohni',
- identifier: 'eth-erc20-ohni',
- contractAddress: '0x6f539a9456A5BCb6334A1A41207c3788f5825207',
- decimals: 18
- },
- {
- symbol: 'OJX',
- name: 'Ojooo Coin',
- marketSymbol: 'ojx',
- identifier: 'eth-erc20-ojx',
- contractAddress: '0xBeef546ac8a4e0a80DC1E2d696968Ef54138f1d4',
- decimals: 18
- },
- {
- symbol: 'OLD_MKR',
- name: 'MakerDAO',
- marketSymbol: 'old_mkr',
- identifier: 'eth-erc20-old_mkr',
- contractAddress: '0xC66eA802717bFb9833400264Dd12c2bCeAa34a6d',
- decimals: 18
- },
- {
- symbol: 'OLE',
- name: 'Olive',
- marketSymbol: 'ole',
- identifier: 'eth-erc20-ole',
- contractAddress: '0x9d9223436dDD466FC247e9dbbD20207e640fEf58',
- decimals: 18
- },
- {
- symbol: 'OLT',
- name: 'OneLedger Token',
- marketSymbol: 'olt',
- identifier: 'eth-erc20-olt',
- contractAddress: '0x64A60493D888728Cf42616e034a0dfEAe38EFCF0',
- decimals: 18
- },
- {
- symbol: 'OMG',
- name: 'OmiseGO',
- marketSymbol: 'omg',
- identifier: 'eth-erc20-omg',
- contractAddress: '0xd26114cd6EE289AccF82350c8d8487fedB8A0C07',
- decimals: 18
- },
- {
- symbol: 'OMT',
- name: 'OTCMAKER Token',
- marketSymbol: 'omt',
- identifier: 'eth-erc20-omt',
- contractAddress: '0x047187e53477be70DBe8Ea5B799318f2e165052F',
- decimals: 18
- },
- {
- symbol: 'OMX',
- name: 'Shivom',
- marketSymbol: 'omx',
- identifier: 'eth-erc20-omx',
- contractAddress: '0xB5DBC6D3cf380079dF3b27135664b6BCF45D1869',
- decimals: 8
- },
- {
- symbol: 'ONE',
- name: 'Menlo One',
- marketSymbol: 'one',
- identifier: 'eth-erc20-one',
- contractAddress: '0x4D807509aECe24C0fa5A102b6a3B059Ec6E14392',
- decimals: 18
- },
- {
- symbol: 'ONEK',
- name: 'One K Token',
- marketSymbol: 'onek',
- identifier: 'eth-erc20-onek',
- contractAddress: '0xB23be73573bC7E03DB6e5dfc62405368716d28a8',
- decimals: 18
- },
- {
- symbol: 'ONG',
- name: 'SoMee.Social',
- marketSymbol: 'ong',
- identifier: 'eth-erc20-ong',
- contractAddress: '0xd341d1680Eeee3255b8C4c75bCCE7EB57f144dAe',
- decimals: 18
- },
- {
- symbol: 'ONL',
- name: 'On.Live',
- marketSymbol: 'onl',
- identifier: 'eth-erc20-onl',
- contractAddress: '0x6863bE0e7CF7ce860A574760e9020D519a8bDC47',
- decimals: 18
- },
- {
- symbol: 'OPEN',
- name: 'OPEN Platform',
- marketSymbol: 'open',
- identifier: 'eth-erc20-open',
- contractAddress: '0x69c4BB240cF05D51eeab6985Bab35527d04a8C64',
- decimals: 8
- },
- {
- symbol: 'OPEN',
- name: 'OPEN',
- marketSymbol: 'open',
- identifier: 'eth-erc20-open',
- contractAddress: '0xe9dE1C630753A15d7021Cc563429c21d4887506F',
- decimals: 8
- },
- {
- symbol: 'OPT',
- name: 'Opus Foundation',
- marketSymbol: 'opt',
- identifier: 'eth-erc20-opt',
- contractAddress: '0x4355fC160f74328f9b383dF2EC589bB3dFd82Ba0',
- decimals: 18
- },
- {
- symbol: 'OPTI',
- name: 'OptiToken',
- marketSymbol: 'opti',
- identifier: 'eth-erc20-opti',
- contractAddress: '0x832904863978b94802123106e6eB491BDF0Df928',
- decimals: 18
- },
- {
- symbol: 'ORBS',
- name: 'Orbs',
- marketSymbol: 'orbs',
- identifier: 'eth-erc20-orbs',
- contractAddress: '0xff56Cc6b1E6dEd347aA0B7676C85AB0B3D08B0FA',
- decimals: 18
- },
- {
- symbol: 'ORCA',
- name: 'ORCA Token',
- marketSymbol: 'orca',
- identifier: 'eth-erc20-orca',
- contractAddress: '0x6F59e0461Ae5E2799F1fB3847f05a63B16d0DbF8',
- decimals: 18
- },
- {
- symbol: 'ORI',
- name: 'Origami',
- marketSymbol: 'ori',
- identifier: 'eth-erc20-ori',
- contractAddress: '0xd2Fa8f92Ea72AbB35dBD6DECa57173d22db2BA49',
- decimals: 18
- },
- {
- symbol: 'ORME',
- name: 'Ormeus Coin',
- marketSymbol: 'orme',
- identifier: 'eth-erc20-orme',
- contractAddress: '0xc96DF921009B790dfFcA412375251ed1A2b75c60',
- decimals: 8
- },
- {
- symbol: 'ORME',
- name: 'Ormeus Coin',
- marketSymbol: 'orme',
- identifier: 'eth-erc20-orme',
- contractAddress: '0x516E5436bAfdc11083654DE7Bb9b95382d08d5DE',
- decimals: 8
- },
- {
- symbol: 'ORS',
- name: 'Origin Sport',
- marketSymbol: 'ors',
- identifier: 'eth-erc20-ors',
- contractAddress: '0xEB9A4B185816C354dB92DB09cC3B50bE60b901b6',
- decimals: 18
- },
- {
- symbol: 'OST',
- name: "Simple Token 'OST'",
- marketSymbol: 'ost',
- identifier: 'eth-erc20-ost',
- contractAddress: '0x2C4e8f2D746113d0696cE89B35F0d8bF88E0AEcA',
- decimals: 18
- },
- {
- symbol: 'OTN',
- name: 'Open Trading Network',
- marketSymbol: 'otn',
- identifier: 'eth-erc20-otn',
- contractAddress: '0x881Ef48211982D01E2CB7092C915E647Cd40D85C',
- decimals: 18
- },
- {
- symbol: 'OWN',
- name: 'OWNDATA',
- marketSymbol: 'own',
- identifier: 'eth-erc20-own',
- contractAddress: '0x170b275CEd089FffAEBFe927F445a350ED9160DC',
- decimals: 8
- },
- {
- symbol: 'Ox Fina',
- name: 'Ox Fina',
- marketSymbol: 'ox fina',
- identifier: 'eth-erc20-ox fina',
- contractAddress: '0x65A15014964F2102Ff58647e16a16a6B9E14bCF6',
- decimals: 3
- },
- {
- symbol: 'PAI',
- name: 'PCHAIN',
- marketSymbol: 'pai',
- identifier: 'eth-erc20-pai',
- contractAddress: '0xB9bb08AB7E9Fa0A1356bd4A39eC0ca267E03b0b3',
- decimals: 18
- },
- {
- symbol: 'PAL',
- name: 'PolicyPal Network',
- marketSymbol: 'pal',
- identifier: 'eth-erc20-pal',
- contractAddress: '0xfeDAE5642668f8636A11987Ff386bfd215F942EE',
- decimals: 18
- },
- {
- symbol: 'PARETO',
- name: 'PARETO',
- marketSymbol: 'pareto',
- identifier: 'eth-erc20-pareto',
- contractAddress: '0xea5f88E54d982Cbb0c441cde4E79bC305e5b43Bc',
- decimals: 18
- },
- {
- symbol: 'PASS',
- name: 'Blockpass',
- marketSymbol: 'pass',
- identifier: 'eth-erc20-pass',
- contractAddress: '0xeE4458e052B533b1aABD493B5f8c4d85D7B263Dc',
- decimals: 6
- },
- {
- symbol: 'PASS',
- name: 'PASS Token',
- marketSymbol: 'pass',
- identifier: 'eth-erc20-pass',
- contractAddress: '0x77761e63C05aeE6648FDaeaa9B94248351AF9bCd',
- decimals: 18
- },
- {
- symbol: 'PAT',
- name: 'Patron',
- marketSymbol: 'pat',
- identifier: 'eth-erc20-pat',
- contractAddress: '0xF3b3Cad094B89392fcE5faFD40bC03b80F2Bc624',
- decimals: 18
- },
- {
- symbol: 'PATENTS',
- name: 'PATENTS',
- marketSymbol: 'patents',
- identifier: 'eth-erc20-patents',
- contractAddress: '0x694404595e3075A942397F466AAcD462FF1a7BD0',
- decimals: 18
- },
- {
- symbol: 'PATH',
- name: 'PATH',
- marketSymbol: 'path',
- identifier: 'eth-erc20-path',
- contractAddress: '0xF813F3902bBc00A6DCe378634d3B79D84F9803d7',
- decimals: 18
- },
- {
- symbol: 'PAX',
- name: 'Paxos Standard (PAX)',
- marketSymbol: 'pax',
- identifier: 'eth-erc20-pax',
- contractAddress: '0x8E870D67F660D95d5be530380D0eC0bd388289E1',
- decimals: 18
- },
- {
- symbol: 'PAY',
- name: 'TenX',
- marketSymbol: 'pay',
- identifier: 'eth-erc20-pay',
- contractAddress: '0xB97048628DB6B661D4C2aA833e95Dbe1A905B280',
- decimals: 18
- },
- {
- symbol: 'PBL',
- name: 'PBL',
- marketSymbol: 'pbl',
- identifier: 'eth-erc20-pbl',
- contractAddress: '0x55648De19836338549130B1af587F16beA46F66B',
- decimals: 18
- },
- {
- symbol: 'PBT',
- name: 'Primalbase Token (PBT)',
- marketSymbol: 'pbt',
- identifier: 'eth-erc20-pbt',
- contractAddress: '0xF4c07b1865bC326A3c01339492Ca7538FD038Cc0',
- decimals: 4
- },
- {
- symbol: 'PCH',
- name: 'PITCH',
- marketSymbol: 'pch',
- identifier: 'eth-erc20-pch',
- contractAddress: '0xfcAC7A7515e9A9d7619fA77A1fa738111f66727e',
- decimals: 18
- },
- {
- symbol: 'PCH',
- name: 'POPCHAIN',
- marketSymbol: 'pch',
- identifier: 'eth-erc20-pch',
- contractAddress: '0xE3F4b4A5d91e5cB9435B947F090A319737036312',
- decimals: 18
- },
- {
- symbol: 'PCL',
- name: 'Peculium',
- marketSymbol: 'pcl',
- identifier: 'eth-erc20-pcl',
- contractAddress: '0x3618516F45CD3c913F81F9987AF41077932Bc40d',
- decimals: 8
- },
- {
- symbol: 'PCLOLD',
- name: 'PeculiumOLD',
- marketSymbol: 'pclold',
- identifier: 'eth-erc20-pclold',
- contractAddress: '0x53148Bb4551707edF51a1e8d7A93698d18931225',
- decimals: 8
- },
- {
- symbol: 'PDATA',
- name: 'PDATA',
- marketSymbol: 'pdata',
- identifier: 'eth-erc20-pdata',
- contractAddress: '0x0db03B6CDe0B2d427C64a04FeAfd825938368f1F',
- decimals: 18
- },
- {
- symbol: 'PEG',
- name: 'PEG Network Token',
- marketSymbol: 'peg',
- identifier: 'eth-erc20-peg',
- contractAddress: '0x8Ae56a6850a7cbeaC3c3Ab2cB311e7620167eAC8',
- decimals: 18
- },
- {
- symbol: 'PET',
- name: 'PETHEREUM',
- marketSymbol: 'pet',
- identifier: 'eth-erc20-pet',
- contractAddress: '0x5884969Ec0480556E11d119980136a4C17eDDEd1',
- decimals: 18
- },
- {
- symbol: 'PETRO',
- name: 'PETRO',
- marketSymbol: 'petro',
- identifier: 'eth-erc20-petro',
- contractAddress: '0xeC18f898B4076A3E18f1089D33376CC380BDe61D',
- decimals: 18
- },
- {
- symbol: 'PEXT',
- name: 'PEX-Token',
- marketSymbol: 'pext',
- identifier: 'eth-erc20-pext',
- contractAddress: '0x55c2A0C171D920843560594dE3d6EEcC09eFc098',
- decimals: 4
- },
- {
- symbol: 'PFR',
- name: 'Payfair',
- marketSymbol: 'pfr',
- identifier: 'eth-erc20-pfr',
- contractAddress: '0x2FA32a39fc1c399E0Cc7B2935868f5165De7cE97',
- decimals: 8
- },
- {
- symbol: 'PHI',
- name: 'PHI Token',
- marketSymbol: 'phi',
- identifier: 'eth-erc20-phi',
- contractAddress: '0x13C2fab6354d3790D8ece4f0f1a3280b4A25aD96',
- decimals: 18
- },
- {
- symbol: 'PIPL',
- name: 'PIPL Coin',
- marketSymbol: 'pipl',
- identifier: 'eth-erc20-pipl',
- contractAddress: '0xE64509F0bf07ce2d29A7eF19A8A9bc065477C1B4',
- decimals: 8
- },
- {
- symbol: 'PIT',
- name: 'Paypite v2',
- marketSymbol: 'pit',
- identifier: 'eth-erc20-pit',
- contractAddress: '0x0fF161071e627A0E6de138105C73970F86ca7922',
- decimals: 18
- },
- {
- symbol: 'PIX',
- name: 'Lampix',
- marketSymbol: 'pix',
- identifier: 'eth-erc20-pix',
- contractAddress: '0x8eFFd494eB698cc399AF6231fCcd39E08fd20B15',
- decimals: 0
- },
- {
- symbol: 'PKG',
- name: 'PKG Token',
- marketSymbol: 'pkg',
- identifier: 'eth-erc20-pkg',
- contractAddress: '0x02F2D4a04E6E01aCE88bD2Cd632875543b2eF577',
- decimals: 18
- },
- {
- symbol: 'PKT',
- name: 'Playkey',
- marketSymbol: 'pkt',
- identifier: 'eth-erc20-pkt',
- contractAddress: '0x2604FA406Be957E542BEb89E6754fCdE6815e83f',
- decimals: 18
- },
- {
- symbol: 'PLASMA',
- name: 'PLASMA',
- marketSymbol: 'plasma',
- identifier: 'eth-erc20-plasma',
- contractAddress: '0x59416A25628A76b4730eC51486114c32E0B582A1',
- decimals: 6
- },
- {
- symbol: 'PLAY',
- name: 'HeroCoin',
- marketSymbol: 'play',
- identifier: 'eth-erc20-play',
- contractAddress: '0xE477292f1B3268687A29376116B0ED27A9c76170',
- decimals: 18
- },
- {
- symbol: 'PLBT',
- name: 'Polybius',
- marketSymbol: 'plbt',
- identifier: 'eth-erc20-plbt',
- contractAddress: '0x0AfFa06e7Fbe5bC9a764C979aA66E8256A631f02',
- decimals: 6
- },
- {
- symbol: 'PLR',
- name: 'Pillar Project',
- marketSymbol: 'plr',
- identifier: 'eth-erc20-plr',
- contractAddress: '0xe3818504c1B32bF1557b16C238B2E01Fd3149C17',
- decimals: 18
- },
- {
- symbol: 'PLS',
- name: 'DACPLAY Token',
- marketSymbol: 'pls',
- identifier: 'eth-erc20-pls',
- contractAddress: '0xe43ac1714F7394173b15E7CfF31A63d523Ce4fB9',
- decimals: 18
- },
- {
- symbol: 'PLU',
- name: 'Pluton',
- marketSymbol: 'plu',
- identifier: 'eth-erc20-plu',
- contractAddress: '0xD8912C10681D8B21Fd3742244f44658dBA12264E',
- decimals: 18
- },
- {
- symbol: 'PMA',
- name: 'PumaPay',
- marketSymbol: 'pma',
- identifier: 'eth-erc20-pma',
- contractAddress: '0x846C66cf71C43f80403B51fE3906B3599D63336f',
- decimals: 18
- },
- {
- symbol: 'PMNT',
- name: 'Paymon',
- marketSymbol: 'pmnt',
- identifier: 'eth-erc20-pmnt',
- contractAddress: '0x81b4D08645DA11374a03749AB170836E4e539767',
- decimals: 9
- },
- {
- symbol: 'PNK',
- name: 'Pinakion',
- marketSymbol: 'pnk',
- identifier: 'eth-erc20-pnk',
- contractAddress: '0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d',
- decimals: 18
- },
- {
- symbol: 'POA20',
- name: 'POA ERC20 on Foundation',
- marketSymbol: 'poa20',
- identifier: 'eth-erc20-poa20',
- contractAddress: '0x6758B7d441a9739b98552B373703d8d3d14f9e62',
- decimals: 18
- },
- {
- symbol: 'POE',
- name: 'Po.et Tokens',
- marketSymbol: 'poe',
- identifier: 'eth-erc20-poe',
- contractAddress: '0x0e0989b1f9B8A38983c2BA8053269Ca62Ec9B195',
- decimals: 8
- },
- {
- symbol: 'POIN',
- name: 'Potatoin',
- marketSymbol: 'poin',
- identifier: 'eth-erc20-poin',
- contractAddress: '0x43F6a1BE992deE408721748490772B15143CE0a7',
- decimals: 0
- },
- {
- symbol: 'POLL',
- name: 'ClearPoll',
- marketSymbol: 'poll',
- identifier: 'eth-erc20-poll',
- contractAddress: '0x705EE96c1c160842C92c1aeCfCFfccc9C412e3D9',
- decimals: 18
- },
- {
- symbol: 'POLY',
- name: 'Polymath Network',
- marketSymbol: 'poly',
- identifier: 'eth-erc20-poly',
- contractAddress: '0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC',
- decimals: 18
- },
- {
- symbol: 'POOL',
- name: 'Stake Pool',
- marketSymbol: 'pool',
- identifier: 'eth-erc20-pool',
- contractAddress: '0x779B7b713C86e3E6774f5040D9cCC2D43ad375F8',
- decimals: 8
- },
- {
- symbol: 'POP',
- name: 'POP Network Token',
- marketSymbol: 'pop',
- identifier: 'eth-erc20-pop',
- contractAddress: '0x5D858bcd53E085920620549214a8b27CE2f04670',
- decimals: 18
- },
- {
- symbol: 'POS',
- name: 'PoSToken',
- marketSymbol: 'pos',
- identifier: 'eth-erc20-pos',
- contractAddress: '0xEe609fE292128Cad03b786DBb9Bc2634Ccdbe7fC',
- decimals: 18
- },
- {
- symbol: 'POWR',
- name: 'PowerLedger',
- marketSymbol: 'powr',
- identifier: 'eth-erc20-powr',
- contractAddress: '0x595832F8FC6BF59c85C527fEC3740A1b7a361269',
- decimals: 6
- },
- {
- symbol: 'PPP',
- name: 'PayPie',
- marketSymbol: 'ppp',
- identifier: 'eth-erc20-ppp',
- contractAddress: '0xc42209aCcC14029c1012fB5680D95fBd6036E2a0',
- decimals: 18
- },
- {
- symbol: 'PPT',
- name: 'Populous',
- marketSymbol: 'ppt',
- identifier: 'eth-erc20-ppt',
- contractAddress: '0xd4fa1460F537bb9085d22C7bcCB5DD450Ef28e3a',
- decimals: 8
- },
- {
- symbol: 'PRE',
- name: 'Presearch',
- marketSymbol: 'pre',
- identifier: 'eth-erc20-pre',
- contractAddress: '0x88A3E4F35D64aAD41A6d4030ac9AFE4356cB84fA',
- decimals: 18
- },
- {
- symbol: 'PRG',
- name: 'Paragon',
- marketSymbol: 'prg',
- identifier: 'eth-erc20-prg',
- contractAddress: '0x7728dFEF5aBd468669EB7f9b48A7f70a501eD29D',
- decimals: 6
- },
- {
- symbol: 'PRIX',
- name: 'Privatix',
- marketSymbol: 'prix',
- identifier: 'eth-erc20-prix',
- contractAddress: '0x3ADfc4999F77D04c8341BAC5F3A76f58DfF5B37A',
- decimals: 8
- },
- {
- symbol: 'PRL',
- name: 'Oyster Pearl',
- marketSymbol: 'prl',
- identifier: 'eth-erc20-prl',
- contractAddress: '0x1844b21593262668B7248d0f57a220CaaBA46ab9',
- decimals: 18
- },
- {
- symbol: 'PRO',
- name: 'Propy',
- marketSymbol: 'pro',
- identifier: 'eth-erc20-pro',
- contractAddress: '0x226bb599a12C826476e3A771454697EA52E9E220',
- decimals: 8
- },
- {
- symbol: 'PRO',
- name: 'Pro',
- marketSymbol: 'pro',
- identifier: 'eth-erc20-pro',
- contractAddress: '0x9041Fe5B3FDEA0f5e4afDC17e75180738D877A01',
- decimals: 18
- },
- {
- symbol: 'PRON',
- name: 'PronCoin',
- marketSymbol: 'pron',
- identifier: 'eth-erc20-pron',
- contractAddress: '0xA3149E0fA0061A9007fAf307074cdCd290f0e2Fd',
- decimals: 8
- },
- {
- symbol: 'PRPS',
- name: 'Purpose',
- marketSymbol: 'prps',
- identifier: 'eth-erc20-prps',
- contractAddress: '0x7641b2Ca9DDD58adDf6e3381c1F994Aac5f1A32f',
- decimals: 18
- },
- {
- symbol: 'PRPS',
- name: 'Purpose',
- marketSymbol: 'prps',
- identifier: 'eth-erc20-prps',
- contractAddress: '0xd94F2778e2B3913C53637Ae60647598bE588c570',
- decimals: 18
- },
- {
- symbol: 'PRPS',
- name: 'Purpose',
- marketSymbol: 'prps',
- identifier: 'eth-erc20-prps',
- contractAddress: '0xE40C374d8805b1dD58CDcEFf998A2F6920Cb52FD',
- decimals: 18
- },
- {
- symbol: 'PRS',
- name: 'Persians',
- marketSymbol: 'prs',
- identifier: 'eth-erc20-prs',
- contractAddress: '0x163733bcc28dbf26B41a8CfA83e369b5B3af741b',
- decimals: 18
- },
- {
- symbol: 'PRSP',
- name: 'PRSP',
- marketSymbol: 'prsp',
- identifier: 'eth-erc20-prsp',
- contractAddress: '0x0C04d4f331DA8dF75f9E2e271E3f3F1494C66C36',
- decimals: 9
- },
- {
- symbol: 'PST',
- name: 'Primas',
- marketSymbol: 'pst',
- identifier: 'eth-erc20-pst',
- contractAddress: '0x5d4ABC77B8405aD177d8ac6682D584ecbFd46CEc',
- decimals: 18
- },
- {
- symbol: 'PT',
- name: 'PornToken',
- marketSymbol: 'pt',
- identifier: 'eth-erc20-pt',
- contractAddress: '0x66497A283E0a007bA3974e837784C6AE323447de',
- decimals: 18
- },
- {
- symbol: 'PTC',
- name: 'ParrotCoin',
- marketSymbol: 'ptc',
- identifier: 'eth-erc20-ptc',
- contractAddress: '0x2a8E98e256f32259b5E5Cb55Dd63C8e891950666',
- decimals: 18
- },
- {
- symbol: 'PTON',
- name: 'PTON',
- marketSymbol: 'pton',
- identifier: 'eth-erc20-pton',
- contractAddress: '0x4946583c5b86E01cCD30c71a05617D06E3E73060',
- decimals: 18
- },
- {
- symbol: 'PTOY',
- name: 'Patientory',
- marketSymbol: 'ptoy',
- identifier: 'eth-erc20-ptoy',
- contractAddress: '0x8Ae4BF2C33a8e667de34B54938B0ccD03Eb8CC06',
- decimals: 8
- },
- {
- symbol: 'PTT',
- name: 'Proton Token',
- marketSymbol: 'ptt',
- identifier: 'eth-erc20-ptt',
- contractAddress: '0x4689a4e169eB39cC9078C0940e21ff1Aa8A39B9C',
- decimals: 18
- },
- {
- symbol: 'PTWO',
- name: 'PornTokenV2',
- marketSymbol: 'ptwo',
- identifier: 'eth-erc20-ptwo',
- contractAddress: '0x5512e1D6A7BE424b4323126B4f9E86D023F95764',
- decimals: 18
- },
- {
- symbol: 'PUC',
- name: 'Pour Coin',
- marketSymbol: 'puc',
- identifier: 'eth-erc20-puc',
- contractAddress: '0xEf6B4cE8C9Bc83744fbcdE2657b32eC18790458A',
- decimals: 0
- },
- {
- symbol: 'PURC',
- name: 'PureCarbon',
- marketSymbol: 'purc',
- identifier: 'eth-erc20-purc',
- contractAddress: '0xe25ff6Eb959BCE67975778e46A47750C243B6B99',
- decimals: 18
- },
- {
- symbol: 'PXG',
- name: 'PlayGame',
- marketSymbol: 'pxg',
- identifier: 'eth-erc20-pxg',
- contractAddress: '0x47e67BA66b0699500f18A53F94E2b9dB3D47437e',
- decimals: 18
- },
- {
- symbol: 'PXT',
- name: 'Populous XBRL Token (PXT)',
- marketSymbol: 'pxt',
- identifier: 'eth-erc20-pxt',
- contractAddress: '0xc14830E53aA344E8c14603A91229A0b925b0B262',
- decimals: 8
- },
- {
- symbol: 'PYLNT',
- name: 'Pylon Network',
- marketSymbol: 'pylnt',
- identifier: 'eth-erc20-pylnt',
- contractAddress: '0x7703C35CfFdC5CDa8D27aa3df2F9ba6964544b6e',
- decimals: 18
- },
- {
- symbol: 'QASH',
- name: 'QASH',
- marketSymbol: 'qash',
- identifier: 'eth-erc20-qash',
- contractAddress: '0x618E75Ac90b12c6049Ba3b27f5d5F8651b0037F6',
- decimals: 6
- },
- {
- symbol: 'QAU',
- name: 'QAU',
- marketSymbol: 'qau',
- identifier: 'eth-erc20-qau',
- contractAddress: '0x671AbBe5CE652491985342e85428EB1b07bC6c64',
- decimals: 8
- },
- {
- symbol: 'QBIT',
- name: 'Qubitica',
- marketSymbol: 'qbit',
- identifier: 'eth-erc20-qbit',
- contractAddress: '0xCb5ea3c190d8f82DEADF7ce5Af855dDbf33e3962',
- decimals: 6
- },
- {
- symbol: 'QBX',
- name: 'qiibeeToken',
- marketSymbol: 'qbx',
- identifier: 'eth-erc20-qbx',
- contractAddress: '0x2467AA6B5A2351416fD4C3DeF8462d841feeecEC',
- decimals: 18
- },
- {
- symbol: 'QKC',
- name: 'QuarkChain',
- marketSymbol: 'qkc',
- identifier: 'eth-erc20-qkc',
- contractAddress: '0xEA26c4aC16D4a5A106820BC8AEE85fd0b7b2b664',
- decimals: 18
- },
- {
- symbol: 'QNT',
- name: 'Quant',
- marketSymbol: 'qnt',
- identifier: 'eth-erc20-qnt',
- contractAddress: '0x4a220E6096B25EADb88358cb44068A3248254675',
- decimals: 18
- },
- {
- symbol: 'QRG',
- name: 'QRG',
- marketSymbol: 'qrg',
- identifier: 'eth-erc20-qrg',
- contractAddress: '0xFFAA5ffc455d9131f8A2713A741fD1960330508B',
- decimals: 18
- },
- {
- symbol: 'QRL',
- name: 'QRL',
- marketSymbol: 'qrl',
- identifier: 'eth-erc20-qrl',
- contractAddress: '0x697beac28B09E122C4332D163985e8a73121b97F',
- decimals: 8
- },
- {
- symbol: 'QSP',
- name: 'Quantstamp Token',
- marketSymbol: 'qsp',
- identifier: 'eth-erc20-qsp',
- contractAddress: '0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d',
- decimals: 18
- },
- {
- symbol: 'QTQ',
- name: "TiiQu's Q Token",
- marketSymbol: 'qtq',
- identifier: 'eth-erc20-qtq',
- contractAddress: '0x2C3C1F05187dBa7A5f2Dd47Dca57281C4d4F183F',
- decimals: 18
- },
- {
- symbol: 'QTUM',
- name: 'Qtum',
- marketSymbol: 'qtum',
- identifier: 'eth-erc20-qtum',
- contractAddress: '0x9a642d6b3368ddc662CA244bAdf32cDA716005BC',
- decimals: 18
- },
- {
- symbol: 'QUN',
- name: 'QunQun',
- marketSymbol: 'qun',
- identifier: 'eth-erc20-qun',
- contractAddress: '0x264Dc2DedCdcbb897561A57CBa5085CA416fb7b4',
- decimals: 18
- },
- {
- symbol: 'QVT',
- name: 'QVT',
- marketSymbol: 'qvt',
- identifier: 'eth-erc20-qvt',
- contractAddress: '0x1183F92A5624D68e85FFB9170F16BF0443B4c242',
- decimals: 18
- },
- {
- symbol: 'R',
- name: 'Revain',
- marketSymbol: 'r',
- identifier: 'eth-erc20-r',
- contractAddress: '0x48f775EFBE4F5EcE6e0DF2f7b5932dF56823B990',
- decimals: 0
- },
- {
- symbol: 'RAO',
- name: 'RadioYo',
- marketSymbol: 'rao',
- identifier: 'eth-erc20-rao',
- contractAddress: '0x45eDb535942a8C84D9f4b5D37e1b25F91Ea4804c',
- decimals: 18
- },
- {
- symbol: 'RATING',
- name: 'DPRating',
- marketSymbol: 'rating',
- identifier: 'eth-erc20-rating',
- contractAddress: '0xE8663A64A96169ff4d95b4299E7ae9a76b905B31',
- decimals: 8
- },
- {
- symbol: 'RBLX',
- name: 'Rublix',
- marketSymbol: 'rblx',
- identifier: 'eth-erc20-rblx',
- contractAddress: '0xFc2C4D8f95002C14eD0a7aA65102Cac9e5953b5E',
- decimals: 18
- },
- {
- symbol: 'RCN',
- name: 'Ripio Credit Network',
- marketSymbol: 'rcn',
- identifier: 'eth-erc20-rcn',
- contractAddress: '0xF970b8E36e23F7fC3FD752EeA86f8Be8D83375A6',
- decimals: 18
- },
- {
- symbol: 'RCT',
- name: 'RealChain',
- marketSymbol: 'rct',
- identifier: 'eth-erc20-rct',
- contractAddress: '0x13f25cd52b21650caa8225C9942337d914C9B030',
- decimals: 18
- },
- {
- symbol: 'RCT',
- name: 'RCT',
- marketSymbol: 'rct',
- identifier: 'eth-erc20-rct',
- contractAddress: '0x2a3Aa9ECA41E720Ed46B5A70D6C37EfA47f768Ac',
- decimals: 18
- },
- {
- symbol: 'RDN',
- name: 'Raiden Network',
- marketSymbol: 'rdn',
- identifier: 'eth-erc20-rdn',
- contractAddress: '0x255Aa6DF07540Cb5d3d297f0D0D4D84cb52bc8e6',
- decimals: 18
- },
- {
- symbol: 'REA',
- name: 'Realisto',
- marketSymbol: 'rea',
- identifier: 'eth-erc20-rea',
- contractAddress: '0x767bA2915EC344015a7938E3eEDfeC2785195D05',
- decimals: 18
- },
- {
- symbol: 'REAL',
- name: 'Real Estate Asset Ledger',
- marketSymbol: 'real',
- identifier: 'eth-erc20-real',
- contractAddress: '0x9214eC02CB71CbA0ADA6896b8dA260736a67ab10',
- decimals: 18
- },
- {
- symbol: 'REBL',
- name: 'Rebellious',
- marketSymbol: 'rebl',
- identifier: 'eth-erc20-rebl',
- contractAddress: '0x5F53f7A8075614b699Baad0bC2c899f4bAd8FBBF',
- decimals: 18
- },
- {
- symbol: 'RED',
- name: 'Red Community Token',
- marketSymbol: 'red',
- identifier: 'eth-erc20-red',
- contractAddress: '0x76960Dccd5a1fe799F7c29bE9F19ceB4627aEb2f',
- decimals: 18
- },
- {
- symbol: 'REDC',
- name: 'RedCab',
- marketSymbol: 'redc',
- identifier: 'eth-erc20-redc',
- contractAddress: '0xB563300A3BAc79FC09B93b6F84CE0d4465A2AC27',
- decimals: 18
- },
- {
- symbol: 'REF',
- name: 'RefToken',
- marketSymbol: 'ref',
- identifier: 'eth-erc20-ref',
- contractAddress: '0x89303500a7Abfb178B274FD89F2469C264951e1f',
- decimals: 8
- },
- {
- symbol: 'REM',
- name: 'Remme',
- marketSymbol: 'rem',
- identifier: 'eth-erc20-rem',
- contractAddress: '0x83984d6142934bb535793A82ADB0a46EF0F66B6d',
- decimals: 4
- },
- {
- symbol: 'REMI',
- name: 'REMI',
- marketSymbol: 'remi',
- identifier: 'eth-erc20-remi',
- contractAddress: '0x13cb85823f78Cff38f0B0E90D3e975b8CB3AAd64',
- decimals: 18
- },
- {
- symbol: 'REN',
- name: 'Republic Token',
- marketSymbol: 'ren',
- identifier: 'eth-erc20-ren',
- contractAddress: '0x408e41876cCCDC0F92210600ef50372656052a38',
- decimals: 18
- },
- {
- symbol: 'REP',
- name: 'Augur',
- marketSymbol: 'rep',
- identifier: 'eth-erc20-rep',
- contractAddress: '0x1985365e9f78359a9B6AD760e32412f4a445E862',
- decimals: 18
- },
- {
- symbol: 'REP',
- name: 'Augur',
- marketSymbol: 'rep',
- identifier: 'eth-erc20-rep',
- contractAddress: '0xE94327D07Fc17907b4DB788E5aDf2ed424adDff6',
- decimals: 18
- },
- {
- symbol: 'REQ',
- name: 'Request Network',
- marketSymbol: 'req',
- identifier: 'eth-erc20-req',
- contractAddress: '0x8f8221aFbB33998d8584A2B05749bA73c37a938a',
- decimals: 18
- },
- {
- symbol: 'REX',
- name: 'imbrex',
- marketSymbol: 'rex',
- identifier: 'eth-erc20-rex',
- contractAddress: '0xf05a9382A4C3F29E2784502754293D88b835109C',
- decimals: 18
- },
- {
- symbol: 'RFR',
- name: 'Refereum',
- marketSymbol: 'rfr',
- identifier: 'eth-erc20-rfr',
- contractAddress: '0xd0929d411954c47438dc1d871dd6081F5C5e149c',
- decimals: 4
- },
- {
- symbol: 'RGS',
- name: 'Rusgas',
- marketSymbol: 'rgs',
- identifier: 'eth-erc20-rgs',
- contractAddress: '0x4c383bDCae52a6e1cb810C76C70d6f31A249eC9B',
- decimals: 8
- },
- {
- symbol: 'RHOC',
- name: 'RChain',
- marketSymbol: 'rhoc',
- identifier: 'eth-erc20-rhoc',
- contractAddress: '0x168296bb09e24A88805CB9c33356536B980D3fC5',
- decimals: 8
- },
- {
- symbol: 'RING',
- name: 'Evolution Land Global Token',
- marketSymbol: 'ring',
- identifier: 'eth-erc20-ring',
- contractAddress: '0x9469D013805bFfB7D3DEBe5E7839237e535ec483',
- decimals: 18
- },
- {
- symbol: 'RING',
- name: 'Evolution Land Global Token',
- marketSymbol: 'ring',
- identifier: 'eth-erc20-ring',
- contractAddress: '0x86E56f3c89a14528858e58B3De48c074538BAf2c',
- decimals: 18
- },
- {
- symbol: 'RIPT',
- name: 'RiptideCoin',
- marketSymbol: 'ript',
- identifier: 'eth-erc20-ript',
- contractAddress: '0xdd007278B667F6bef52fD0a4c23604aA1f96039a',
- decimals: 8
- },
- {
- symbol: 'RIYA',
- name: 'Etheriya',
- marketSymbol: 'riya',
- identifier: 'eth-erc20-riya',
- contractAddress: '0x0b1724cc9FDA0186911EF6a75949e9c0d3F0f2F3',
- decimals: 8
- },
- {
- symbol: 'RKT',
- name: 'Rock',
- marketSymbol: 'rkt',
- identifier: 'eth-erc20-rkt',
- contractAddress: '0x106Aa49295B525fcf959aA75eC3f7dCbF5352f1C',
- decimals: 18
- },
- {
- symbol: 'RLC',
- name: 'IEx.ec',
- marketSymbol: 'rlc',
- identifier: 'eth-erc20-rlc',
- contractAddress: '0x607F4C5BB672230e8672085532f7e901544a7375',
- decimals: 9
- },
- {
- symbol: 'RLT',
- name: 'RouletteToken',
- marketSymbol: 'rlt',
- identifier: 'eth-erc20-rlt',
- contractAddress: '0xcCeD5B8288086BE8c38E23567e684C3740be4D48',
- decimals: 10
- },
- {
- symbol: 'RLTY',
- name: 'SMARTRealty',
- marketSymbol: 'rlty',
- identifier: 'eth-erc20-rlty',
- contractAddress: '0xbe99B09709fc753b09BCf557A992F6605D5997B0',
- decimals: 8
- },
- {
- symbol: 'RLX',
- name: 'Relex',
- marketSymbol: 'rlx',
- identifier: 'eth-erc20-rlx',
- contractAddress: '0x4A42d2c580f83dcE404aCad18dab26Db11a1750E',
- decimals: 18
- },
- {
- symbol: 'RMC',
- name: 'RemiCoin',
- marketSymbol: 'rmc',
- identifier: 'eth-erc20-rmc',
- contractAddress: '0x7Dc4f41294697a7903C4027f6Ac528C5d14cd7eB',
- decimals: 8
- },
- {
- symbol: 'RMESH',
- name: 'RightMesh Token',
- marketSymbol: 'rmesh',
- identifier: 'eth-erc20-rmesh',
- contractAddress: '0x8D5682941cE456900b12d47ac06a88b47C764CE1',
- decimals: 18
- },
- {
- symbol: 'RNDR',
- name: 'Render Token',
- marketSymbol: 'rndr',
- identifier: 'eth-erc20-rndr',
- contractAddress: '0x0996bFb5D057faa237640E2506BE7B4f9C46de0B',
- decimals: 18
- },
- {
- symbol: 'RNT',
- name: 'OneRoot Network',
- marketSymbol: 'rnt',
- identifier: 'eth-erc20-rnt',
- contractAddress: '0xFF603F43946A3A28DF5E6A73172555D8C8b02386',
- decimals: 18
- },
- {
- symbol: 'RNTB',
- name: 'BitRent',
- marketSymbol: 'rntb',
- identifier: 'eth-erc20-rntb',
- contractAddress: '0x1FE70bE734e473e5721ea57C8B5B01e6Caa52686',
- decimals: 18
- },
- {
- symbol: 'ROC',
- name: 'ROC',
- marketSymbol: 'roc',
- identifier: 'eth-erc20-roc',
- contractAddress: '0x1BcBc54166F6bA149934870b60506199b6C9dB6D',
- decimals: 10
- },
- {
- symbol: 'ROCK',
- name: 'Rocket Token',
- marketSymbol: 'rock',
- identifier: 'eth-erc20-rock',
- contractAddress: '0xA40106134c5bF4c41411554e6db99B95A15ed9d8',
- decimals: 18
- },
- {
- symbol: 'ROCK2',
- name: 'ICE ROCK MINING',
- marketSymbol: 'rock2',
- identifier: 'eth-erc20-rock2',
- contractAddress: '0xC16b542ff490e01fcc0DC58a60e1EFdc3e357cA6',
- decimals: 0
- },
- {
- symbol: 'ROCK2PAY',
- name: 'ICE ROCK MINING',
- marketSymbol: 'rock2pay',
- identifier: 'eth-erc20-rock2pay',
- contractAddress: '0x0E3de3B0E3D617FD8D1D8088639bA877feb4d742',
- decimals: 18
- },
- {
- symbol: 'ROK',
- name: 'Rocketchain',
- marketSymbol: 'rok',
- identifier: 'eth-erc20-rok',
- contractAddress: '0xc9De4B7F0C3d991e967158E4D4bFA4b51Ec0b114',
- decimals: 18
- },
- {
- symbol: 'ROUND',
- name: 'ROUND',
- marketSymbol: 'round',
- identifier: 'eth-erc20-round',
- contractAddress: '0x4993CB95c7443bdC06155c5f5688Be9D8f6999a5',
- decimals: 18
- },
- {
- symbol: 'RPL',
- name: 'Rocket Pool',
- marketSymbol: 'rpl',
- identifier: 'eth-erc20-rpl',
- contractAddress: '0xB4EFd85c19999D84251304bDA99E90B92300Bd93',
- decimals: 18
- },
- {
- symbol: 'RTB',
- name: 'AB-Chain RTB',
- marketSymbol: 'rtb',
- identifier: 'eth-erc20-rtb',
- contractAddress: '0xEC491c1088Eae992B7A214efB0a266AD0927A72A',
- decimals: 18
- },
- {
- symbol: 'RTH',
- name: 'Rotharium',
- marketSymbol: 'rth',
- identifier: 'eth-erc20-rth',
- contractAddress: '0x3FD8f39A962eFDA04956981C31AB89FAB5FB8bC8',
- decimals: 18
- },
- {
- symbol: 'RTN',
- name: 'RiderToken',
- marketSymbol: 'rtn',
- identifier: 'eth-erc20-rtn',
- contractAddress: '0x54b293226000ccBFC04DF902eEC567CB4C35a903',
- decimals: 18
- },
- {
- symbol: 'RUFF',
- name: 'Ruff',
- marketSymbol: 'ruff',
- identifier: 'eth-erc20-ruff',
- contractAddress: '0xf278c1CA969095ffddDED020290cf8B5C424AcE2',
- decimals: 18
- },
- {
- symbol: 'RUNE',
- name: 'Rune',
- marketSymbol: 'rune',
- identifier: 'eth-erc20-rune',
- contractAddress: '0xdEE02D94be4929d26f67B64Ada7aCf1914007F10',
- decimals: 18
- },
- {
- symbol: 'RVL',
- name: 'RVL',
- marketSymbol: 'rvl',
- identifier: 'eth-erc20-rvl',
- contractAddress: '0x41f615E24fAbd2b097a320E9E6c1f448cb40521c',
- decimals: 18
- },
- {
- symbol: 'RVT',
- name: 'Rivetz',
- marketSymbol: 'rvt',
- identifier: 'eth-erc20-rvt',
- contractAddress: '0x3d1BA9be9f66B8ee101911bC36D3fB562eaC2244',
- decimals: 18
- },
- {
- symbol: 'S-A-PAT',
- name: 'S-A-PAT',
- marketSymbol: 's-a-pat',
- identifier: 'eth-erc20-s-a-pat',
- contractAddress: '0x1EC8fE51a9B6A3a6C427D17d9ECC3060fbc4a45c',
- decimals: 18
- },
- {
- symbol: 'S-ETH',
- name: 'S-ETH',
- marketSymbol: 's-eth',
- identifier: 'eth-erc20-s-eth',
- contractAddress: '0x3eb91D237e491E0DEE8582c402D85CB440fb6b54',
- decimals: 18
- },
- {
- symbol: 'SAC',
- name: 'Smart Application Chain',
- marketSymbol: 'sac',
- identifier: 'eth-erc20-sac',
- contractAddress: '0xabC1280A0187a2020cC675437aed400185F86Db6',
- decimals: 18
- },
- {
- symbol: 'SALT',
- name: 'Salt Lending Token',
- marketSymbol: 'salt',
- identifier: 'eth-erc20-salt',
- contractAddress: '0x4156D3342D5c385a87D264F90653733592000581',
- decimals: 8
- },
- {
- symbol: 'SAN',
- name: 'Santiment',
- marketSymbol: 'san',
- identifier: 'eth-erc20-san',
- contractAddress: '0x7C5A0CE9267ED19B22F8cae653F198e3E8daf098',
- decimals: 18
- },
- {
- symbol: 'SCANDI',
- name: 'Scandiweb Coin',
- marketSymbol: 'scandi',
- identifier: 'eth-erc20-scandi',
- contractAddress: '0x78fE18e41f436e1981a3a60D1557c8a7a9370461',
- decimals: 2
- },
- {
- symbol: 'SCL',
- name: 'SocialCoin',
- marketSymbol: 'scl',
- identifier: 'eth-erc20-scl',
- contractAddress: '0xd7631787B4dCc87b1254cfd1e5cE48e96823dEe8',
- decimals: 8
- },
- {
- symbol: 'SCRL',
- name: 'SCRL',
- marketSymbol: 'scrl',
- identifier: 'eth-erc20-scrl',
- contractAddress: '0x24DCc881E7Dd730546834452F21872D5cb4b5293',
- decimals: 18
- },
- {
- symbol: 'SEELE',
- name: 'Seele',
- marketSymbol: 'seele',
- identifier: 'eth-erc20-seele',
- contractAddress: '0xB1eeF147028E9f480DbC5ccaA3277D417D1b85F0',
- decimals: 18
- },
- {
- symbol: 'SENC',
- name: 'Sentinel Chain',
- marketSymbol: 'senc',
- identifier: 'eth-erc20-senc',
- contractAddress: '0xA13f0743951B4f6E3e3AA039f682E17279f52bc3',
- decimals: 18
- },
- {
- symbol: 'SenSatorI',
- name: 'SenSatorI Token',
- marketSymbol: 'sensatori',
- identifier: 'eth-erc20-sensatori',
- contractAddress: '0x4cA74185532DC1789527194e5B9c866dD33F4E82',
- decimals: 18
- },
- {
- symbol: 'SENSE',
- name: 'Sensay',
- marketSymbol: 'sense',
- identifier: 'eth-erc20-sense',
- contractAddress: '0x6745fAB6801e376cD24F03572B9C9B0D4EdDDCcf',
- decimals: 8
- },
- {
- symbol: 'SENT',
- name: 'SENTinel',
- marketSymbol: 'sent',
- identifier: 'eth-erc20-sent',
- contractAddress: '0xa44E5137293E855B1b7bC7E2C6f8cD796fFCB037',
- decimals: 8
- },
- {
- symbol: 'SET',
- name: 'SET',
- marketSymbol: 'set',
- identifier: 'eth-erc20-set',
- contractAddress: '0xe06eda7435bA749b047380CEd49121ddE93334Ae',
- decimals: 0
- },
- {
- symbol: 'SEXY',
- name: 'Sexy Token',
- marketSymbol: 'sexy',
- identifier: 'eth-erc20-sexy',
- contractAddress: '0x98F5e9b7F0e33956C0443E81bF7deB8B5b1ed545',
- decimals: 18
- },
- {
- symbol: 'SGEL',
- name: 'SGELDER',
- marketSymbol: 'sgel',
- identifier: 'eth-erc20-sgel',
- contractAddress: '0xa1ccc166faf0E998b3E33225A1A0301B1C86119D',
- decimals: 18
- },
- {
- symbol: 'SGN',
- name: 'Signals Network',
- marketSymbol: 'sgn',
- identifier: 'eth-erc20-sgn',
- contractAddress: '0xB2135AB9695a7678Dd590B1A996CB0f37BCB0718',
- decimals: 9
- },
- {
- symbol: 'SGP',
- name: 'SGPay',
- marketSymbol: 'sgp',
- identifier: 'eth-erc20-sgp',
- contractAddress: '0x33C623a2BAAfEb8D15DfaF3cE44095efec83D72C',
- decimals: 18
- },
- {
- symbol: 'SGR',
- name: 'Sugar Exchange',
- marketSymbol: 'sgr',
- identifier: 'eth-erc20-sgr',
- contractAddress: '0xCB5A05beF3257613E984C17DbcF039952B6d883F',
- decimals: 8
- },
- {
- symbol: 'SGT',
- name: 'SGT',
- marketSymbol: 'sgt',
- identifier: 'eth-erc20-sgt',
- contractAddress: '0xd248B0D48E44aaF9c49aea0312be7E13a6dc1468',
- decimals: 1
- },
- {
- symbol: 'SGT',
- name: 'SelfieYo Gold Token',
- marketSymbol: 'sgt',
- identifier: 'eth-erc20-sgt',
- contractAddress: '0x37427576324fE1f3625c9102674772d7CF71377d',
- decimals: 18
- },
- {
- symbol: 'SHIP',
- name: 'ShipChain',
- marketSymbol: 'ship',
- identifier: 'eth-erc20-ship',
- contractAddress: '0xe25b0BBA01Dc5630312B6A21927E578061A13f55',
- decimals: 18
- },
- {
- symbol: 'SHIT',
- name: 'SHIT',
- marketSymbol: 'shit',
- identifier: 'eth-erc20-shit',
- contractAddress: '0xEF2E9966eb61BB494E5375d5Df8d67B7dB8A780D',
- decimals: 0
- },
- {
- symbol: 'SHL',
- name: 'Oyster Shell',
- marketSymbol: 'shl',
- identifier: 'eth-erc20-shl',
- contractAddress: '0x8542325B72C6D9fC0aD2Ca965A78435413a915A0',
- decimals: 18
- },
- {
- symbol: 'SHP',
- name: 'Sharpe Platform Token',
- marketSymbol: 'shp',
- identifier: 'eth-erc20-shp',
- contractAddress: '0xEF2463099360a085f1f10b076Ed72Ef625497a06',
- decimals: 18
- },
- {
- symbol: 'SIFT',
- name: 'SIFT',
- marketSymbol: 'sift',
- identifier: 'eth-erc20-sift',
- contractAddress: '0x8a187D5285d316bcBC9ADafc08b51d70a0d8e000',
- decimals: 0
- },
- {
- symbol: 'SIG',
- name: 'Signal',
- marketSymbol: 'sig',
- identifier: 'eth-erc20-sig',
- contractAddress: '0x6888a16eA9792c15A4DCF2f6C623D055c8eDe792',
- decimals: 18
- },
- {
- symbol: 'SKB',
- name: 'Sakura Bloom',
- marketSymbol: 'skb',
- identifier: 'eth-erc20-skb',
- contractAddress: '0x4aF328C52921706dCB739F25786210499169AFe6',
- decimals: 8
- },
- {
- symbol: 'SKE',
- name: 'Super Keep Token',
- marketSymbol: 'ske',
- identifier: 'eth-erc20-ske',
- contractAddress: '0x13DB74B3cf512F65C4b91683940B4f3955E05085',
- decimals: 8
- },
- {
- symbol: 'SKIN',
- name: 'SKIN',
- marketSymbol: 'skin',
- identifier: 'eth-erc20-skin',
- contractAddress: '0x2bDC0D42996017fCe214b21607a515DA41A9E0C5',
- decimals: 6
- },
- {
- symbol: 'SKM',
- name: 'Skrumble Network',
- marketSymbol: 'skm',
- identifier: 'eth-erc20-skm',
- contractAddress: '0xd99b8A7fA48E25Cce83B81812220A3E03Bf64e5f',
- decimals: 18
- },
- {
- symbol: 'SKO1',
- name: 'Sikoba',
- marketSymbol: 'sko1',
- identifier: 'eth-erc20-sko1',
- contractAddress: '0x4994e81897a920c0FEA235eb8CEdEEd3c6fFF697',
- decimals: 18
- },
- {
- symbol: 'SKR',
- name: 'SKR Token',
- marketSymbol: 'skr',
- identifier: 'eth-erc20-skr',
- contractAddress: '0x4c382F8E09615AC86E08CE58266CC227e7d4D913',
- decimals: 6
- },
- {
- symbol: 'SKRP',
- name: 'Skraps',
- marketSymbol: 'skrp',
- identifier: 'eth-erc20-skrp',
- contractAddress: '0x324A48eBCbB46e61993931eF9D35F6697CD2901b',
- decimals: 18
- },
- {
- symbol: 'SKRP',
- name: 'Skraps',
- marketSymbol: 'skrp',
- identifier: 'eth-erc20-skrp',
- contractAddress: '0xfdFE8b7aB6CF1bD1E3d14538Ef40686296C42052',
- decimals: 18
- },
- {
- symbol: 'SKRP',
- name: 'Skraps',
- marketSymbol: 'skrp',
- identifier: 'eth-erc20-skrp',
- contractAddress: '0x6E34d8d84764D40f6D7b39cd569Fd017bF53177D',
- decimals: 18
- },
- {
- symbol: 'SKYM',
- name: 'Skymap Token',
- marketSymbol: 'skym',
- identifier: 'eth-erc20-skym',
- contractAddress: '0x7297862B9670fF015192799cc849726c88bf1d77',
- decimals: 18
- },
- {
- symbol: 'SLT',
- name: 'Smartlands',
- marketSymbol: 'slt',
- identifier: 'eth-erc20-slt',
- contractAddress: '0x7A5fF295Dc8239d5C2374E4D894202aAF029Cab6',
- decimals: 3
- },
- {
- symbol: 'SLY',
- name: 'Selfllery',
- marketSymbol: 'sly',
- identifier: 'eth-erc20-sly',
- contractAddress: '0x7928c8aBF1F74eF9F96D4D0a44e3b4209d360785',
- decimals: 18
- },
- {
- symbol: 'SMART',
- name: 'Smart Billions',
- marketSymbol: 'smart',
- identifier: 'eth-erc20-smart',
- contractAddress: '0x6F6DEb5db0C4994A8283A01D6CFeEB27Fc3bBe9C',
- decimals: 0
- },
- {
- symbol: 'SMS',
- name: 'Speed Mining Service',
- marketSymbol: 'sms',
- identifier: 'eth-erc20-sms',
- contractAddress: '0x39013F961c378f02C2b82A6E1d31E9812786FD9D',
- decimals: 3
- },
- {
- symbol: 'SMT',
- name: 'Smart Node',
- marketSymbol: 'smt',
- identifier: 'eth-erc20-smt',
- contractAddress: '0x2dCFAAc11c9EebD8C6C42103Fe9e2a6AD237aF27',
- decimals: 18
- },
- {
- symbol: 'SMT',
- name: 'Social Media Market',
- marketSymbol: 'smt',
- identifier: 'eth-erc20-smt',
- contractAddress: '0x78Eb8DC641077F049f910659b6d580E80dC4d237',
- decimals: 8
- },
- {
- symbol: 'SMT',
- name: 'SmartMesh',
- marketSymbol: 'smt',
- identifier: 'eth-erc20-smt',
- contractAddress: '0x55F93985431Fc9304077687a35A1BA103dC1e081',
- decimals: 18
- },
- {
- symbol: 'SNBL',
- name: 'Snowball',
- marketSymbol: 'snbl',
- identifier: 'eth-erc20-snbl',
- contractAddress: '0x198A87b3114143913d4229Fb0f6D4BCb44aa8AFF',
- decimals: 8
- },
- {
- symbol: 'SNC',
- name: 'SunContract',
- marketSymbol: 'snc',
- identifier: 'eth-erc20-snc',
- contractAddress: '0xF4134146AF2d511Dd5EA8cDB1C4AC88C57D60404',
- decimals: 18
- },
- {
- symbol: 'SND',
- name: 'Sandcoin',
- marketSymbol: 'snd',
- identifier: 'eth-erc20-snd',
- contractAddress: '0xf333b2Ace992ac2bBD8798bF57Bc65a06184afBa',
- decimals: 0
- },
- {
- symbol: 'SNG',
- name: 'SINERGIA',
- marketSymbol: 'sng',
- identifier: 'eth-erc20-sng',
- contractAddress: '0xcFD6Ae8BF13f42DE14867351eAff7A8A3b9FbBe7',
- decimals: 8
- },
- {
- symbol: 'SNGLS',
- name: 'SingularDTV',
- marketSymbol: 'sngls',
- identifier: 'eth-erc20-sngls',
- contractAddress: '0xaeC2E87E0A235266D9C5ADc9DEb4b2E29b54D009',
- decimals: 0
- },
- {
- symbol: 'SNIP',
- name: 'SNIP',
- marketSymbol: 'snip',
- identifier: 'eth-erc20-snip',
- contractAddress: '0x44F588aEeB8C44471439D1270B3603c66a9262F1',
- decimals: 18
- },
- {
- symbol: 'SNM',
- name: 'SONM',
- marketSymbol: 'snm',
- identifier: 'eth-erc20-snm',
- contractAddress: '0x983F6d60db79ea8cA4eB9968C6aFf8cfA04B3c63',
- decimals: 18
- },
- {
- symbol: 'SNOV',
- name: 'Snovian.Space',
- marketSymbol: 'snov',
- identifier: 'eth-erc20-snov',
- contractAddress: '0xBDC5bAC39Dbe132B1E030e898aE3830017D7d969',
- decimals: 18
- },
- {
- symbol: 'SNT',
- name: 'Status Network Token',
- marketSymbol: 'snt',
- identifier: 'eth-erc20-snt',
- contractAddress: '0x744d70FDBE2Ba4CF95131626614a1763DF805B9E',
- decimals: 18
- },
- {
- symbol: 'SNTR',
- name: 'Silent Notary',
- marketSymbol: 'sntr',
- identifier: 'eth-erc20-sntr',
- contractAddress: '0x2859021eE7F2Cb10162E67F33Af2D22764B31aFf',
- decimals: 4
- },
- {
- symbol: 'SNX',
- name: 'Synthetix Network Token',
- marketSymbol: 'snx',
- identifier: 'eth-erc20-snx',
- contractAddress: '0xC011A72400E58ecD99Ee497CF89E3775d4bd732F',
- decimals: 18
- },
- {
- symbol: 'SOAR',
- name: 'Soarcoin',
- marketSymbol: 'soar',
- identifier: 'eth-erc20-soar',
- contractAddress: '0xD65960FAcb8E4a2dFcb2C2212cb2e44a02e2a57E',
- decimals: 6
- },
- {
- symbol: 'SOC',
- name: 'All Sports',
- marketSymbol: 'soc',
- identifier: 'eth-erc20-soc',
- contractAddress: '0x2d0E95bd4795D7aCe0da3C0Ff7b706a5970eb9D3',
- decimals: 18
- },
- {
- symbol: 'SOL',
- name: 'Sola Token',
- marketSymbol: 'sol',
- identifier: 'eth-erc20-sol',
- contractAddress: '0x1F54638b7737193FFd86c19Ec51907A7c41755D8',
- decimals: 6
- },
- {
- symbol: 'SONIQ',
- name: 'Soniq',
- marketSymbol: 'soniq',
- identifier: 'eth-erc20-soniq',
- contractAddress: '0x1C62aCa2b7605Db3606eAcdA7Bc67A1857DDb8FF',
- decimals: 18
- },
- {
- symbol: 'SOUL',
- name: 'CryptoSoul',
- marketSymbol: 'soul',
- identifier: 'eth-erc20-soul',
- contractAddress: '0xBb1f24C0c1554b9990222f036b0AaD6Ee4CAec29',
- decimals: 18
- },
- {
- symbol: 'SPANK',
- name: 'SpankChain',
- marketSymbol: 'spank',
- identifier: 'eth-erc20-spank',
- contractAddress: '0x42d6622deCe394b54999Fbd73D108123806f6a18',
- decimals: 18
- },
- {
- symbol: 'SPARC',
- name: 'SPARC',
- marketSymbol: 'sparc',
- identifier: 'eth-erc20-sparc',
- contractAddress: '0x58bf7df57d9DA7113c4cCb49d8463D4908C735cb',
- decimals: 18
- },
- {
- symbol: 'SPARTA',
- name: 'SPARTA',
- marketSymbol: 'sparta',
- identifier: 'eth-erc20-sparta',
- contractAddress: '0x24AEF3BF1A47561500f9430D74Ed4097C47F51F2',
- decimals: 4
- },
- {
- symbol: 'SPD',
- name: 'SPINDLE',
- marketSymbol: 'spd',
- identifier: 'eth-erc20-spd',
- contractAddress: '0x1dEa979ae76f26071870F824088dA78979eb91C8',
- decimals: 18
- },
- {
- symbol: 'SPF',
- name: 'Sportify',
- marketSymbol: 'spf',
- identifier: 'eth-erc20-spf',
- contractAddress: '0x85089389C14Bd9c77FC2b8F0c3d1dC3363Bf06Ef',
- decimals: 18
- },
- {
- symbol: 'SPHTX',
- name: 'SPHTX',
- marketSymbol: 'sphtx',
- identifier: 'eth-erc20-sphtx',
- contractAddress: '0x3833ddA0AEB6947b98cE454d89366cBA8Cc55528',
- decimals: 18
- },
- {
- symbol: 'SPICE',
- name: 'SPiCE VC Token',
- marketSymbol: 'spice',
- identifier: 'eth-erc20-spice',
- contractAddress: '0x0324dd195D0Cd53F9F07bEe6a48eE7a20bad738f',
- decimals: 8
- },
- {
- symbol: 'SPN',
- name: 'Sapien',
- marketSymbol: 'spn',
- identifier: 'eth-erc20-spn',
- contractAddress: '0x20F7A3DdF244dc9299975b4Da1C39F8D5D75f05A',
- decimals: 6
- },
- {
- symbol: 'SPX',
- name: 'Sp8de',
- marketSymbol: 'spx',
- identifier: 'eth-erc20-spx',
- contractAddress: '0x05aAaA829Afa407D83315cDED1d45EB16025910c',
- decimals: 18
- },
- {
- symbol: 'SRN',
- name: 'Sirin Labs',
- marketSymbol: 'srn',
- identifier: 'eth-erc20-srn',
- contractAddress: '0x68d57c9a1C35f63E2c83eE8e49A64e9d70528D25',
- decimals: 18
- },
- {
- symbol: 'SS',
- name: 'Sharder',
- marketSymbol: 'ss',
- identifier: 'eth-erc20-ss',
- contractAddress: '0xbbFF862d906E348E9946Bfb2132ecB157Da3D4b4',
- decimals: 18
- },
- {
- symbol: 'SS',
- name: 'Sharder',
- marketSymbol: 'ss',
- identifier: 'eth-erc20-ss',
- contractAddress: '0xB15fE5a123e647ba594CEa7A1E648646f95EB4AA',
- decimals: 18
- },
- {
- symbol: 'SSH',
- name: 'StreamShares',
- marketSymbol: 'ssh',
- identifier: 'eth-erc20-ssh',
- contractAddress: '0x6e2050CBFB3eD8A4d39b64cC9f47E711a03a5a89',
- decimals: 18
- },
- {
- symbol: 'SSP',
- name: 'Smartshare',
- marketSymbol: 'ssp',
- identifier: 'eth-erc20-ssp',
- contractAddress: '0x624d520BAB2E4aD83935Fa503fB130614374E850',
- decimals: 4
- },
- {
- symbol: 'STABIT',
- name: 'StabitCoin',
- marketSymbol: 'stabit',
- identifier: 'eth-erc20-stabit',
- contractAddress: '0x4A89cD486fA996ad50c0a63C35c78702f5422a50',
- decimals: 3
- },
- {
- symbol: 'STAC',
- name: 'Starter Coin',
- marketSymbol: 'stac',
- identifier: 'eth-erc20-stac',
- contractAddress: '0x9a005c9a89BD72a4Bd27721E7a09A3c11D2b03C4',
- decimals: 18
- },
- {
- symbol: 'STACS',
- name: 'STACS',
- marketSymbol: 'stacs',
- identifier: 'eth-erc20-stacs',
- contractAddress: '0x286708f069225905194673755F12359e6afF6FE1',
- decimals: 18
- },
- {
- symbol: 'STAR',
- name: 'Star Token',
- marketSymbol: 'star',
- identifier: 'eth-erc20-star',
- contractAddress: '0xF70a642bD387F94380fFb90451C2c81d4Eb82CBc',
- decimals: 18
- },
- {
- symbol: 'STB',
- name: 'STABLE Token',
- marketSymbol: 'stb',
- identifier: 'eth-erc20-stb',
- contractAddress: '0x09BcA6eBAb05Ee2ae945BE4edA51393d94Bf7b99',
- decimals: 4
- },
- {
- symbol: 'STC',
- name: 'StrikeCoin Token',
- marketSymbol: 'stc',
- identifier: 'eth-erc20-stc',
- contractAddress: '0x629aEe55ed49581C33ab27f9403F7992A289ffd5',
- decimals: 18
- },
- {
- symbol: 'STK',
- name: 'STK Token',
- marketSymbol: 'stk',
- identifier: 'eth-erc20-stk',
- contractAddress: '0xaE73B38d1c9A8b274127ec30160a4927C4d71824',
- decimals: 18
- },
- {
- symbol: 'STN',
- name: 'Saturn Network',
- marketSymbol: 'stn',
- identifier: 'eth-erc20-stn',
- contractAddress: '0x599346779e90fc3F5F997b5ea715349820F91571',
- decimals: 4
- },
- {
- symbol: 'STORJ',
- name: 'STORJ',
- marketSymbol: 'storj',
- identifier: 'eth-erc20-storj',
- contractAddress: '0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC',
- decimals: 8
- },
- {
- symbol: 'STORM',
- name: 'Storm Token',
- marketSymbol: 'storm',
- identifier: 'eth-erc20-storm',
- contractAddress: '0xD0a4b8946Cb52f0661273bfbC6fD0E0C75Fc6433',
- decimals: 18
- },
- {
- symbol: 'STP',
- name: 'StashPay',
- marketSymbol: 'stp',
- identifier: 'eth-erc20-stp',
- contractAddress: '0xecd570bBf74761b960Fa04Cc10fe2c4e86FfDA36',
- decimals: 8
- },
- {
- symbol: 'STQ',
- name: 'Storiqa',
- marketSymbol: 'stq',
- identifier: 'eth-erc20-stq',
- contractAddress: '0x5c3a228510D246b78a3765C20221Cbf3082b44a4',
- decimals: 18
- },
- {
- symbol: 'STR',
- name: 'Staker',
- marketSymbol: 'str',
- identifier: 'eth-erc20-str',
- contractAddress: '0xBAE235823D7255D9D48635cEd4735227244Cd583',
- decimals: 18
- },
- {
- symbol: 'STRC',
- name: 'STRC',
- marketSymbol: 'strc',
- identifier: 'eth-erc20-strc',
- contractAddress: '0x46492473755e8dF960F8034877F61732D718CE96',
- decimals: 8
- },
- {
- symbol: 'STU',
- name: 'bitJob',
- marketSymbol: 'stu',
- identifier: 'eth-erc20-stu',
- contractAddress: '0x0371A82e4A9d0A4312f3ee2Ac9c6958512891372',
- decimals: 18
- },
- {
- symbol: 'STX',
- name: 'StoxToken',
- marketSymbol: 'stx',
- identifier: 'eth-erc20-stx',
- contractAddress: '0x006BeA43Baa3f7A6f765F14f10A1a1b08334EF45',
- decimals: 18
- },
- {
- symbol: 'SUB',
- name: 'Substratum',
- marketSymbol: 'sub',
- identifier: 'eth-erc20-sub',
- contractAddress: '0x8D75959f1E61EC2571aa72798237101F084DE63a',
- decimals: 18
- },
- {
- symbol: 'SUB (old)',
- name: 'Substratum (old contract)',
- marketSymbol: 'sub (old)',
- identifier: 'eth-erc20-sub (old)',
- contractAddress: '0x12480E24eb5bec1a9D4369CaB6a80caD3c0A377A',
- decimals: 2
- },
- {
- symbol: 'SUR',
- name: 'Suretly',
- marketSymbol: 'sur',
- identifier: 'eth-erc20-sur',
- contractAddress: '0xe120c1ECBfdFeA7F0A8f0Ee30063491E8c26fedf',
- decimals: 8
- },
- {
- symbol: 'sUSD',
- name: 'USD Synth (sUSD)',
- marketSymbol: 'susd',
- identifier: 'eth-erc20-susd',
- contractAddress: '0x57Ab1E02fEE23774580C119740129eAC7081e9D3',
- decimals: 18
- },
- {
- symbol: 'SVD',
- name: 'savedroid',
- marketSymbol: 'svd',
- identifier: 'eth-erc20-svd',
- contractAddress: '0xbdEB4b83251Fb146687fa19D1C660F99411eefe3',
- decimals: 18
- },
- {
- symbol: 'SWFTC',
- name: 'SwftCoin',
- marketSymbol: 'swftc',
- identifier: 'eth-erc20-swftc',
- contractAddress: '0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e',
- decimals: 8
- },
- {
- symbol: 'SWM',
- name: 'Swarm Fund Token',
- marketSymbol: 'swm',
- identifier: 'eth-erc20-swm',
- contractAddress: '0x9e88613418cF03dCa54D6a2cf6Ad934A78C7A17A',
- decimals: 18
- },
- {
- symbol: 'SWT',
- name: 'Swarm City Token',
- marketSymbol: 'swt',
- identifier: 'eth-erc20-swt',
- contractAddress: '0xB9e7F8568e08d5659f5D29C4997173d84CdF2607',
- decimals: 18
- },
- {
- symbol: 'SXDT',
- name: 'Spectre.ai D-Token',
- marketSymbol: 'sxdt',
- identifier: 'eth-erc20-sxdt',
- contractAddress: '0x12B306fA98F4CbB8d4457FdFf3a0A0a56f07cCdf',
- decimals: 18
- },
- {
- symbol: 'SXUT',
- name: 'Spectre.ai U-Token',
- marketSymbol: 'sxut',
- identifier: 'eth-erc20-sxut',
- contractAddress: '0x2C82c73d5B34AA015989462b2948cd616a37641F',
- decimals: 18
- },
- {
- symbol: 'SYN',
- name: 'Synapse',
- marketSymbol: 'syn',
- identifier: 'eth-erc20-syn',
- contractAddress: '0x10B123FdDde003243199aaD03522065dC05827A0',
- decimals: 18
- },
- {
- symbol: 'TaaS',
- name: 'Token-as-a-Service',
- marketSymbol: 'taas',
- identifier: 'eth-erc20-taas',
- contractAddress: '0xE7775A6e9Bcf904eb39DA2b68c5efb4F9360e08C',
- decimals: 6
- },
- {
- symbol: 'TALAO',
- name: 'Talao',
- marketSymbol: 'talao',
- identifier: 'eth-erc20-talao',
- contractAddress: '0x1D4cCC31dAB6EA20f461d329a0562C1c58412515',
- decimals: 18
- },
- {
- symbol: 'TAN',
- name: 'Taklimakan Network',
- marketSymbol: 'tan',
- identifier: 'eth-erc20-tan',
- contractAddress: '0x2C36204a0712A2a50E54A62F7c4F01867e78cB53',
- decimals: 18
- },
- {
- symbol: 'TAU',
- name: 'Lamden Tau',
- marketSymbol: 'tau',
- identifier: 'eth-erc20-tau',
- contractAddress: '0xc27A2F05fa577a83BA0fDb4c38443c0718356501',
- decimals: 18
- },
- {
- symbol: 'TBC2',
- name: 'TBC2',
- marketSymbol: 'tbc2',
- identifier: 'eth-erc20-tbc2',
- contractAddress: '0xFACCD5Fc83c3E4C3c1AC1EF35D15adf06bCF209C',
- decimals: 8
- },
- {
- symbol: 'TBT',
- name: 'TBitBot',
- marketSymbol: 'tbt',
- identifier: 'eth-erc20-tbt',
- contractAddress: '0xAFe60511341a37488de25Bef351952562E31fCc1',
- decimals: 8
- },
- {
- symbol: 'TBX',
- name: 'Tokenbox',
- marketSymbol: 'tbx',
- identifier: 'eth-erc20-tbx',
- contractAddress: '0x3A92bD396aEf82af98EbC0Aa9030D25a23B11C6b',
- decimals: 18
- },
- {
- symbol: 'TCA',
- name: 'TangguoTao Token',
- marketSymbol: 'tca',
- identifier: 'eth-erc20-tca',
- contractAddress: '0xfA0eF5E034CaE1AE752d59bdb8aDcDe37Ed7aB97',
- decimals: 18
- },
- {
- symbol: 'TCH',
- name: 'Thore Cash',
- marketSymbol: 'tch',
- identifier: 'eth-erc20-tch',
- contractAddress: '0x9972A0F24194447E73a7e8b6CD26a52e02DDfAD5',
- decimals: 0
- },
- {
- symbol: 'TDH',
- name: 'TrustedHealth',
- marketSymbol: 'tdh',
- identifier: 'eth-erc20-tdh',
- contractAddress: '0x2a1dbabe65c595B0022e75208C34014139d5d357',
- decimals: 18
- },
- {
- symbol: 'TEAM',
- name: 'TEAM (TokenStars)',
- marketSymbol: 'team',
- identifier: 'eth-erc20-team',
- contractAddress: '0x1c79ab32C66aCAa1e9E81952B8AAa581B43e54E7',
- decimals: 4
- },
- {
- symbol: 'TEL',
- name: 'Telcoin',
- marketSymbol: 'tel',
- identifier: 'eth-erc20-tel',
- contractAddress: '0x85e076361cc813A908Ff672F9BAd1541474402b2',
- decimals: 2
- },
- {
- symbol: 'TEL',
- name: 'Meditel',
- marketSymbol: 'tel',
- identifier: 'eth-erc20-tel',
- contractAddress: '0xEc32A9725C59855d841ba7d8D9c99c84ff754688',
- decimals: 18
- },
- {
- symbol: 'TEN',
- name: 'Tokenomy',
- marketSymbol: 'ten',
- identifier: 'eth-erc20-ten',
- contractAddress: '0xDD16eC0F66E54d453e6756713E533355989040E4',
- decimals: 18
- },
- {
- symbol: 'TFD',
- name: 'TE-FOOD',
- marketSymbol: 'tfd',
- identifier: 'eth-erc20-tfd',
- contractAddress: '0xE5F166c0D8872B68790061317BB6CcA04582C912',
- decimals: 18
- },
- {
- symbol: 'TFL',
- name: 'TrueFlip',
- marketSymbol: 'tfl',
- identifier: 'eth-erc20-tfl',
- contractAddress: '0xa7f976C360ebBeD4465c2855684D1AAE5271eFa9',
- decimals: 8
- },
- {
- symbol: 'TGAME',
- name: 'Truegame',
- marketSymbol: 'tgame',
- identifier: 'eth-erc20-tgame',
- contractAddress: '0xF8e06E4e4A80287FDCa5b02dcCecAa9D0954840F',
- decimals: 18
- },
- {
- symbol: 'TGT',
- name: 'Target Coin',
- marketSymbol: 'tgt',
- identifier: 'eth-erc20-tgt',
- contractAddress: '0xAc3Da587eac229C9896D919aBC235CA4Fd7f72c1',
- decimals: 1
- },
- {
- symbol: 'THETA',
- name: 'Theta Token',
- marketSymbol: 'theta',
- identifier: 'eth-erc20-theta',
- contractAddress: '0x3883f5e181fccaF8410FA61e12b59BAd963fb645',
- decimals: 18
- },
- {
- symbol: 'THR',
- name: 'ThoreCoin',
- marketSymbol: 'thr',
- identifier: 'eth-erc20-thr',
- contractAddress: '0x1Cb3209D45B2a60B7fBCA1cCDBF87f674237A4aa',
- decimals: 4
- },
- {
- symbol: 'THRT',
- name: 'Thrive Token',
- marketSymbol: 'thrt',
- identifier: 'eth-erc20-thrt',
- contractAddress: '0x4f27053F32edA8Af84956437Bc00e5fFa7003287',
- decimals: 18
- },
- {
- symbol: 'THUG',
- name: 'THUG',
- marketSymbol: 'thug',
- identifier: 'eth-erc20-thug',
- contractAddress: '0xfe7B915A0bAA0E79f85c5553266513F7C1c03Ed0',
- decimals: 18
- },
- {
- symbol: 'TIC',
- name: 'Trust Invest',
- marketSymbol: 'tic',
- identifier: 'eth-erc20-tic',
- contractAddress: '0x614b9802D45Aa1bC2282651dC1408632F9027A6e',
- decimals: 18
- },
- {
- symbol: 'TIC',
- name: 'Thingschain',
- marketSymbol: 'tic',
- identifier: 'eth-erc20-tic',
- contractAddress: '0x72430A612Adc007c50e3b6946dBb1Bb0fd3101D1',
- decimals: 8
- },
- {
- symbol: 'TICO',
- name: 'Topinvestmentcoin',
- marketSymbol: 'tico',
- identifier: 'eth-erc20-tico',
- contractAddress: '0xa5dB1d6F7A0D5Bccc17d0bFD39D7AF32d5E5EDc6',
- decimals: 5
- },
- {
- symbol: 'TICO',
- name: 'Topinvestmentcoin',
- marketSymbol: 'tico',
- identifier: 'eth-erc20-tico',
- contractAddress: '0x7F4B2A690605A7cbb66F7AA6885EbD906a5e2E9E',
- decimals: 8
- },
- {
- symbol: 'TIE',
- name: 'Ties.DB',
- marketSymbol: 'tie',
- identifier: 'eth-erc20-tie',
- contractAddress: '0x999967E2Ec8A74B7c8E9dB19E039d920B31d39D0',
- decimals: 18
- },
- {
- symbol: 'TIG',
- name: 'Tigereum',
- marketSymbol: 'tig',
- identifier: 'eth-erc20-tig',
- contractAddress: '0xEee2d00Eb7DEB8Dd6924187f5AA3496B7d06E62A',
- decimals: 18
- },
- {
- symbol: 'TIME',
- name: 'Chronobank',
- marketSymbol: 'time',
- identifier: 'eth-erc20-time',
- contractAddress: '0x6531f133e6DeeBe7F2dcE5A0441aA7ef330B4e53',
- decimals: 8
- },
- {
- symbol: 'TIO',
- name: 'TIO',
- marketSymbol: 'tio',
- identifier: 'eth-erc20-tio',
- contractAddress: '0x80BC5512561c7f85A3A9508c7df7901b370Fa1DF',
- decimals: 18
- },
- {
- symbol: 'TIX',
- name: 'Blocktix',
- marketSymbol: 'tix',
- identifier: 'eth-erc20-tix',
- contractAddress: '0xEa1f346faF023F974Eb5adaf088BbCdf02d761F4',
- decimals: 18
- },
- {
- symbol: 'TKA',
- name: 'Tokia',
- marketSymbol: 'tka',
- identifier: 'eth-erc20-tka',
- contractAddress: '0xdaE1Baf249964bc4b6aC98c3122f0e3E785fd279',
- decimals: 18
- },
- {
- symbol: 'TKLN',
- name: 'Taklimakan Network',
- marketSymbol: 'tkln',
- identifier: 'eth-erc20-tkln',
- contractAddress: '0x0675DAa94725A528b05A3A88635C03EA964BFA7E',
- decimals: 18
- },
- {
- symbol: 'TKN',
- name: 'TokenCard',
- marketSymbol: 'tkn',
- identifier: 'eth-erc20-tkn',
- contractAddress: '0xaAAf91D9b90dF800Df4F55c205fd6989c977E73a',
- decimals: 8
- },
- {
- symbol: 'TKR',
- name: 'TKRToken',
- marketSymbol: 'tkr',
- identifier: 'eth-erc20-tkr',
- contractAddress: '0xB45a50545bEEAB73F38F31E5973768C421805E5E',
- decimals: 18
- },
- {
- symbol: 'TLX',
- name: 'Telex',
- marketSymbol: 'tlx',
- identifier: 'eth-erc20-tlx',
- contractAddress: '0xb3616550aBc8AF79c7A5902DEF9Efa3bC9A95200',
- decimals: 8
- },
- {
- symbol: 'TMT',
- name: 'TRAXIA',
- marketSymbol: 'tmt',
- identifier: 'eth-erc20-tmt',
- contractAddress: '0x3209f98BeBF0149B769ce26D71F7aEA8E435EfEa',
- decimals: 18
- },
- {
- symbol: 'TMTG',
- name: 'TMTG',
- marketSymbol: 'tmtg',
- identifier: 'eth-erc20-tmtg',
- contractAddress: '0x10086399DD8c1e3De736724AF52587a2044c9fA2',
- decimals: 18
- },
- {
- symbol: 'TNS',
- name: 'Transcodium',
- marketSymbol: 'tns',
- identifier: 'eth-erc20-tns',
- contractAddress: '0xb0280743b44bF7db4B6bE482b2Ba7b75E5dA096C',
- decimals: 18
- },
- {
- symbol: 'TNT',
- name: 'Tierion Network Token',
- marketSymbol: 'tnt',
- identifier: 'eth-erc20-tnt',
- contractAddress: '0x08f5a9235B08173b7569F83645d2c7fB55e8cCD8',
- decimals: 8
- },
- {
- symbol: 'TOK',
- name: 'TOKOK',
- marketSymbol: 'tok',
- identifier: 'eth-erc20-tok',
- contractAddress: '0x9a49f02e128a8E989b443a8f94843C0918BF45E7',
- decimals: 8
- },
- {
- symbol: 'TOMO',
- name: 'Tomocoin',
- marketSymbol: 'tomo',
- identifier: 'eth-erc20-tomo',
- contractAddress: '0x8b353021189375591723E7384262F45709A3C3dC',
- decimals: 18
- },
- {
- symbol: 'TOOR',
- name: 'ToorCoin',
- marketSymbol: 'toor',
- identifier: 'eth-erc20-toor',
- contractAddress: '0x8eb965ee9cCFBCE76c0a06264492c0afEfc2826d',
- decimals: 18
- },
- {
- symbol: 'TRAC',
- name: 'OriginTrail',
- marketSymbol: 'trac',
- identifier: 'eth-erc20-trac',
- contractAddress: '0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F',
- decimals: 18
- },
- {
- symbol: 'TRAK',
- name: 'TrakInvest',
- marketSymbol: 'trak',
- identifier: 'eth-erc20-trak',
- contractAddress: '0x12759512D326303B45f1ceC8F7B6fd96F387778E',
- decimals: 18
- },
- {
- symbol: 'TRC',
- name: 'The Real Coin',
- marketSymbol: 'trc',
- identifier: 'eth-erc20-trc',
- contractAddress: '0xcB3F902bf97626391bF8bA87264bbC3DC13469be',
- decimals: 18
- },
- {
- symbol: 'TRCN',
- name: 'The Real Coin',
- marketSymbol: 'trcn',
- identifier: 'eth-erc20-trcn',
- contractAddress: '0x566Fd7999B1Fc3988022bD38507A48F0bCf22c77',
- decimals: 18
- },
- {
- symbol: 'TRCT',
- name: 'Tracto',
- marketSymbol: 'trct',
- identifier: 'eth-erc20-trct',
- contractAddress: '0x30ceCB5461A449A90081F5a5F55db4e048397BAB',
- decimals: 8
- },
- {
- symbol: 'TRDT',
- name: 'Trident Group',
- marketSymbol: 'trdt',
- identifier: 'eth-erc20-trdt',
- contractAddress: '0x33f90Dee07c6E8B9682dD20F73E6C358B2ED0f03',
- decimals: 0
- },
- {
- symbol: 'TRST',
- name: 'WeTrust',
- marketSymbol: 'trst',
- identifier: 'eth-erc20-trst',
- contractAddress: '0xCb94be6f13A1182E4A4B6140cb7bf2025d28e41B',
- decimals: 6
- },
- {
- symbol: 'TRX',
- name: 'Tron Lab Token',
- marketSymbol: 'trx',
- identifier: 'eth-erc20-trx',
- contractAddress: '0xf230b790E05390FC8295F4d3F60332c93BEd42e2',
- decimals: 6
- },
- {
- symbol: 'TSW',
- name: 'TeslaWatt',
- marketSymbol: 'tsw',
- identifier: 'eth-erc20-tsw',
- contractAddress: '0x6B87999bE87358065bBdE41e8a0fe0B7b1cd2514',
- decimals: 18
- },
- {
- symbol: 'TTA',
- name: 'Tend Token',
- marketSymbol: 'tta',
- identifier: 'eth-erc20-tta',
- contractAddress: '0xaaB606817809841E8b1168be8779Eeaf6744Ef64',
- decimals: 18
- },
- {
- symbol: 'TTC',
- name: 'TTC Protocol',
- marketSymbol: 'ttc',
- identifier: 'eth-erc20-ttc',
- contractAddress: '0x9389434852b94bbaD4c8AfEd5B7BDBc5Ff0c2275',
- decimals: 18
- },
- {
- symbol: 'TTU',
- name: 'TaTaTu',
- marketSymbol: 'ttu',
- identifier: 'eth-erc20-ttu',
- contractAddress: '0x9CDa8A60dd5AfA156c95Bd974428d91a0812e054',
- decimals: 18
- },
- {
- symbol: 'TUSD',
- name: 'TrueUSD',
- marketSymbol: 'tusd',
- identifier: 'eth-erc20-tusd',
- contractAddress: '0x0000000000085d4780B73119b644AE5ecd22b376',
- decimals: 18
- },
- {
- symbol: 'TUSD (OLD)',
- name: 'TrueUSD',
- marketSymbol: 'tusd (old)',
- identifier: 'eth-erc20-tusd (old)',
- contractAddress: '0x8dd5fbCe2F6a956C3022bA3663759011Dd51e73E',
- decimals: 18
- },
- {
- symbol: 'TWN',
- name: 'The World News',
- marketSymbol: 'twn',
- identifier: 'eth-erc20-twn',
- contractAddress: '0x2eF1aB8a26187C58BB8aAeB11B2fC6D25C5c0716',
- decimals: 18
- },
- {
- symbol: 'TWNKL',
- name: 'Twinkle',
- marketSymbol: 'twnkl',
- identifier: 'eth-erc20-twnkl',
- contractAddress: '0xfbd0d1c77B501796A35D86cF91d65D9778EeE695',
- decimals: 3
- },
- {
- symbol: 'UBT',
- name: 'Unibright',
- marketSymbol: 'ubt',
- identifier: 'eth-erc20-ubt',
- contractAddress: '0x8400D94A5cb0fa0D041a3788e395285d61c9ee5e',
- decimals: 8
- },
- {
- symbol: 'UCASH',
- name: 'U.CASH',
- marketSymbol: 'ucash',
- identifier: 'eth-erc20-ucash',
- contractAddress: '0x92e52a1A235d9A103D970901066CE910AAceFD37',
- decimals: 8
- },
- {
- symbol: 'UCN',
- name: 'UChain',
- marketSymbol: 'ucn',
- identifier: 'eth-erc20-ucn',
- contractAddress: '0xAAf37055188Feee4869dE63464937e683d61b2a1',
- decimals: 18
- },
- {
- symbol: 'UFR',
- name: 'Upfiring',
- marketSymbol: 'ufr',
- identifier: 'eth-erc20-ufr',
- contractAddress: '0xEA097A2b1dB00627B2Fa17460Ad260c016016977',
- decimals: 18
- },
- {
- symbol: 'UKG',
- name: 'UnikoinGold',
- marketSymbol: 'ukg',
- identifier: 'eth-erc20-ukg',
- contractAddress: '0x24692791Bc444c5Cd0b81e3CBCaba4b04Acd1F3B',
- decimals: 18
- },
- {
- symbol: 'UMKA',
- name: 'UMKA',
- marketSymbol: 'umka',
- identifier: 'eth-erc20-umka',
- contractAddress: '0x105d97ef2E723f1cfb24519Bc6fF15a6D091a3F1',
- decimals: 4
- },
- {
- symbol: 'UMKA',
- name: 'UMKA',
- marketSymbol: 'umka',
- identifier: 'eth-erc20-umka',
- contractAddress: '0x8e5afc69f6227A3ad75eD346c8723Bc62ce97123',
- decimals: 4
- },
- {
- symbol: 'Unicorn',
- name: 'Unicorn',
- marketSymbol: 'unicorn',
- identifier: 'eth-erc20-unicorn',
- contractAddress: '0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7',
- decimals: 0
- },
- {
- symbol: 'UP',
- name: 'UpToken',
- marketSymbol: 'up',
- identifier: 'eth-erc20-up',
- contractAddress: '0x6Ba460AB75Cd2c56343b3517ffeBA60748654D26',
- decimals: 8
- },
- {
- symbol: 'UPP',
- name: 'Sentinel Protocol',
- marketSymbol: 'upp',
- identifier: 'eth-erc20-upp',
- contractAddress: '0xC86D054809623432210c107af2e3F619DcFbf652',
- decimals: 18
- },
- {
- symbol: 'UQC',
- name: 'Uquid Coin',
- marketSymbol: 'uqc',
- identifier: 'eth-erc20-uqc',
- contractAddress: '0xD01DB73E047855Efb414e6202098C4Be4Cd2423B',
- decimals: 18
- },
- {
- symbol: 'URB',
- name: 'Urbit Data',
- marketSymbol: 'urb',
- identifier: 'eth-erc20-urb',
- contractAddress: '0x931684139f756C24eC0731E9F74FE50e5548dDeF',
- decimals: 18
- },
- {
- symbol: 'USDC',
- name: 'USD//Coin',
- marketSymbol: 'usdc',
- identifier: 'eth-erc20-usdc',
- contractAddress: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
- decimals: 6
- },
- {
- symbol: 'USDM',
- name: 'Mether (USDM)',
- marketSymbol: 'usdm',
- identifier: 'eth-erc20-usdm',
- contractAddress: '0xD760ADdFb24D9C01Fe4Bfea7475C5e3636684058',
- decimals: 2
- },
- {
- symbol: 'USDS',
- name: 'StableUSD',
- marketSymbol: 'usds',
- identifier: 'eth-erc20-usds',
- contractAddress: '0xA4Bdb11dc0a2bEC88d24A3aa1E6Bb17201112eBe',
- decimals: 6
- },
- {
- symbol: 'USDT',
- name: 'USD Tether (erc20)',
- marketSymbol: 'usdt',
- identifier: 'eth-erc20-usdt',
- contractAddress: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
- decimals: 6
- },
- {
- symbol: 'UTK',
- name: 'UTRUST',
- marketSymbol: 'utk',
- identifier: 'eth-erc20-utk',
- contractAddress: '0x70a72833d6bF7F508C8224CE59ea1Ef3d0Ea3A38',
- decimals: 18
- },
- {
- symbol: 'UTNP',
- name: 'Universa',
- marketSymbol: 'utnp',
- identifier: 'eth-erc20-utnp',
- contractAddress: '0x9e3319636e2126e3c0bc9e3134AEC5e1508A46c7',
- decimals: 18
- },
- {
- symbol: 'UTT',
- name: 'United Traders Token',
- marketSymbol: 'utt',
- identifier: 'eth-erc20-utt',
- contractAddress: '0x16f812Be7FfF02cAF662B85d5d58a5da6572D4Df',
- decimals: 8
- },
- {
- symbol: 'UUU',
- name: 'U Networks',
- marketSymbol: 'uuu',
- identifier: 'eth-erc20-uuu',
- contractAddress: '0x3543638eD4a9006E4840B105944271Bcea15605D',
- decimals: 18
- },
- {
- symbol: 'VDG',
- name: 'VeriDocGlobal',
- marketSymbol: 'vdg',
- identifier: 'eth-erc20-vdg',
- contractAddress: '0x57C75ECCc8557136D32619a191fBCDc88560d711',
- decimals: 0
- },
- {
- symbol: 'VDOC',
- name: 'Duty of Care Token',
- marketSymbol: 'vdoc',
- identifier: 'eth-erc20-vdoc',
- contractAddress: '0x82BD526bDB718C6d4DD2291Ed013A5186cAE2DCa',
- decimals: 18
- },
- {
- symbol: 'VEE',
- name: 'BLOCKv',
- marketSymbol: 'vee',
- identifier: 'eth-erc20-vee',
- contractAddress: '0x340D2bdE5Eb28c1eed91B2f790723E3B160613B7',
- decimals: 18
- },
- {
- symbol: 'VEN',
- name: 'VeChain',
- marketSymbol: 'ven',
- identifier: 'eth-erc20-ven',
- contractAddress: '0xD850942eF8811f2A866692A623011bDE52a462C1',
- decimals: 18
- },
- {
- symbol: 'VENUS',
- name: 'VENUS',
- marketSymbol: 'venus',
- identifier: 'eth-erc20-venus',
- contractAddress: '0xEbeD4fF9fe34413db8fC8294556BBD1528a4DAca',
- decimals: 3
- },
- {
- symbol: 'VERI',
- name: 'Veritaseum',
- marketSymbol: 'veri',
- identifier: 'eth-erc20-veri',
- contractAddress: '0x8f3470A7388c05eE4e7AF3d01D8C722b0FF52374',
- decimals: 18
- },
- {
- symbol: 'VIB',
- name: 'Viberate',
- marketSymbol: 'vib',
- identifier: 'eth-erc20-vib',
- contractAddress: '0x2C974B2d0BA1716E644c1FC59982a89DDD2fF724',
- decimals: 18
- },
- {
- symbol: 'VIBE',
- name: 'VIBE Coin',
- marketSymbol: 'vibe',
- identifier: 'eth-erc20-vibe',
- contractAddress: '0xe8Ff5C9c75dEb346acAc493C463C8950Be03Dfba',
- decimals: 18
- },
- {
- symbol: 'VIBEX',
- name: 'VIBEX Exchange Token',
- marketSymbol: 'vibex',
- identifier: 'eth-erc20-vibex',
- contractAddress: '0x882448f83d90B2bf477Af2eA79327fDEA1335D93',
- decimals: 18
- },
- {
- symbol: 'VIDT',
- name: 'V-ID Token',
- marketSymbol: 'vidt',
- identifier: 'eth-erc20-vidt',
- contractAddress: '0x445f51299Ef3307dBD75036dd896565F5B4BF7A5',
- decimals: 18
- },
- {
- symbol: 'VIEW',
- name: 'Viewly',
- marketSymbol: 'view',
- identifier: 'eth-erc20-view',
- contractAddress: '0xF03f8D65BaFA598611C3495124093c56e8F638f0',
- decimals: 18
- },
- {
- symbol: 'VIKKY',
- name: 'VikkyToken',
- marketSymbol: 'vikky',
- identifier: 'eth-erc20-vikky',
- contractAddress: '0xd2946be786F35c3Cc402C29b323647aBda799071',
- decimals: 8
- },
- {
- symbol: 'VIN',
- name: 'VIN',
- marketSymbol: 'vin',
- identifier: 'eth-erc20-vin',
- contractAddress: '0xF3e014fE81267870624132ef3A646B8E83853a96',
- decimals: 18
- },
- {
- symbol: 'VIT',
- name: 'Vice Industry Token',
- marketSymbol: 'vit',
- identifier: 'eth-erc20-vit',
- contractAddress: '0x23b75Bc7AaF28e2d6628C3f424B3882F8f072a3c',
- decimals: 18
- },
- {
- symbol: 'VITE',
- name: 'Vite',
- marketSymbol: 'vite',
- identifier: 'eth-erc20-vite',
- contractAddress: '0x1b793E49237758dBD8b752AFC9Eb4b329d5Da016',
- decimals: 18
- },
- {
- symbol: 'VIU',
- name: 'Viuly',
- marketSymbol: 'viu',
- identifier: 'eth-erc20-viu',
- contractAddress: '0x519475b31653E46D20cD09F9FdcF3B12BDAcB4f5',
- decimals: 18
- },
- {
- symbol: 'VLD',
- name: 'VETRI',
- marketSymbol: 'vld',
- identifier: 'eth-erc20-vld',
- contractAddress: '0x922aC473A3cC241fD3a0049Ed14536452D58D73c',
- decimals: 18
- },
- {
- symbol: 'VOC',
- name: 'VORMACOIN',
- marketSymbol: 'voc',
- identifier: 'eth-erc20-voc',
- contractAddress: '0xc3bC9Eb71f75Ec439A6b6C8E8b746fCF5b62F703',
- decimals: 18
- },
- {
- symbol: 'VOISE',
- name: 'Voise',
- marketSymbol: 'voise',
- identifier: 'eth-erc20-voise',
- contractAddress: '0x83eEA00D838f92dEC4D1475697B9f4D3537b56E3',
- decimals: 8
- },
- {
- symbol: 'VRS',
- name: 'Veros',
- marketSymbol: 'vrs',
- identifier: 'eth-erc20-vrs',
- contractAddress: '0x92E78dAe1315067a8819EFD6dCA432de9DCdE2e9',
- decimals: 6
- },
- {
- symbol: 'VRS',
- name: 'Veros',
- marketSymbol: 'vrs',
- identifier: 'eth-erc20-vrs',
- contractAddress: '0xeDBaF3c5100302dCddA53269322f3730b1F0416d',
- decimals: 5
- },
- {
- symbol: 'VSL',
- name: 'Vdice',
- marketSymbol: 'vsl',
- identifier: 'eth-erc20-vsl',
- contractAddress: '0x5c543e7AE0A1104f78406C340E9C64FD9fCE5170',
- decimals: 18
- },
- {
- symbol: 'VUU',
- name: 'Vuulr Token',
- marketSymbol: 'vuu',
- identifier: 'eth-erc20-vuu',
- contractAddress: '0x4b96bf1feF93A216914fc843D81207A027ce52b3',
- decimals: 18
- },
- {
- symbol: 'VZT',
- name: 'Vezt',
- marketSymbol: 'vzt',
- identifier: 'eth-erc20-vzt',
- contractAddress: '0x9720b467a710382A232a32F540bDCed7d662a10B',
- decimals: 18
- },
- {
- symbol: 'WAB',
- name: 'WABnetwork',
- marketSymbol: 'wab',
- identifier: 'eth-erc20-wab',
- contractAddress: '0x4BBbC57aF270138Ef2FF2C50DbfAD684e9E0e604',
- decimals: 18
- },
- {
- symbol: 'WABI',
- name: 'Tael',
- marketSymbol: 'wabi',
- identifier: 'eth-erc20-wabi',
- contractAddress: '0x286BDA1413a2Df81731D4930ce2F862a35A609fE',
- decimals: 18
- },
- {
- symbol: 'WATT',
- name: 'WorkChain App Token',
- marketSymbol: 'watt',
- identifier: 'eth-erc20-watt',
- contractAddress: '0x829A4cA1303383F1082B6B1fB937116e4b3b5605',
- decimals: 18
- },
- {
- symbol: 'WAX',
- name: 'WAX',
- marketSymbol: 'wax',
- identifier: 'eth-erc20-wax',
- contractAddress: '0x39Bb259F66E1C59d5ABEF88375979b4D20D98022',
- decimals: 8
- },
- {
- symbol: 'WBA',
- name: 'WeBetCrypto',
- marketSymbol: 'wba',
- identifier: 'eth-erc20-wba',
- contractAddress: '0x74951B677de32D596EE851A233336926e6A2cd09',
- decimals: 7
- },
- {
- symbol: 'WBTC',
- name: 'Wrapped Bitcoin',
- marketSymbol: 'wbtc',
- identifier: 'eth-erc20-wbtc',
- contractAddress: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599',
- decimals: 8
- },
- {
- symbol: 'WCN',
- name: 'WorldCoinNetwork',
- marketSymbol: 'wcn',
- identifier: 'eth-erc20-wcn',
- contractAddress: '0x8F936fE0faF0604c9C0Ef2406bde0A65365515d6',
- decimals: 18
- },
- {
- symbol: 'WCT',
- name: 'WePower',
- marketSymbol: 'wct',
- identifier: 'eth-erc20-wct',
- contractAddress: '0x6a0A97E47d15aAd1D132a1Ac79a480E3F2079063',
- decimals: 18
- },
- {
- symbol: 'WEB',
- name: 'Webcoin',
- marketSymbol: 'web',
- identifier: 'eth-erc20-web',
- contractAddress: '0x840fe75ABfaDc0F2d54037829571B2782e919ce4',
- decimals: 18
- },
- {
- symbol: 'WETH',
- name: 'WETH',
- marketSymbol: 'weth',
- identifier: 'eth-erc20-weth',
- contractAddress: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2',
- decimals: 18
- },
- {
- symbol: 'WHEN',
- name: 'WHEN Token',
- marketSymbol: 'when',
- identifier: 'eth-erc20-when',
- contractAddress: '0xF4FE95603881D0e07954fD7605E0e9a916e42C44',
- decimals: 18
- },
- {
- symbol: 'WHO',
- name: 'WhoHas',
- marketSymbol: 'who',
- identifier: 'eth-erc20-who',
- contractAddress: '0xe933c0Cd9784414d5F278C114904F5A84b396919',
- decimals: 18
- },
- {
- symbol: 'WHO',
- name: 'WhoHas',
- marketSymbol: 'who',
- identifier: 'eth-erc20-who',
- contractAddress: '0xe200641890772FCe8eE6EDc5354cCEa30ac92F49',
- decimals: 18
- },
- {
- symbol: 'WIB',
- name: 'Wibson Token',
- marketSymbol: 'wib',
- identifier: 'eth-erc20-wib',
- contractAddress: '0x3F17Dd476faF0a4855572F0B6ed5115D9bBA22AD',
- decimals: 18
- },
- {
- symbol: 'WiC',
- name: 'Wi Coin',
- marketSymbol: 'wic',
- identifier: 'eth-erc20-wic',
- contractAddress: '0x5e4ABE6419650CA839Ce5BB7Db422b881a6064bB',
- decimals: 18
- },
- {
- symbol: 'WIC',
- name: 'WickNote',
- marketSymbol: 'wic',
- identifier: 'eth-erc20-wic',
- contractAddress: '0x62CD07D414Ec50B68C7EcAa863a23d344f2d062f',
- decimals: 0
- },
- {
- symbol: 'WILD',
- name: 'WILD Token',
- marketSymbol: 'wild',
- identifier: 'eth-erc20-wild',
- contractAddress: '0xD3C00772B24D997A812249ca637a921e81357701',
- decimals: 18
- },
- {
- symbol: 'WIN',
- name: 'WCOIN',
- marketSymbol: 'win',
- identifier: 'eth-erc20-win',
- contractAddress: '0x899338b84D25aC505a332aDCE7402d697D947494',
- decimals: 8
- },
- {
- symbol: 'WINGS',
- name: 'WINGS',
- marketSymbol: 'wings',
- identifier: 'eth-erc20-wings',
- contractAddress: '0x667088b212ce3d06a1b553a7221E1fD19000d9aF',
- decimals: 18
- },
- {
- symbol: 'WISH',
- name: 'MyWish',
- marketSymbol: 'wish',
- identifier: 'eth-erc20-wish',
- contractAddress: '0x1b22C32cD936cB97C28C5690a0695a82Abf688e6',
- decimals: 18
- },
- {
- symbol: 'WMK',
- name: 'WemarkToken',
- marketSymbol: 'wmk',
- identifier: 'eth-erc20-wmk',
- contractAddress: '0xBFbe5332f172d77811bC6c272844f3e54A7B23bB',
- decimals: 18
- },
- {
- symbol: 'WNK',
- name: 'Woonk',
- marketSymbol: 'wnk',
- identifier: 'eth-erc20-wnk',
- contractAddress: '0xd73A66B8FB26Be8B0AcD7c52Bd325054Ac7d468b',
- decimals: 18
- },
- {
- symbol: 'WOC',
- name: 'WallOfChain',
- marketSymbol: 'woc',
- identifier: 'eth-erc20-woc',
- contractAddress: '0xF9D9702D031407F425a4412682fDc56b07d05262',
- decimals: 0
- },
- {
- symbol: 'WOLK',
- name: 'Wolk Token',
- marketSymbol: 'wolk',
- identifier: 'eth-erc20-wolk',
- contractAddress: '0xF6B55acBBC49f4524Aa48D19281A9A77c54DE10f',
- decimals: 18
- },
- {
- symbol: 'WOLK',
- name: 'WOLK',
- marketSymbol: 'wolk',
- identifier: 'eth-erc20-wolk',
- contractAddress: '0x728781E75735dc0962Df3a51d7Ef47E798A7107E',
- decimals: 18
- },
- {
- symbol: 'WORK',
- name: 'workTOKEN',
- marketSymbol: 'work',
- identifier: 'eth-erc20-work',
- contractAddress: '0xD18e454D844eb0009D32E07A0Cde89E18d64CFb4',
- decimals: 18
- },
- {
- symbol: 'WORK',
- name: 'Aworker',
- marketSymbol: 'work',
- identifier: 'eth-erc20-work',
- contractAddress: '0xA686514FAF7d54289266F483D1e4852C99E13EC7',
- decimals: 8
- },
- {
- symbol: 'WPC',
- name: 'WorldPeaceCoin',
- marketSymbol: 'wpc',
- identifier: 'eth-erc20-wpc',
- contractAddress: '0x62087245087125d3DB5B9A3D713d78E7BBc31e54',
- decimals: 18
- },
- {
- symbol: 'WPR',
- name: 'WePower Token',
- marketSymbol: 'wpr',
- identifier: 'eth-erc20-wpr',
- contractAddress: '0x4CF488387F035FF08c371515562CBa712f9015d4',
- decimals: 18
- },
- {
- symbol: 'WRC',
- name: 'Worldcore',
- marketSymbol: 'wrc',
- identifier: 'eth-erc20-wrc',
- contractAddress: '0x72aDadb447784dd7AB1F472467750fC485e4cb2d',
- decimals: 6
- },
- {
- symbol: 'WRK',
- name: 'WorkCoin',
- marketSymbol: 'wrk',
- identifier: 'eth-erc20-wrk',
- contractAddress: '0x71e8d74fF1C923E369D0e70DFb09866629C4DD35',
- decimals: 18
- },
- {
- symbol: 'WTC',
- name: 'Waltonchain',
- marketSymbol: 'wtc',
- identifier: 'eth-erc20-wtc',
- contractAddress: '0xb7cB1C96dB6B22b0D3d9536E0108d062BD488F74',
- decimals: 18
- },
- {
- symbol: 'WTT',
- name: 'WTT',
- marketSymbol: 'wtt',
- identifier: 'eth-erc20-wtt',
- contractAddress: '0x84119cb33E8F590D75c2D6Ea4e6B0741a7494EDA',
- decimals: 0
- },
- {
- symbol: 'WYS',
- name: 'wystoken',
- marketSymbol: 'wys',
- identifier: 'eth-erc20-wys',
- contractAddress: '0xd8950fDeaa10304B7A7Fd03a2FC66BC39f3c711a',
- decimals: 18
- },
- {
- symbol: 'WYV',
- name: 'WyvernToken',
- marketSymbol: 'wyv',
- identifier: 'eth-erc20-wyv',
- contractAddress: '0x056017c55aE7AE32d12AeF7C679dF83A85ca75Ff',
- decimals: 18
- },
- {
- symbol: 'X8X',
- name: 'X8X',
- marketSymbol: 'x8x',
- identifier: 'eth-erc20-x8x',
- contractAddress: '0x910Dfc18D6EA3D6a7124A6F8B5458F281060fa4c',
- decimals: 18
- },
- {
- symbol: 'XAUR',
- name: 'Xaurum',
- marketSymbol: 'xaur',
- identifier: 'eth-erc20-xaur',
- contractAddress: '0x4DF812F6064def1e5e029f1ca858777CC98D2D81',
- decimals: 8
- },
- {
- symbol: 'XBL',
- name: 'Billionaire Token',
- marketSymbol: 'xbl',
- identifier: 'eth-erc20-xbl',
- contractAddress: '0x49AeC0752E68D0282Db544C677f6BA407BA17ED7',
- decimals: 18
- },
- {
- symbol: 'XBP',
- name: 'BlitzPredict',
- marketSymbol: 'xbp',
- identifier: 'eth-erc20-xbp',
- contractAddress: '0x28dee01D53FED0Edf5f6E310BF8Ef9311513Ae40',
- decimals: 18
- },
- {
- symbol: 'XCC',
- name: 'CoinCrowd',
- marketSymbol: 'xcc',
- identifier: 'eth-erc20-xcc',
- contractAddress: '0x4d829f8C92a6691c56300D020c9e0dB984Cfe2BA',
- decimals: 18
- },
- {
- symbol: 'XCHF',
- name: 'CryptoFranc',
- marketSymbol: 'xchf',
- identifier: 'eth-erc20-xchf',
- contractAddress: '0xB4272071eCAdd69d933AdcD19cA99fe80664fc08',
- decimals: 18
- },
- {
- symbol: 'XCLR',
- name: 'ClearCoin',
- marketSymbol: 'xclr',
- identifier: 'eth-erc20-xclr',
- contractAddress: '0x1E26b3D07E57F453caE30F7DDd2f945f5bF3EF33',
- decimals: 8
- },
- {
- symbol: 'XDCE',
- name: 'XinFin Network',
- marketSymbol: 'xdce',
- identifier: 'eth-erc20-xdce',
- contractAddress: '0x41AB1b6fcbB2fA9DCEd81aCbdeC13Ea6315F2Bf2',
- decimals: 18
- },
- {
- symbol: 'XES',
- name: 'Proxeus',
- marketSymbol: 'xes',
- identifier: 'eth-erc20-xes',
- contractAddress: '0xA017ac5faC5941f95010b12570B812C974469c2C',
- decimals: 18
- },
- {
- symbol: 'XET',
- name: 'ETERNAL TOKEN',
- marketSymbol: 'xet',
- identifier: 'eth-erc20-xet',
- contractAddress: '0x054C64741dBafDC19784505494029823D89c3b13',
- decimals: 8
- },
- {
- symbol: 'XFS',
- name: 'Fanship',
- marketSymbol: 'xfs',
- identifier: 'eth-erc20-xfs',
- contractAddress: '0x16aF5bfb4Ae7E475b9aDC3Bf5Cb2f1E6a50d7940',
- decimals: 8
- },
- {
- symbol: 'XGG',
- name: 'Going Gems',
- marketSymbol: 'xgg',
- identifier: 'eth-erc20-xgg',
- contractAddress: '0xf6b6AA0Ef0f5Edc2C1c5d925477F97eAF66303e7',
- decimals: 8
- },
- {
- symbol: 'XGM',
- name: 'XGM',
- marketSymbol: 'xgm',
- identifier: 'eth-erc20-xgm',
- contractAddress: '0x533ef0984b2FAA227AcC620C67cce12aA39CD8CD',
- decimals: 8
- },
- {
- symbol: 'XGT',
- name: 'XGT',
- marketSymbol: 'xgt',
- identifier: 'eth-erc20-xgt',
- contractAddress: '0x30f4A3e0aB7a76733D8b60b89DD93c3D0b4c9E2f',
- decimals: 18
- },
- {
- symbol: 'XID',
- name: 'Sphere Identity',
- marketSymbol: 'xid',
- identifier: 'eth-erc20-xid',
- contractAddress: '0xB110eC7B1dcb8FAB8dEDbf28f53Bc63eA5BEdd84',
- decimals: 8
- },
- {
- symbol: 'XMCT',
- name: 'XMED Chain',
- marketSymbol: 'xmct',
- identifier: 'eth-erc20-xmct',
- contractAddress: '0x44449Fa4d607F807d1eD4a69ad942971728391C8',
- decimals: 18
- },
- {
- symbol: 'XMX',
- name: 'XMax',
- marketSymbol: 'xmx',
- identifier: 'eth-erc20-xmx',
- contractAddress: '0x0f8c45B896784A1E408526B9300519ef8660209c',
- decimals: 8
- },
- {
- symbol: 'XNK',
- name: 'Ink Protocol',
- marketSymbol: 'xnk',
- identifier: 'eth-erc20-xnk',
- contractAddress: '0xBC86727E770de68B1060C91f6BB6945c73e10388',
- decimals: 18
- },
- {
- symbol: 'XNN',
- name: 'XENON',
- marketSymbol: 'xnn',
- identifier: 'eth-erc20-xnn',
- contractAddress: '0xab95E915c123fdEd5BDfB6325e35ef5515F1EA69',
- decimals: 18
- },
- {
- symbol: 'XNT',
- name: 'XNT',
- marketSymbol: 'xnt',
- identifier: 'eth-erc20-xnt',
- contractAddress: '0x572E6f318056ba0C5d47A422653113843D250691',
- decimals: 0
- },
- {
- symbol: 'XOV',
- name: 'XOVBank',
- marketSymbol: 'xov',
- identifier: 'eth-erc20-xov',
- contractAddress: '0x153eD9CC1b792979d2Bde0BBF45CC2A7e436a5F9',
- decimals: 18
- },
- {
- symbol: 'XPA',
- name: 'XPA',
- marketSymbol: 'xpa',
- identifier: 'eth-erc20-xpa',
- contractAddress: '0x90528aeb3a2B736B780fD1B6C478bB7E1d643170',
- decimals: 18
- },
- {
- symbol: 'XPAT',
- name: 'Pangea Arbitration Token',
- marketSymbol: 'xpat',
- identifier: 'eth-erc20-xpat',
- contractAddress: '0xBB1fA4FdEB3459733bF67EbC6f893003fA976a82',
- decimals: 18
- },
- {
- symbol: 'XRL',
- name: 'XRL',
- marketSymbol: 'xrl',
- identifier: 'eth-erc20-xrl',
- contractAddress: '0xB24754bE79281553dc1adC160ddF5Cd9b74361a4',
- decimals: 9
- },
- {
- symbol: 'XSC',
- name: 'XSC',
- marketSymbol: 'xsc',
- identifier: 'eth-erc20-xsc',
- contractAddress: '0x0F513fFb4926ff82D7F60A05069047AcA295C413',
- decimals: 18
- },
- {
- symbol: 'XYO',
- name: 'XYO',
- marketSymbol: 'xyo',
- identifier: 'eth-erc20-xyo',
- contractAddress: '0x55296f69f40Ea6d20E478533C15A6B08B654E758',
- decimals: 18
- },
- {
- symbol: 'YEE',
- name: 'Yee Token',
- marketSymbol: 'yee',
- identifier: 'eth-erc20-yee',
- contractAddress: '0x922105fAd8153F516bCfB829f56DC097a0E1D705',
- decimals: 18
- },
- {
- symbol: 'YEED',
- name: 'YGGDRASH',
- marketSymbol: 'yeed',
- identifier: 'eth-erc20-yeed',
- contractAddress: '0xcA2796F9F61dc7b238Aab043971e49c6164DF375',
- decimals: 18
- },
- {
- symbol: 'YEED',
- name: 'YEED',
- marketSymbol: 'yeed',
- identifier: 'eth-erc20-yeed',
- contractAddress: '0x6F7A4bac3315B5082F793161a22e26666d22717f',
- decimals: 18
- },
- {
- symbol: 'YOYOW',
- name: 'YOYOW',
- marketSymbol: 'yoyow',
- identifier: 'eth-erc20-yoyow',
- contractAddress: '0xcbeAEc699431857FDB4d37aDDBBdc20E132D4903',
- decimals: 18
- },
- {
- symbol: 'YUP',
- name: 'Crowdholding',
- marketSymbol: 'yup',
- identifier: 'eth-erc20-yup',
- contractAddress: '0xD9A12Cde03a86E800496469858De8581D3A5353d',
- decimals: 18
- },
- {
- symbol: 'YUPIE',
- name: 'YUPIE',
- marketSymbol: 'yupie',
- identifier: 'eth-erc20-yupie',
- contractAddress: '0x0F33bb20a282A7649C7B3AFf644F084a9348e933',
- decimals: 18
- },
- {
- symbol: 'ZAP',
- name: 'ZAP',
- marketSymbol: 'zap',
- identifier: 'eth-erc20-zap',
- contractAddress: '0x6781a0F84c7E9e846DCb84A9a5bd49333067b104',
- decimals: 18
- },
- {
- symbol: 'ZCN',
- name: '0chain',
- marketSymbol: 'zcn',
- identifier: 'eth-erc20-zcn',
- contractAddress: '0xb9EF770B6A5e12E45983C5D80545258aA38F3B78',
- decimals: 10
- },
- {
- symbol: 'ZCO',
- name: 'Zebi',
- marketSymbol: 'zco',
- identifier: 'eth-erc20-zco',
- contractAddress: '0x2008e3057BD734e10AD13c9EAe45Ff132aBc1722',
- decimals: 8
- },
- {
- symbol: 'ZCS',
- name: 'Zeusshield',
- marketSymbol: 'zcs',
- identifier: 'eth-erc20-zcs',
- contractAddress: '0x7A41e0517a5ecA4FdbC7FbebA4D4c47B9fF6DC63',
- decimals: 18
- },
- {
- symbol: 'ZEUS',
- name: 'ZeusNetwork',
- marketSymbol: 'zeus',
- identifier: 'eth-erc20-zeus',
- contractAddress: '0xe7E4279b80D319EDe2889855135A22021baf0907',
- decimals: 18
- },
- {
- symbol: 'ZIL',
- name: 'Zilliqa',
- marketSymbol: 'zil',
- identifier: 'eth-erc20-zil',
- contractAddress: '0x05f4a42e251f2d52b8ed15E9FEdAacFcEF1FAD27',
- decimals: 12
- },
- {
- symbol: 'ZINC',
- name: 'ZINC',
- marketSymbol: 'zinc',
- identifier: 'eth-erc20-zinc',
- contractAddress: '0x4AaC461C86aBfA71e9d00d9a2cde8d74E4E1aeEa',
- decimals: 18
- },
- {
- symbol: 'ZIP',
- name: 'Zipper',
- marketSymbol: 'zip',
- identifier: 'eth-erc20-zip',
- contractAddress: '0xA9d2927d3a04309E008B6af6E2e282AE2952e7fD',
- decimals: 18
- },
- {
- symbol: 'ZIPT',
- name: 'Zippie',
- marketSymbol: 'zipt',
- identifier: 'eth-erc20-zipt',
- contractAddress: '0xEDD7c94FD7B4971b916d15067Bc454b9E1bAD980',
- decimals: 18
- },
- {
- symbol: 'ZIX',
- name: 'ZIX',
- marketSymbol: 'zix',
- identifier: 'eth-erc20-zix',
- contractAddress: '0xf3C092cA8CD6D3d4ca004Dc1d0f1fe8CcAB53599',
- decimals: 18
- },
- {
- symbol: 'ZLA',
- name: 'Zilla',
- marketSymbol: 'zla',
- identifier: 'eth-erc20-zla',
- contractAddress: '0xfd8971d5E8E1740cE2d0A84095fCA4De729d0c16',
- decimals: 18
- },
- {
- symbol: 'ZMN',
- name: 'ZMINE',
- marketSymbol: 'zmn',
- identifier: 'eth-erc20-zmn',
- contractAddress: '0x554FFc77F4251a9fB3c0E3590a6a205f8d4e067D',
- decimals: 18
- },
- {
- symbol: 'ZPR',
- name: 'ZPER',
- marketSymbol: 'zpr',
- identifier: 'eth-erc20-zpr',
- contractAddress: '0xb5b8F5616Fe42d5ceCA3e87F3FddbDd8F496d760',
- decimals: 18
- },
- {
- symbol: 'ZRX',
- name: '0x Project',
- marketSymbol: 'zrx',
- identifier: 'eth-erc20-zrx',
- contractAddress: '0xE41d2489571d322189246DaFA5ebDe1F4699F498',
- decimals: 18
- },
- {
- symbol: 'ZST',
- name: 'Zeus Exchange',
- marketSymbol: 'zst',
- identifier: 'eth-erc20-zst',
- contractAddress: '0xe386B139Ed3715Ca4B18Fd52671bDcea1cdFE4b1',
- decimals: 8
- },
- {
- symbol: 'ZTX',
- name: 'ZTX',
- marketSymbol: 'ztx',
- identifier: 'eth-erc20-ztx',
- contractAddress: '0xE8F9fa977ea585591d9F394681318C16552577fB',
- decimals: 18
- },
- {
- symbol: 'ZXC',
- name: '0xcert Protocol Token',
- marketSymbol: 'zxc',
- identifier: 'eth-erc20-zxc',
- contractAddress: '0x83e2BE8d114F9661221384B3a50d24B96a5653F5',
- decimals: 18
- }
-]
diff --git a/src/providers/scanner/scanner.ts b/src/providers/scanner/scanner.ts
deleted file mode 100644
index cbb2e3fb..00000000
--- a/src/providers/scanner/scanner.ts
+++ /dev/null
@@ -1,87 +0,0 @@
-import { Injectable } from '@angular/core'
-import { Platform } from 'ionic-angular'
-
-declare var QRScanner: any
-
-@Injectable()
-export class ScannerProvider {
- public isShowing = false
-
- constructor(private platform: Platform) {}
-
- public askForPermission() {
- if (this.platform.is('cordova')) {
- QRScanner.openSettings()
- }
- }
-
- public hasPermission(): Promise {
- if (this.platform.is('cordova')) {
- return new Promise((resolve, reject) => {
- const onDone = (err, status) => {
- if (err) {
- // here we can handle errors and clean up any loose ends.
- console.error('Scanner permission ', err)
- reject([false, false])
- }
- if (status.authorized) {
- console.log('Scanner permission granted')
- resolve([true, true])
- } else if (status.denied) {
- console.warn('Scanner permission denied')
- reject([false, true])
- // The video preview will remain black, and scanning is disabled. We can
- // try to ask the user to change their mind, but we'll have to send them
- // to their device settings with `QRScanner.openSettings()`.
- } else {
- console.warn('Scanner permission denied')
- reject([false, false])
- // we didn't get permission, but we didn't get permanently denied. (On
- // Android, a denial isn't permanent unless the user checks the "Don't
- // ask again" box.) We can ask again at the next relevant opportunity.
- }
- }
- QRScanner.prepare(onDone)
- })
- }
- }
-
- public scan(successCallback: (text: string) => void = null, errorCallback: (text: string) => void = null) {
- const scanCallback = (err, text) => {
- if (err) {
- console.error('Scanner scan error', err)
- if (errorCallback) {
- errorCallback(err)
- }
- }
-
- console.log('Scanner scan success', text)
- successCallback(text)
- }
-
- QRScanner.scan(scanCallback)
- }
-
- public show() {
- if (this.platform.is('cordova')) {
- if (this.isShowing) {
- return
- }
- this.isShowing = true
- QRScanner.show()
- }
- }
-
- public stopScan() {
- if (this.platform.is('cordova')) {
- QRScanner.cancelScan(null)
- }
- }
-
- public destroy() {
- if (this.platform.is('cordova')) {
- this.isShowing = false
- QRScanner.destroy()
- }
- }
-}
diff --git a/src/providers/scheme-routing/scheme-routing.spec.ts b/src/providers/scheme-routing/scheme-routing.spec.ts
deleted file mode 100644
index 2e1bef40..00000000
--- a/src/providers/scheme-routing/scheme-routing.spec.ts
+++ /dev/null
@@ -1,86 +0,0 @@
-import { async, TestBed } from '@angular/core/testing'
-import { NavController, NavParams, Platform, AlertController, App, LoadingController } from 'ionic-angular'
-import { StatusBar } from '@ionic-native/status-bar'
-import 'jasmine'
-import { SplashScreen } from '@ionic-native/splash-screen'
-
-import {
- PlatformMock,
- StatusBarMock,
- SplashScreenMock,
- NavParamsMock,
- DeviceProviderMock,
- AlertControllerMock
-} from '../../../test-config/mocks-ionic'
-import { NavControllerMock, AppMock, LoadingControllerMock } from 'ionic-mocks'
-import { SchemeRoutingProvider } from './scheme-routing'
-
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { SecureStorageService } from '../../providers/storage/secure-storage'
-import { StorageMock } from '../../../test-config/storage-mock'
-import { Storage } from '@ionic/storage'
-import { SecureStorageServiceMock } from '../../providers/storage/secure-storage.mock'
-import { HttpClientTestingModule } from '@angular/common/http/testing'
-import { TranslateModule, TranslateService } from '@ngx-translate/core'
-import { HttpClient } from '@angular/common/http'
-
-describe('SchemeRoutingProvider Provider', () => {
- let schemeRoutingProvider: SchemeRoutingProvider
- let storageProvider: Storage
- let secureStorage: SecureStorageServiceMock
- let deviceProvider: DeviceProviderMock
- let navController: NavController
-
- beforeEach(async(() => {
- TestBed.configureTestingModule({
- imports: [HttpClientTestingModule, TranslateModule.forRoot()],
- providers: [
- SchemeRoutingProvider,
- SecretsProvider,
- { provide: App, useClass: AppMock },
- {
- provide: AlertController,
- useValue: AlertControllerMock
- },
- {
- provide: LoadingController,
- useClass: LoadingControllerMock
- },
- { provide: SecureStorageService, useClass: SecureStorageServiceMock },
- { provide: Storage, useClass: StorageMock },
- { provide: NavController, useClass: NavControllerMock },
- { provide: NavParams, useClass: NavParamsMock },
- { provide: StatusBar, useClass: StatusBarMock },
- { provide: SplashScreen, useClass: SplashScreenMock },
- { provide: Platform, useClass: PlatformMock },
- TranslateService
- ]
- })
- }))
-
- beforeEach(() => {
- schemeRoutingProvider = TestBed.get(SchemeRoutingProvider)
- storageProvider = TestBed.get(Storage)
- secureStorage = TestBed.get(SecureStorageService)
- navController = TestBed.get(NavController)
- })
-
- it('should be created', () => {
- expect(schemeRoutingProvider instanceof SchemeRoutingProvider).toBe(true)
- })
-
- it('should show alert', async done => {
- await schemeRoutingProvider.showTranslatedAlert('Test', 'Message', [])
- done()
- })
-
- it('should handle request', async(async () => {
- const text: string = 'test'
- const callback = () => undefined
- try {
- await schemeRoutingProvider.handleNewSyncRequest(navController, text, callback)
- } catch (e) {
- expect(e).toBeDefined()
- }
- }))
-})
diff --git a/src/providers/scheme-routing/scheme-routing.ts b/src/providers/scheme-routing/scheme-routing.ts
deleted file mode 100644
index d02c4dd2..00000000
--- a/src/providers/scheme-routing/scheme-routing.ts
+++ /dev/null
@@ -1,168 +0,0 @@
-import { Injectable } from '@angular/core'
-import { AlertController, AlertButton, App, NavController } from 'ionic-angular'
-import { AirGapWallet, DeserializedSyncProtocol, UnsignedTransaction, SyncProtocolUtils, EncodedType } from 'airgap-coin-lib'
-import { SecretsProvider } from '../secrets/secrets.provider'
-import { TransactionDetailPage } from '../../pages/transaction-detail/transaction-detail'
-import { handleErrorLocal, ErrorCategory } from '../error-handler/error-handler'
-import { TranslateService } from '@ngx-translate/core'
-
-@Injectable()
-export class SchemeRoutingProvider {
- private navController: NavController
- /* TS 2.7 feature
- private syncSchemeHandlers: {
- [key in EncodedType]: (deserializedSync: DeserializedSyncProtocol, scanAgainCallback: Function) => Promise
- }
- */
- private syncSchemeHandlers: ((deserializedSync: DeserializedSyncProtocol, scanAgainCallback: Function) => Promise)[] = []
-
- constructor(
- protected app: App,
- private secretsProvider: SecretsProvider,
- private alertCtrl: AlertController,
- private translateService: TranslateService
- ) {
- this.syncSchemeHandlers[EncodedType.WALLET_SYNC] = this.syncTypeNotSupportedAlert.bind(this)
- this.syncSchemeHandlers[EncodedType.UNSIGNED_TRANSACTION] = this.handleUnsignedTransaction.bind(this)
- this.syncSchemeHandlers[EncodedType.SIGNED_TRANSACTION] = this.syncTypeNotSupportedAlert.bind(this)
-
- /* TS 2.7 feature
- this.syncSchemeHandlers = {
- [EncodedType.WALLET_SYNC]: this.syncTypeNotSupportedAlert.bind(this),
- [EncodedType.UNSIGNED_TRANSACTION]: this.handleUnsignedTransaction.bind(this),
- [EncodedType.SIGNED_TRANSACTION]: this.syncTypeNotSupportedAlert.bind(this)
- }
- */
- }
-
- async handleNewSyncRequest(
- navCtrl: NavController,
- rawString: string,
- scanAgainCallback: Function = () => {
- /* */
- }
- ) {
- // wait for secrets to be loaded for sure
- await this.secretsProvider.isReady()
-
- this.navController = navCtrl
- const syncProtocol = new SyncProtocolUtils()
-
- let data: string | undefined
- try {
- let url: URL = new URL(rawString)
- data = url.searchParams.get('d')
- } catch (e) {
- data = rawString // Fallback to support raw data QRs
- }
-
- try {
- const deserializedSync = await syncProtocol.deserialize(data)
-
- if (deserializedSync.type in EncodedType) {
- // Only handle types that we know
- return this.syncSchemeHandlers[deserializedSync.type](deserializedSync, scanAgainCallback)
- } else {
- return this.syncTypeNotSupportedAlert(deserializedSync, scanAgainCallback)
- }
- } catch (e) {
- console.warn('Deserialization of sync failed', e)
- // TODO: Log error locally
- const cancelButton = {
- text: 'tab-wallets.invalid-sync-operation_alert.okay_label',
- role: 'cancel',
- handler: () => {
- scanAgainCallback()
- }
- }
- this.showTranslatedAlert('tab-wallets.invalid-sync-operation_alert.title', 'tab-wallets.invalid-sync-operation_alert.text', [
- cancelButton
- ])
- }
- }
-
- private async handleUnsignedTransaction(deserializedSyncProtocol: DeserializedSyncProtocol, scanAgainCallback: Function) {
- const unsignedTransaction = deserializedSyncProtocol.payload as UnsignedTransaction
-
- let correctWallet = this.secretsProvider.findWalletByPublicKeyAndProtocolIdentifier(
- unsignedTransaction.publicKey,
- deserializedSyncProtocol.protocol
- )
-
- // If we can't find a wallet for a protocol, we will try to find the "base" wallet and then create a new
- // wallet with the right protocol. This way we can sign all ERC20 transactions, but show the right amount
- // and fee for all tokens we support.
- if (!correctWallet) {
- const baseWallet = this.secretsProvider.findBaseWalletByPublicKeyAndProtocolIdentifier(
- unsignedTransaction.publicKey,
- deserializedSyncProtocol.protocol
- )
-
- // If the protocol is not supported, use the base protocol for signing
- try {
- correctWallet = new AirGapWallet(
- deserializedSyncProtocol.protocol,
- baseWallet.publicKey,
- baseWallet.isExtendedPublicKey,
- baseWallet.derivationPath
- )
- correctWallet.addresses = baseWallet.addresses
- } catch (e) {
- if (e.message === 'PROTOCOL_NOT_SUPPORTED') {
- correctWallet = baseWallet
- }
- }
- }
-
- if (correctWallet) {
- if (this.navController) {
- this.navController
- .push(TransactionDetailPage, {
- transaction: unsignedTransaction,
- wallet: correctWallet,
- deserializedSync: deserializedSyncProtocol
- })
- .catch(handleErrorLocal(ErrorCategory.IONIC_NAVIGATION))
- }
- } else {
- const cancelButton = {
- text: 'tab-wallets.no-secret_alert.okay_label',
- role: 'cancel',
- handler: () => {
- scanAgainCallback()
- }
- }
-
- this.showTranslatedAlert('tab-wallets.no-secret_alert.title', 'tab-wallets.no-secret_alert.text', [cancelButton])
- }
- }
-
- private async syncTypeNotSupportedAlert(_deserializedSyncProtocol: DeserializedSyncProtocol, scanAgainCallback: Function) {
- // TODO: Log error locally
- const cancelButton = {
- text: 'tab-wallets.sync-operation-not-supported_alert.okay_label',
- role: 'cancel',
- handler: () => {
- scanAgainCallback()
- }
- }
- this.showTranslatedAlert(
- 'tab-wallets.sync-operation-not-supported_alert.title',
- 'tab-wallets.sync-operation-not-supported_alert.text',
- [cancelButton]
- )
- }
-
- showTranslatedAlert(title: string, message: string, buttons: AlertButton[]): void {
- const translationKeys = [title, message, ...buttons.map(button => button.text)]
- this.translateService.get(translationKeys).subscribe(values => {
- let alert = this.alertCtrl.create({
- title: values[title],
- message: values[message],
- enableBackdropDismiss: true,
- buttons: buttons.map(button => (button.text = values[button.text]))
- })
- alert.present().catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- })
- }
-}
diff --git a/src/providers/secrets/secrets.provider.ts b/src/providers/secrets/secrets.provider.ts
deleted file mode 100644
index 0dc849e4..00000000
--- a/src/providers/secrets/secrets.provider.ts
+++ /dev/null
@@ -1,275 +0,0 @@
-import { Injectable, NgZone } from '@angular/core'
-import { Storage } from '@ionic/storage'
-import { BehaviorSubject } from 'rxjs/BehaviorSubject'
-
-import { Secret } from '../../models/secret'
-import { SecureStorageService } from '../storage/secure-storage'
-import { AirGapWallet, getProtocolByIdentifier } from 'airgap-coin-lib'
-import { LoadingController, AlertController } from 'ionic-angular'
-
-import bip39 from 'bip39'
-import { handleErrorLocal, ErrorCategory } from '../error-handler/error-handler'
-@Injectable()
-export class SecretsProvider {
- private activeSecret: Secret
- private secretsList: Secret[] = []
- public currentSecretsList = new BehaviorSubject(this.secretsList)
- private ready: Promise
-
- constructor(
- private secureStorageService: SecureStorageService,
- private storage: Storage,
- private ngZone: NgZone,
- private loadingCtrl: LoadingController,
- private alertCtrl: AlertController
- ) {
- this.ready = this.init()
- }
-
- private async init(): Promise {
- const secrets = await this.read()
- this.secretsList.push(...secrets.map(obj => Secret.init(obj)))
- this.activeSecret = this.secretsList[0]
- this.currentSecretsList.next(this.secretsList) // we need to force this update, as [] will not be broadcasted again
- }
-
- public isReady(): Promise {
- return this.ready
- }
-
- private read(): Promise {
- return new Promise((resolve, reject) => {
- this.storage
- .get('airgap-secret-list')
- .then(rawSecretsPayload => {
- // necessary due to double serialization bug we had
- let secrets: Secret[]
- if (typeof rawSecretsPayload === 'string') {
- secrets = JSON.parse(rawSecretsPayload)
- } else {
- secrets = rawSecretsPayload
- }
- if (!secrets) {
- secrets = []
- }
- for (let k = 0; k < secrets.length; k++) {
- const secret = secrets[k]
- if (secret.wallets) {
- for (let i = 0; i < secret.wallets.length; i++) {
- const wallet = secret.wallets[i]
- let airGapWallet = new AirGapWallet(
- wallet.protocolIdentifier,
- wallet.publicKey,
- wallet.isExtendedPublicKey,
- wallet.derivationPath
- )
- airGapWallet.addresses = wallet.addresses
- secret.wallets[i] = airGapWallet
- }
- } else {
- secrets[k].wallets = []
- }
- }
- resolve(secrets)
- })
- .catch(reject)
- })
- }
-
- addOrUpdateSecret(secret: Secret): Promise {
- if (!secret.wallets) {
- secret.wallets = []
- }
- return new Promise((resolve, reject) => {
- if (!secret.secretHex) {
- this.secretsList[this.secretsList.findIndex(obj => obj.id === secret.id)] = secret
- this.persist()
- .then(resolve)
- .catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- } else {
- this.secureStorageService
- .get(secret.id, secret.isParanoia)
- .then(secureStorage => {
- return secureStorage.setItem(secret.id, secret.secretHex)
- })
- .then(
- _value => {
- secret.flushSecret()
- if (this.secretsList.findIndex(obj => obj.id === secret.id) === -1) {
- this.ngZone.run(() => {
- this.secretsList.push(secret)
- this.activeSecret = secret
- this.persist()
- .then(resolve)
- .catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- })
- } else {
- this.activeSecret = secret
- this.persist()
- .then(resolve)
- .catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- }
- },
- error => {
- console.warn(error)
- reject(error)
- }
- )
- }
- })
- }
-
- remove(secret: Secret): Promise {
- return new Promise(resolve => {
- return this.secureStorageService.get(secret.id, secret.isParanoia).then(secureStorage => {
- secureStorage
- .removeItem(secret.id)
- .then(() => {
- this.secretsList.splice(this.secretsList.indexOf(secret), 1)
- this.persist()
- .then(resolve)
- .catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- })
- .catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- })
- })
- }
-
- retrieveEntropyForSecret(secret: Secret): Promise {
- return new Promise(resolve => {
- return this.secureStorageService.get(secret.id, secret.isParanoia).then(secureStorage => {
- resolve(secureStorage.getItem(secret.id))
- })
- })
- }
-
- findByPublicKey(pubKey: string): Secret {
- for (let secret of this.secretsList) {
- let foundWallet = secret.wallets.find(wallet => wallet.publicKey === pubKey)
- if (foundWallet !== undefined) {
- return secret
- }
- }
- }
-
- getWallets(): AirGapWallet[] {
- const walletList = []
- for (let secret of this.secretsList) {
- walletList.push(...secret.wallets)
- }
- return walletList
- }
-
- removeWallet(wallet: AirGapWallet): Promise {
- const secret = this.findByPublicKey(wallet.publicKey)
- if (!secret) {
- return undefined
- }
-
- secret.wallets.splice(
- secret.wallets.findIndex(
- findWallet => findWallet.publicKey === wallet.publicKey && findWallet.protocolIdentifier === wallet.protocolIdentifier
- ),
- 1
- )
- return this.addOrUpdateSecret(secret)
- }
-
- findWalletByPublicKeyAndProtocolIdentifier(pubKey: string, protocolIdentifier: string): AirGapWallet {
- const secret = this.findByPublicKey(pubKey)
- if (!secret) {
- return undefined
- }
-
- let foundWallet = secret.wallets.find(wallet => wallet.publicKey === pubKey && wallet.protocolIdentifier === protocolIdentifier)
- if (foundWallet !== undefined) {
- return foundWallet
- }
- }
-
- findBaseWalletByPublicKeyAndProtocolIdentifier(pubKey: string, protocolIdentifier: string): AirGapWallet | undefined {
- const secret = this.findByPublicKey(pubKey)
- if (!secret) {
- return undefined
- }
-
- return secret.wallets.find(wallet => wallet.publicKey === pubKey && protocolIdentifier.startsWith(wallet.protocolIdentifier))
- }
-
- getActiveSecret(): Secret {
- return this.activeSecret || this.secretsList[0]
- }
-
- setActiveSecret(secret: Secret): any {
- this.activeSecret = secret
- }
-
- persist(): Promise {
- this.secretsList.forEach(obj => obj.flushSecret()) // make sure there are no secrets in there
- return this.storage.set('airgap-secret-list', this.secretsList)
- }
-
- addWallet(protocolIdentifier: string, isHDWallet: boolean, customDerivationPath: string): Promise {
- return new Promise((resolve, reject) => {
- const loading = this.loadingCtrl.create({
- content: 'Deriving your wallet...'
- })
- loading.present().catch(handleErrorLocal(ErrorCategory.IONIC_LOADER))
-
- const protocol = getProtocolByIdentifier(protocolIdentifier)
-
- let secret = this.getActiveSecret()
- this.retrieveEntropyForSecret(secret)
- .then(entropy => {
- let seed = bip39.mnemonicToSeedHex(bip39.entropyToMnemonic(entropy))
- let wallet = new AirGapWallet(
- protocol.identifier,
- protocol.getPublicKeyFromHexSecret(seed, customDerivationPath),
- isHDWallet,
- customDerivationPath
- )
- wallet
- .deriveAddresses(1)
- .then(addresses => {
- wallet.addresses = addresses
-
- if (
- secret.wallets.find(obj => obj.publicKey === wallet.publicKey && obj.protocolIdentifier === wallet.protocolIdentifier) ===
- undefined
- ) {
- secret.wallets.push(wallet)
- resolve(this.addOrUpdateSecret(secret))
- } else {
- this.showAlert(
- 'Wallet already exists',
- 'You already have added this specific wallet. Please change its derivation path to add another address (advanced mode).'
- )
- reject()
- }
- loading.dismiss().catch(handleErrorLocal(ErrorCategory.IONIC_LOADER))
- })
- .catch(handleErrorLocal(ErrorCategory.WALLET_PROVIDER))
- })
- .catch(err => {
- this.showAlert('Error', err)
- loading.dismiss().catch(handleErrorLocal(ErrorCategory.IONIC_LOADER))
- reject()
- })
- })
- }
-
- showAlert(title: string, message: string) {
- let alert = this.alertCtrl.create({
- title,
- message,
- enableBackdropDismiss: false,
- buttons: [
- {
- text: 'Okay!',
- role: 'cancel'
- }
- ]
- })
- alert.present().catch(handleErrorLocal(ErrorCategory.IONIC_ALERT))
- }
-}
diff --git a/src/providers/share-url/share-url.ts b/src/providers/share-url/share-url.ts
deleted file mode 100644
index d1db5645..00000000
--- a/src/providers/share-url/share-url.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { HttpClient } from '@angular/common/http'
-import { Injectable } from '@angular/core'
-import { AirGapWallet, DeserializedSyncProtocol, EncodedType, SyncProtocolUtils, SyncWalletRequest } from 'airgap-coin-lib'
-
-@Injectable()
-export class ShareUrlProvider {
- constructor(public http: HttpClient) {
- //
- }
-
- async generateShareURL(wallet: AirGapWallet): Promise {
- const syncProtocol = new SyncProtocolUtils()
-
- const syncWalletRequest: SyncWalletRequest = {
- publicKey: wallet.publicKey,
- isExtendedPublicKey: wallet.isExtendedPublicKey,
- derivationPath: wallet.derivationPath
- }
-
- const deserializedTxSigningRequest: DeserializedSyncProtocol = {
- version: 1,
- protocol: wallet.protocolIdentifier,
- type: EncodedType.WALLET_SYNC,
- payload: syncWalletRequest
- }
-
- const serializedTx = await syncProtocol.serialize(deserializedTxSigningRequest)
-
- return `airgap-wallet://?d=${serializedTx}`
- }
-}
diff --git a/src/providers/startup-checks/startup-checks.provider.spec.ts b/src/providers/startup-checks/startup-checks.provider.spec.ts
deleted file mode 100644
index e611f9df..00000000
--- a/src/providers/startup-checks/startup-checks.provider.spec.ts
+++ /dev/null
@@ -1,113 +0,0 @@
-import 'jasmine'
-import { async, TestBed } from '@angular/core/testing'
-import { NavController, NavParams, Platform, ModalController } from 'ionic-angular'
-import { StatusBar } from '@ionic-native/status-bar'
-import { SplashScreen } from '@ionic-native/splash-screen'
-
-import { PlatformMock, StatusBarMock, SplashScreenMock, NavParamsMock, DeviceProviderMock } from '../../../test-config/mocks-ionic'
-import { NavControllerMock, ModalControllerMock } from 'ionic-mocks'
-
-import { SecretsProvider } from '../../providers/secrets/secrets.provider'
-import { SecureStorageService } from '../../providers/storage/secure-storage'
-import { StorageMock } from '../../../test-config/storage-mock'
-import { Storage } from '@ionic/storage'
-import { SecureStorageServiceMock } from '../../providers/storage/secure-storage.mock'
-import { StartupChecksProvider } from './startup-checks.provider'
-import { DeviceProvider } from '../device/device'
-
-describe('StartupCheck Provider', () => {
- let startupChecksProvider: StartupChecksProvider
- let storageProvider: Storage
- let secureStorage: SecureStorageServiceMock
- let deviceProvider: DeviceProviderMock
-
- beforeEach(async(() => {
- TestBed.configureTestingModule({
- providers: [
- StartupChecksProvider,
- SecretsProvider,
- { provide: DeviceProvider, useClass: DeviceProviderMock },
- { provide: ModalController, useClass: ModalControllerMock },
- { provide: SecureStorageService, useClass: SecureStorageServiceMock },
- { provide: Storage, useClass: StorageMock },
- { provide: NavController, useClass: NavControllerMock },
- { provide: NavParams, useClass: NavParamsMock },
- { provide: StatusBar, useClass: StatusBarMock },
- { provide: SplashScreen, useClass: SplashScreenMock },
- { provide: Platform, useClass: PlatformMock }
- ]
- })
- .compileComponents()
- .then(() => {
- startupChecksProvider = TestBed.get(StartupChecksProvider)
- storageProvider = TestBed.get(Storage)
- deviceProvider = TestBed.get(DeviceProvider)
- secureStorage = TestBed.get(SecureStorageService)
-
- secureStorage.isSecure = 1
- deviceProvider.isRooted = 0
- storageProvider.set('DISCLAIMER_INITIAL', true)
- storageProvider.set('INTRODUCTION_INITIAL', true)
- })
- }))
-
- it('should be created', () => {
- expect(startupChecksProvider instanceof StartupChecksProvider).toBe(true)
- })
-
- it('should should show root modal if device is rooted', async(() => {
- deviceProvider.isRooted = 1
-
- startupChecksProvider.initChecks().catch(consequence => {
- expect(consequence.name).toBe('rootCheck')
- })
- }))
-
- it('should should show disclaimer modal if the disclaimer has not been accepted yet', async(() => {
- storageProvider.set('DISCLAIMER_INITIAL', false)
-
- startupChecksProvider
- .initChecks()
- .then(() => {
- expect(true).toEqual(false) // we should not get here
- })
- .catch(consequence => {
- expect(consequence.name).toBe('disclaimerAcceptedCheck')
- })
- }))
-
- it('should should show the introduction modal if the introduction has not been accepted yet', async(() => {
- storageProvider.set('INTRODUCTION_INITIAL', false)
-
- startupChecksProvider
- .initChecks()
- .then(() => {
- expect(true).toEqual(false) // we should not get here
- })
- .catch(consequence => {
- expect(consequence.name).toBe('introductionAcceptedCheck')
- })
- }))
-
- it('should should show the device security modal if device is not secure', async(() => {
- secureStorage.isSecure = 0
-
- startupChecksProvider
- .initChecks()
- .then(() => {
- expect(true).toEqual(false) // we should not get here
- })
- .catch(consequence => {
- expect(consequence.name).toBe('deviceSecureCheck')
- })
- }))
-
- it('should resolve is everything is ok', async(() => {
- storageProvider.set('DISCLAIMER_INITIAL', true)
- storageProvider.set('INTRODUCTION_INITIAL', true)
- secureStorage.isSecure = 1
- deviceProvider.isRooted = 0
-
- startupChecksProvider.initChecks()
- }))
-})
diff --git a/src/providers/startup-checks/startup-checks.provider.ts b/src/providers/startup-checks/startup-checks.provider.ts
deleted file mode 100644
index 0dfcf3c5..00000000
--- a/src/providers/startup-checks/startup-checks.provider.ts
+++ /dev/null
@@ -1,107 +0,0 @@
-import 'jasmine'
-import { Injectable } from '@angular/core'
-import { IntroductionPage } from '../../pages/introduction/introduction'
-import { WarningsModalPage, Warning } from '../../pages/warnings-modal/warnings-modal'
-import { DeviceProvider } from '../device/device'
-import { ModalController } from 'ionic-angular'
-import { Storage } from '@ionic/storage'
-import { SecureStorageService } from '../storage/secure-storage'
-import { DistributionOnboardingPage } from '../../pages/distribution-onboarding/distribution-onboarding'
-import { handleErrorLocal, ErrorCategory } from '../error-handler/error-handler'
-
-@Injectable()
-export class StartupChecksProvider {
- checks: { name: string; check: Function; outcome: boolean; consequence: Function }[]
-
- constructor(
- secureStorage: SecureStorageService,
- deviceProvider: DeviceProvider,
- private modalController: ModalController,
- private storage: Storage
- ) {
- this.checks = [
- {
- name: 'rootCheck',
- check: () => deviceProvider.checkForRoot(),
- outcome: false,
- consequence: (cb: Function) => {
- this.presentModal(WarningsModalPage, { errorType: Warning.ROOT }, cb)
- }
- },
- {
- name: 'deviceSecureCheck',
- check: () => secureStorage.isDeviceSecure(),
- outcome: true,
- consequence: (cb: Function) => {
- this.presentModal(WarningsModalPage, { errorType: Warning.SECURE_STORAGE }, cb)
- }
- },
- {
- name: 'disclaimerAcceptedCheck',
- check: () => this.storage.get('DISCLAIMER_INITIAL'),
- outcome: true,
- consequence: (cb: Function) => {
- this.presentModal(WarningsModalPage, { errorType: Warning.INITIAL_DISCLAIMER }, cb)
- }
- },
- {
- name: 'introductionAcceptedCheck',
- check: () => this.storage.get('INTRODUCTION_INITIAL'),
- outcome: true,
- consequence: (cb: Function) => {
- this.presentModal(IntroductionPage, {}, cb)
- }
- },
- {
- name: 'electronCheck',
- check: (): Promise => {
- return new Promise(async resolve => {
- const isElectron = await deviceProvider.checkForElectron()
- const hasShownDisclaimer = await this.storage.get('DISCLAIMER_ELECTRON')
- resolve(!isElectron || hasShownDisclaimer)
- })
- },
- outcome: true,
- consequence: (cb: Function) => {
- this.presentModal(DistributionOnboardingPage, {}, cb)
- }
- }
- ]
- }
-
- presentModal(page: any, modalConfig: any, callback: Function) {
- let modal = this.modalController.create(page, modalConfig, { enableBackdropDismiss: false })
- modal.onDidDismiss(_data => callback())
- modal
- .present()
- .then(() => {
- console.log('check modal presented')
- })
- .catch(handleErrorLocal(ErrorCategory.IONIC_MODAL))
- }
-
- initChecks(): Promise {
- return new Promise((resolve, reject) => {
- this.checks
- .reduce((promiseChain, currentTask) => {
- return promiseChain.then(chainResults => currentTask.check().then(currentResult => [...chainResults, currentResult]))
- }, Promise.resolve([]))
- .then(arrayOfResults => {
- let failedIndex = arrayOfResults.findIndex((val, index) => {
- if (typeof val === 'number') {
- val = Boolean(val).valueOf()
- }
- return val !== this.checks[index].outcome
- })
-
- if (failedIndex === -1) {
- resolve()
- return
- }
-
- reject(this.checks[failedIndex])
- })
- .catch(handleErrorLocal(ErrorCategory.INIT_CHECK))
- })
- }
-}
diff --git a/src/providers/storage/secure-storage.factory.ts b/src/providers/storage/secure-storage.factory.ts
deleted file mode 100644
index 68db4a2e..00000000
--- a/src/providers/storage/secure-storage.factory.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-import { Platform } from 'ionic-angular'
-import { SecureStorageServiceMock } from './secure-storage.mock'
-import { SecureStorageService } from './secure-storage'
-
-export function SecureStorageFactory(platform: Platform) {
- if (platform.is('cordova')) {
- return new SecureStorageService()
- } else {
- return new SecureStorageServiceMock()
- }
-}
diff --git a/src/providers/storage/secure-storage.mock.ts b/src/providers/storage/secure-storage.mock.ts
deleted file mode 100644
index 636b7ea6..00000000
--- a/src/providers/storage/secure-storage.mock.ts
+++ /dev/null
@@ -1,67 +0,0 @@
-import { Injectable } from '@angular/core'
-import { SecureStorage } from './secure-storage'
-import { handleErrorLocal, ErrorCategory } from '../error-handler/error-handler'
-
-@Injectable()
-export class SecureStorageServiceMock {
- isSecure = 1
-
- constructor() {
- console.log('SecureStorageServiceMock')
- }
-
- isDeviceSecure(): Promise {
- return new Promise(resolve => {
- console.warn('SecureStorageServiceMock - This Device is NOT secured')
- resolve(this.isSecure)
- })
- }
-
- secureDevice(): Promise {
- return new Promise(resolve => {
- console.warn('SecureStorageServiceMock - This Device is NOT secured')
- resolve()
- })
- }
-
- get(alias: string, _isParanoia: boolean): Promise {
- const secureStorage: SecureStorage = {
- init() {
- console.warn('SecureStorageServiceMock')
- return new Promise(resolve => {
- resolve()
- })
- },
- setItem(key: string, value: string): Promise {
- console.warn('SecureStorageServiceMock')
- localStorage.setItem(alias + '-' + key, value)
- return new Promise(resolve => {
- resolve()
- })
- },
- getItem(key: string): Promise {
- console.warn('SecureStorageServiceMock')
- const result = localStorage.getItem(alias + '-' + key)
- return new Promise(resolve => {
- resolve(result)
- })
- },
- removeItem: function(key) {
- console.warn('SecureStorageServiceMock')
- localStorage.removeItem(alias + '-' + key)
- return new Promise(resolve => {
- resolve()
- })
- }
- }
-
- return new Promise(resolve => {
- secureStorage
- .init()
- .then(() => {
- resolve(secureStorage)
- })
- .catch(handleErrorLocal(ErrorCategory.SECURE_STORAGE))
- })
- }
-}
diff --git a/src/providers/storage/secure-storage.ts b/src/providers/storage/secure-storage.ts
deleted file mode 100644
index 0f6f3a21..00000000
--- a/src/providers/storage/secure-storage.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import { Injectable } from '@angular/core'
-
-declare var window
-
-interface CordovaSecureStorage {
- init(successCallback: Function, errorCallback: Function)
- setItem(key: string, value: string, successCallback: Function, errorCallback: Function)
- getItem(key: string, successCallback: Function, errorCallback: Function)
- removeItem(key: string, successCallback: Function, errorCallback: Function)
- isDeviceSecure(successCallback: Function, errorCallback: Function)
- secureDevice(successCallback: Function, errorCallback: Function)
-}
-
-export interface SecureStorage {
- init(): Promise
- setItem(key: string, value: string): Promise
- getItem(key: string): Promise
- removeItem(key: string): Promise
-}
-
-@Injectable()
-export class SecureStorageService {
- private create(alias: string, isParanoia: boolean): CordovaSecureStorage {
- return new window.SecureStorage(alias, isParanoia)
- }
-
- isDeviceSecure(): Promise {
- return new Promise((resolve, reject) => {
- this.create('airgap-secure-storage', false).isDeviceSecure(resolve, reject)
- })
- }
-
- secureDevice(): Promise {
- return new Promise((resolve, reject) => {
- this.create('airgap-secure-storage', false).secureDevice(resolve, reject)
- })
- }
-
- get(alias: string, isParanoia: boolean): Promise {
- let secureStorage = this.create(alias, isParanoia)
- return new Promise((resolve, reject) => {
- secureStorage.init(
- () => {
- resolve({
- init: function() {
- return new Promise((resolve, reject) => {
- secureStorage.init(resolve, reject)
- })
- },
- setItem: function(key, value) {
- return new Promise((resolve, reject) => {
- secureStorage.setItem(key, value, resolve, reject)
- })
- },
- getItem: function(key) {
- return new Promise((resolve, reject) => {
- secureStorage.getItem(key, resolve, reject)
- })
- },
- removeItem: function(key) {
- return new Promise((resolve, reject) => {
- secureStorage.removeItem(key, resolve, reject)
- })
- }
- })
- },
- err => {
- reject(err)
- }
- )
- })
- }
-}
diff --git a/src/service-worker.js b/src/service-worker.js
deleted file mode 100644
index cff0bdf1..00000000
--- a/src/service-worker.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/**
- * Check out https://googlechromelabs.github.io/sw-toolbox/ for
- * more info on how to use sw-toolbox to custom configure your service worker.
- */
-
-'use strict'
-importScripts('./build/sw-toolbox.js')
-
-self.toolbox.options.cache = {
- name: 'ionic-cache'
-}
-
-// pre-cache our key assets
-self.toolbox.precache(['./build/main.js', './build/vendor.js', './build/main.css', './build/polyfills.js', 'index.html', 'manifest.json'])
-
-// dynamically cache any other local assets
-self.toolbox.router.any('/*', self.toolbox.fastest)
-
-// for any other requests go to the network, cache,
-// and then only use that cached resource if your user goes offline
-self.toolbox.router.default = self.toolbox.networkFirst
diff --git a/src/test.ts b/src/test.ts
new file mode 100644
index 00000000..f33e106f
--- /dev/null
+++ b/src/test.ts
@@ -0,0 +1,15 @@
+// This file is required by karma.conf.js and loads recursively all the .spec and framework files
+
+// tslint:disable:ordered-imports
+import 'zone.js/dist/zone-testing'
+import { getTestBed } from '@angular/core/testing'
+import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'
+
+declare const require: any
+
+// First, initialize the Angular testing environment.
+getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting())
+// Then we find all the tests.
+const context = require.context('./', true, /\.spec\.ts$/)
+// And load the modules.
+context.keys().map(context)
diff --git a/src/theme/variables.scss b/src/theme/variables.scss
index b96e326e..4b39b39f 100644
--- a/src/theme/variables.scss
+++ b/src/theme/variables.scss
@@ -1,77 +1,77 @@
// Ionic Variables and Theming. For more info, please see:
// http://ionicframework.com/docs/theming/
-// Font path is used to include ionicons,
-// roboto, and noto sans fonts
-$font-path: '../assets/fonts';
-
-// The app direction is used to include
-// rtl styles in your app. For more info, please see:
-// http://ionicframework.com/docs/theming/rtl-support/
-$app-direction: ltr;
-
-@import 'ionic.globals';
-
-// Shared Variables
-// --------------------------------------------------
-// To customize the look and feel of this app, you can override
-// the Sass variables found in Ionic's source scss files.
-// To view all the possible Ionic variables, see:
-// http://ionicframework.com/docs/theming/overriding-ionic-variables/
-
-// Named Color Variables
-// --------------------------------------------------
-// Named colors makes it easy to reuse colors on various components.
-// It's highly recommended to change the default colors
-// to match your app's branding. Ionic uses a Sass map of
-// colors so you can add, rename and remove colors as needed.
-// The "primary" color is the only required color in the map.
-
-$colors: (
- primary: #f7296e,
- secondary: #311b58,
- secondary-light: #50239f,
- secondary-muted: #3c1a77,
- danger: #f53d3d,
- light: #f4f4f4,
- dark: #222,
- white: #fff
-);
-
-// App iOS Variables
-// --------------------------------------------------
-// iOS only Sass variables can go here
-
-// App Material Design Variables
-// --------------------------------------------------
-// Material Design only Sass variables can go here
-
-// App Windows Variables
-// --------------------------------------------------
-// Windows only Sass variables can go here
-
-// App Theme
-// --------------------------------------------------
-// Ionic apps can have different themes applied, which can
-// then be future customized. This import comes last
-// so that the above variables are used and Ionic's
-// default are overridden.
-
-@import 'ionic.theme.default';
-
-// Ionicons
-// --------------------------------------------------
-// The premium icon font for Ionic. For more info, please see:
-// http://ionicframework.com/docs/ionicons/
-
-@import 'ionic.ionicons';
-
-// Fonts
-// --------------------------------------------------
-
-@import 'roboto';
-@import 'noto-sans';
-
-$label-md-text-color-focused: #d6dceb;
-
-$item-md-detail-push-show: true;
+/** Ionic CSS Variables **/
+:root {
+ /** primary **/
+ --ion-color-primary: #3880ff;
+ --ion-color-primary-rgb: 56, 128, 255;
+ --ion-color-primary-contrast: #ffffff;
+ --ion-color-primary-contrast-rgb: 255, 255, 255;
+ --ion-color-primary-shade: #3171e0;
+ --ion-color-primary-tint: #4c8dff;
+
+ /** secondary **/
+ --ion-color-secondary: #0cd1e8;
+ --ion-color-secondary-rgb: 12, 209, 232;
+ --ion-color-secondary-contrast: #ffffff;
+ --ion-color-secondary-contrast-rgb: 255, 255, 255;
+ --ion-color-secondary-shade: #0bb8cc;
+ --ion-color-secondary-tint: #24d6ea;
+
+ /** tertiary **/
+ --ion-color-tertiary: #7044ff;
+ --ion-color-tertiary-rgb: 112, 68, 255;
+ --ion-color-tertiary-contrast: #ffffff;
+ --ion-color-tertiary-contrast-rgb: 255, 255, 255;
+ --ion-color-tertiary-shade: #633ce0;
+ --ion-color-tertiary-tint: #7e57ff;
+
+ /** success **/
+ --ion-color-success: #10dc60;
+ --ion-color-success-rgb: 16, 220, 96;
+ --ion-color-success-contrast: #ffffff;
+ --ion-color-success-contrast-rgb: 255, 255, 255;
+ --ion-color-success-shade: #0ec254;
+ --ion-color-success-tint: #28e070;
+
+ /** warning **/
+ --ion-color-warning: #ffce00;
+ --ion-color-warning-rgb: 255, 206, 0;
+ --ion-color-warning-contrast: #ffffff;
+ --ion-color-warning-contrast-rgb: 255, 255, 255;
+ --ion-color-warning-shade: #e0b500;
+ --ion-color-warning-tint: #ffd31a;
+
+ /** danger **/
+ --ion-color-danger: #f04141;
+ --ion-color-danger-rgb: 245, 61, 61;
+ --ion-color-danger-contrast: #ffffff;
+ --ion-color-danger-contrast-rgb: 255, 255, 255;
+ --ion-color-danger-shade: #d33939;
+ --ion-color-danger-tint: #f25454;
+
+ /** dark **/
+ --ion-color-dark: #222428;
+ --ion-color-dark-rgb: 34, 34, 34;
+ --ion-color-dark-contrast: #ffffff;
+ --ion-color-dark-contrast-rgb: 255, 255, 255;
+ --ion-color-dark-shade: #1e2023;
+ --ion-color-dark-tint: #383a3e;
+
+ /** medium **/
+ --ion-color-medium: #989aa2;
+ --ion-color-medium-rgb: 152, 154, 162;
+ --ion-color-medium-contrast: #ffffff;
+ --ion-color-medium-contrast-rgb: 255, 255, 255;
+ --ion-color-medium-shade: #86888f;
+ --ion-color-medium-tint: #a2a4ab;
+
+ /** light **/
+ --ion-color-light: #f4f5f8;
+ --ion-color-light-rgb: 244, 244, 244;
+ --ion-color-light-contrast: #000000;
+ --ion-color-light-contrast-rgb: 0, 0, 0;
+ --ion-color-light-shade: #d7d8da;
+ --ion-color-light-tint: #f5f6f9;
+}
diff --git a/src/tsconfig.app.json b/src/tsconfig.app.json
new file mode 100644
index 00000000..fb7c566b
--- /dev/null
+++ b/src/tsconfig.app.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../out-tsc/app",
+ "types": []
+ },
+ "exclude": ["test.ts", "**/*.spec.ts"]
+}
diff --git a/src/tsconfig.spec.json b/src/tsconfig.spec.json
new file mode 100644
index 00000000..11e185d3
--- /dev/null
+++ b/src/tsconfig.spec.json
@@ -0,0 +1,9 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../out-tsc/spec",
+ "types": ["jasmine", "node"]
+ },
+ "files": ["test.ts", "zone-flags.ts", "polyfills.ts"],
+ "include": ["**/*.spec.ts", "**/*.d.ts"]
+}
diff --git a/src/tslint.json b/src/tslint.json
new file mode 100644
index 00000000..94e945d9
--- /dev/null
+++ b/src/tslint.json
@@ -0,0 +1,7 @@
+{
+ "extends": "../tslint.json",
+ "rules": {
+ "directive-selector": [true, "attribute", "app", "camelCase"],
+ "component-selector": [true, "element", "app", "page", "kebab-case"]
+ }
+}
diff --git a/src/validators/mnemonic.validator.ts b/src/validators/mnemonic.validator.ts
deleted file mode 100644
index 65e7568d..00000000
--- a/src/validators/mnemonic.validator.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { FormControl } from '@angular/forms'
-import * as bip39 from 'bip39'
-import { BIP39Signer } from '../models/BIP39Signer'
-
-export class MnemonicValidator {
- static checkMnemonic(mnemonic, wordlist) {
- const words = BIP39Signer.prepareMnemonic(mnemonic).split(' ')
-
- if (words.length % 3 !== 0) throw new Error('invalid mnemonic')
-
- words.forEach(word => {
- const index = wordlist.indexOf(word)
- if (index === -1) throw new Error('invalid mnemonic')
- })
- }
-
- static isValidShare(control: FormControl): any {
- try {
- MnemonicValidator.checkMnemonic(control.value, bip39.wordlists.EN)
- } catch (e) {
- return {
- 'not a social mnemonic share': true
- }
- }
-
- return null
- }
-
- static isValid(control: FormControl): any {
- if (control.value && BIP39Signer.validateMnemonic(control.value)) {
- return null
- }
-
- return {
- 'not a mnemonic': true
- }
- }
-}
diff --git a/src/zone-flags.ts b/src/zone-flags.ts
new file mode 100644
index 00000000..c4b5cdda
--- /dev/null
+++ b/src/zone-flags.ts
@@ -0,0 +1,5 @@
+/**
+ * Prevents Angular change detection from
+ * running with certain Web Component callbacks
+ */
+;(window as any).__Zone_disable_customElements = true
diff --git a/test-config/karma-test-shim.js b/test-config/karma-test-shim.js
deleted file mode 100755
index 3764018a..00000000
--- a/test-config/karma-test-shim.js
+++ /dev/null
@@ -1,21 +0,0 @@
-Error.stackTraceLimit = Infinity
-
-require('core-js/es6')
-require('core-js/es7/reflect')
-
-require('zone.js/dist/zone')
-require('zone.js/dist/long-stack-trace-zone')
-require('zone.js/dist/proxy')
-require('zone.js/dist/sync-test')
-require('zone.js/dist/jasmine-patch')
-require('zone.js/dist/async-test')
-require('zone.js/dist/fake-async-test')
-
-const appContext = require.context('../src', true, /\.spec\.ts/)
-
-appContext.keys().forEach(appContext)
-
-const testing = require('@angular/core/testing')
-const browser = require('@angular/platform-browser-dynamic/testing')
-
-testing.TestBed.initTestEnvironment(browser.BrowserDynamicTestingModule, browser.platformBrowserDynamicTesting())
diff --git a/test-config/karma.conf.js b/test-config/karma.conf.js
deleted file mode 100755
index cdd19905..00000000
--- a/test-config/karma.conf.js
+++ /dev/null
@@ -1,72 +0,0 @@
-var webpackConfig = require('./webpack.test.js')
-
-// inject chrome headless using puppeteer
-process.env.CHROME_BIN = require('puppeteer').executablePath()
-
-module.exports = function(config) {
- var _config = {
- basePath: '../',
-
- frameworks: ['jasmine'],
-
- files: [
- {
- pattern: './test-config/karma-test-shim.js',
- watched: true
- },
- {
- pattern: './src/assets/**/*',
- watched: false,
- included: false,
- served: true,
- nocache: false
- },
- { pattern: 'node_modules/rxjs/**/*', included: false, watched: false }
- ],
-
- proxies: {
- '/assets': '/base/src/assets'
- },
-
- preprocessors: {
- './test-config/karma-test-shim.js': ['webpack', 'sourcemap']
- },
-
- webpack: webpackConfig,
-
- webpackMiddleware: {
- stats: 'errors-only'
- },
-
- webpackServer: {
- noInfo: true
- },
-
- browserConsoleLogOptions: {
- level: 'log',
- format: '%b %T: %m',
- terminal: true
- },
-
- coverageIstanbulReporter: {
- reports: ['text', 'lcovonly'],
- fixWebpackSourcePaths: true
- },
-
- reporters: config.coverage ? ['spec', 'coverage-istanbul'] : ['spec'],
- port: 9876,
- colors: true,
- logLevel: config.LOG_INFO,
- autoWatch: true,
- browsers: ['ChromeHeadlessNoSandbox'],
- customLaunchers: {
- ChromeHeadlessNoSandbox: {
- base: 'ChromeHeadless',
- flags: ['--no-sandbox']
- }
- },
- singleRun: false
- }
-
- config.set(_config)
-}
diff --git a/test-config/mocks-ionic.ts b/test-config/mocks-ionic.ts
deleted file mode 100755
index 21ca9603..00000000
--- a/test-config/mocks-ionic.ts
+++ /dev/null
@@ -1,144 +0,0 @@
-import { StatusBar } from '@ionic-native/status-bar'
-import { SplashScreen } from '@ionic-native/splash-screen'
-
-export const AlertControllerMock = jasmine.createSpyObj('AlertController', {
- create: jasmine.createSpyObj('Alert', {
- present: () => Promise.resolve()
- })
-})
-
-export class DeviceProviderMock {
- isRooted = 0
-
- checkForRoot() {
- return Promise.resolve(this.isRooted)
- }
-
- checkForElectron() {
- return false
- }
-}
-
-export class NavParamsMock {
- static params = {}
-
- public get(key: string): any {
- if (NavParamsMock.params[key]) {
- return NavParamsMock.params[key]
- }
- return undefined
- }
-
- static setParams(value) {
- NavParamsMock.params = value
- }
-}
-
-export class PlatformMock {
- public ready(): Promise {
- return new Promise(resolve => {
- resolve('READY')
- })
- }
-
- public getQueryParam() {
- return true
- }
-
- public registerBackButtonAction(fn: Function, priority?: number): Function {
- return () => true
- }
-
- public hasFocus(ele: HTMLElement): boolean {
- return true
- }
-
- public doc(): HTMLDocument {
- return document
- }
-
- public is(): boolean {
- return true
- }
-
- public getElementComputedStyle(container: any): any {
- return {
- paddingLeft: '10',
- paddingTop: '10',
- paddingRight: '10',
- paddingBottom: '10'
- }
- }
-
- public onResize(callback: any) {
- return callback
- }
-
- public registerListener(ele: any, eventName: string, callback: any): Function {
- return () => true
- }
-
- public win(): Window {
- return window
- }
-
- public raf(callback: any): number {
- return 1
- }
-
- public timeout(callback: any, timer: number): any {
- return setTimeout(callback, timer)
- }
-
- public cancelTimeout(id: any) {
- // do nothing
- }
-
- public getActiveElement(): any {
- return document['activeElement']
- }
-}
-
-export class StatusBarMock extends StatusBar {
- styleDefault() {
- return
- }
-}
-
-export class SplashScreenMock extends SplashScreen {
- hide() {
- return
- }
-}
-
-export class NavMock {
- public pop(): any {
- return new Promise(function(resolve: Function): void {
- resolve()
- })
- }
-
- public push(): any {
- return new Promise(function(resolve: Function): void {
- resolve()
- })
- }
-
- public getActive(): any {
- return {
- instance: {
- model: 'something'
- }
- }
- }
-
- public setRoot(): any {
- return true
- }
-
- public registerChildNav(nav: any): void {
- return
- }
-}
-
-export class DeepLinkerMock {}
diff --git a/test-config/protractor-ci.conf.js b/test-config/protractor-ci.conf.js
deleted file mode 100644
index 4c44e58a..00000000
--- a/test-config/protractor-ci.conf.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// Protractor configuration file, see link for more information
-// https://github.com/angular/protractor/blob/master/lib/config.ts
-
-/*global jasmine */
-const baseConfig = require('./protractor.conf')
-const SpecReporter = require('jasmine-spec-reporter').SpecReporter
-
-baseConfig.config.directConnect = false
-baseConfig.config.seleniumAddress = 'http://selenium:4444/wd/hub'
-
-exports.config = baseConfig.config
diff --git a/test-config/protractor-docker.conf.js b/test-config/protractor-docker.conf.js
deleted file mode 100644
index dd365288..00000000
--- a/test-config/protractor-docker.conf.js
+++ /dev/null
@@ -1,11 +0,0 @@
-// Protractor configuration file, see link for more information
-// https://github.com/angular/protractor/blob/master/lib/config.ts
-
-/*global jasmine */
-const baseConfig = require('./protractor.conf')
-const SpecReporter = require('jasmine-spec-reporter').SpecReporter
-
-baseConfig.config.directConnect = false
-baseConfig.config.seleniumAddress = 'http://localhost:4444/wd/hub'
-
-exports.config = baseConfig.config
diff --git a/test-config/protractor.conf.js b/test-config/protractor.conf.js
deleted file mode 100755
index f9889d89..00000000
--- a/test-config/protractor.conf.js
+++ /dev/null
@@ -1,50 +0,0 @@
-// Protractor configuration file, see link for more information
-// https://github.com/angular/protractor/blob/master/lib/config.ts
-
-/*global jasmine */
-const SpecReporter = require('jasmine-spec-reporter').SpecReporter
-const HtmlScreenshotReporter = require('protractor-jasmine2-screenshot-reporter')
-
-const screenshotReporter = new HtmlScreenshotReporter({
- dest: 'e2e-reports/screenshots',
- filename: 'e2e-report.html'
-})
-
-exports.config = {
- allScriptsTimeout: 11000,
- specs: ['../e2e/**/*.e2e-spec.ts'],
- capabilities: {
- browserName: 'chrome',
- chromeOptions: {
- prefs: { 'profile.managed_default_content_settings.media_stream': 1 },
- args: ['--use-fake-device-for-media-stream', '--use-fake-ui-for-media-stream']
- // args: [ 'no-sandbox', '--headless', '--disable-gpu', '--window-size=375,667' ]
- }
- },
- directConnect: true,
- baseUrl: 'http://localhost:8100/',
- framework: 'jasmine',
- jasmineNodeOpts: {
- showColors: true,
- defaultTimeoutInterval: 30000,
- print: function() {}
- },
- useAllAngular2AppRoots: true,
- beforeLaunch: function() {
- require('ts-node').register({
- project: 'e2e'
- })
- return new Promise(function(resolve) {
- screenshotReporter.beforeLaunch(resolve)
- })
- },
- onPrepare: function() {
- jasmine.getEnv().addReporter(new SpecReporter())
- jasmine.getEnv().addReporter(screenshotReporter)
- },
- afterLaunch: function(exitCode) {
- return new Promise(function(resolve) {
- screenshotReporter.afterLaunch(resolve.bind(this, exitCode))
- })
- }
-}
diff --git a/test-config/storage-mock.ts b/test-config/storage-mock.ts
deleted file mode 100644
index d64d69d3..00000000
--- a/test-config/storage-mock.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-export class StorageMock {
- private data = {
- 'airgap-secret-list': [
- {
- id: '3e14638e-319b-4280-8c34-6e6f0a10df6e',
- label: 'asdsad',
- isParanoia: false,
- wallets: [
- {
- protocolIdentifier: 'eth',
- publicKey: '03ea568e601e6e949a3e5c60e0f4ee94383e4b083c5ab64b66e70372df008cbbe6',
- isExtendedPublicKey: false,
- derivationPath: "m/44'/60'/0'/0/0",
- addresses: []
- }
- ]
- }
- ]
- }
-
- get(key: string) {
- return new Promise((resolve, reject) => {
- resolve(this.data[key])
- })
- }
-
- set(key: string, value: any) {
- return new Promise((resolve, reject) => {
- this.data[key] = value
- resolve()
- })
- }
-}
diff --git a/test-config/unit-test-helper.ts b/test-config/unit-test-helper.ts
deleted file mode 100644
index c0be112e..00000000
--- a/test-config/unit-test-helper.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import { ReactiveFormsModule, FormsModule } from '@angular/forms'
-import { IonicModule, Platform, NavController } from 'ionic-angular'
-import { TestModuleMetadata } from '@angular/core/testing'
-import { StorageMock } from './storage-mock'
-import { Storage, IonicStorageModule } from '@ionic/storage'
-import { AmountConverterPipe } from '../src/components/pipes/amount-converter/amount-converter.pipe'
-import { FeeConverterPipe } from '../src/components/pipes/fee-converter/fee-converter.pipe'
-import { CommonModule } from '@angular/common'
-import { TranslateModule, TranslateLoader, TranslateFakeLoader } from '@ngx-translate/core'
-import { MaterialIconsModule } from 'ionic2-material-icons'
-
-export class UnitHelper {
- static testBed(testBed: TestModuleMetadata, useIonicOnlyTestBed = false): TestModuleMetadata {
- const mandatoryDeclarations: any[] = []
- const mandatoryImports: any[] = [
- CommonModule,
- ReactiveFormsModule,
- IonicModule,
- FormsModule,
- IonicStorageModule.forRoot({
- name: '__test_airgap_storage',
- driverOrder: ['localstorage']
- }),
- MaterialIconsModule,
- TranslateModule.forRoot({
- loader: { provide: TranslateLoader, useClass: TranslateFakeLoader }
- })
- ]
- const mandatoryProviders: any[] = [NavController, Platform]
-
- if (!useIonicOnlyTestBed) {
- mandatoryProviders.push({ provide: Storage, useClass: StorageMock })
- mandatoryDeclarations.push(AmountConverterPipe, FeeConverterPipe)
- mandatoryImports.push()
- }
-
- testBed.declarations = [...(testBed.declarations || []), ...mandatoryDeclarations]
- testBed.imports = [...(testBed.imports || []), ...mandatoryImports]
- testBed.providers = [...(testBed.providers || []), ...mandatoryProviders]
-
- return testBed
- }
-}
diff --git a/test-config/wallet-mock.ts b/test-config/wallet-mock.ts
deleted file mode 100644
index 2eac399b..00000000
--- a/test-config/wallet-mock.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { AirGapWallet, UnsignedTransaction } from 'airgap-coin-lib'
-
-class WalletMock {
- ethWallet: AirGapWallet = new AirGapWallet(
- 'eth',
- '03ea568e601e6e949a3e5c60e0f4ee94383e4b083c5ab64b66e70372df008cbbe6',
- false,
- "m/44'/60'/0'/0/0"
- )
- ethTransaction: UnsignedTransaction = {
- callback: '',
- publicKey: '03ea568e601e6e949a3e5c60e0f4ee94383e4b083c5ab64b66e70372df008cbbe6',
- transaction: {
- nonce: '0x0',
- gasPrice: '0x4a817c800',
- gasLimit: '0x5208',
- to: '0x4A1E1D37462a422873BFCCb1e705B05CC4bd922e',
- value: '0xde0b6b3a7640000',
- chainId: 1,
- data: '0x'
- }
- }
-}
-
-export { WalletMock }
diff --git a/test-config/webpack.test.js b/test-config/webpack.test.js
deleted file mode 100755
index b4c01304..00000000
--- a/test-config/webpack.test.js
+++ /dev/null
@@ -1,64 +0,0 @@
-const webpack = require('webpack')
-const path = require('path')
-
-module.exports = {
- devtool: 'inline-source-map',
-
- resolve: {
- alias: {
- '@app/env': path.resolve('./src/environments/environment.test.ts')
- },
- extensions: ['.ts', '.js']
- },
-
- module: {
- rules: [
- {
- test: /\.ts$/,
- loaders: [
- {
- loader: 'ts-loader'
- },
- 'angular2-template-loader'
- ]
- },
- {
- test: /.+\.ts$/,
- exclude: /(index.ts|mocks.ts|\.spec\.ts$)/,
- loader: 'istanbul-instrumenter-loader',
- enforce: 'post',
- query: {
- esModules: true
- }
- },
- {
- test: /\.html$/,
- loader: 'html-loader?attrs=false'
- },
- {
- test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
- loader: 'null-loader'
- }
- ]
- },
-
- plugins: [
- new webpack.ContextReplacementPlugin(
- // The (\\|\/) piece accounts for path separators in *nix and Windows
- /(ionic-angular)|(angular(\\|\/)core(\\|\/)@angular)/,
- root('./src'), // location of your src
- {} // a map of your routes
- )
- ],
-
- // fixes missing 'fs' module from vcards-js
- node: {
- fs: 'empty',
- net: 'empty',
- tls: 'empty'
- }
-}
-
-function root(localPath) {
- return path.resolve(__dirname, localPath)
-}
diff --git a/tsconfig.json b/tsconfig.json
index 11c4d495..03728ef3 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,21 +1,38 @@
{
+ "compileOnSave": false,
"compilerOptions": {
- "allowSyntheticDefaultImports": true,
+ "baseUrl": "./",
+ "outDir": "./dist/out-tsc",
+ "sourceMap": true,
"declaration": false,
- "emitDecoratorMetadata": true,
- "experimentalDecorators": true,
- "lib": ["dom", "es2015"],
"module": "es2015",
"moduleResolution": "node",
- "sourceMap": true,
+ "emitDecoratorMetadata": true,
+ "experimentalDecorators": true,
+ "importHelpers": true,
+ "downlevelIteration": true, // To enable [].entries()
"target": "es5",
- "typeRoots": ["./node_modules/@types"],
- "types": ["jasmine", "node"]
+ "typeRoots": ["node_modules/@types"],
+ "lib": ["es2018", "dom"]
+
+ /* Strict Type-Checking Options */
+ // "strict": true /* Enable all strict type-checking options. */,
+ // "noImplicitAny": true /* Raise error on expressions and declarations with an implied 'any' type. */,
+ // "strictNullChecks": true /* Enable strict null checks. */,
+ // "strictFunctionTypes": true /* Enable strict checking of function types. */,
+ // "strictBindCallApply": true /* Enable strict 'bind', 'call', and 'apply' methods on functions. */,
+ // "strictPropertyInitialization": true /* Enable strict checking of property initialization in classes. */,
+ // "noImplicitThis": true /* Raise error on 'this' expressions with an implied 'any' type. */,
+ // "alwaysStrict": true /* Parse in strict mode and emit "use strict" for each source file. */,
+
+ /* Additional Checks */
+ // "noUnusedLocals": true /* Report errors on unused locals. */,
+ // "noUnusedParameters": true /* Report errors on unused parameters. */,
+ // "noImplicitReturns": true /* Report error when not all code paths in function return a value. */,
+ // "noFallthroughCasesInSwitch": true /* Report errors for fallthrough cases in switch statement. */
},
- "include": ["src/**/*.ts"],
- "exclude": ["node_modules", "src/**/*.spec.ts", "src/**/__tests__/*.ts"],
- "compileOnSave": false,
- "atom": {
- "rewriteTsconfig": false
+ "angularCompilerOptions": {
+ "strictInjectionParameters": true,
+ "fullTemplateTypeCheck": true
}
}
diff --git a/tslint.json b/tslint.json
index 2459272a..439a523a 100644
--- a/tslint.json
+++ b/tslint.json
@@ -1,4 +1,47 @@
{
- "extends": "typestrict",
- "rulesDirectory": ["tslint-config-prettier"]
+ "extends": "tslint:recommended",
+ "rulesDirectory": ["codelyzer"],
+ "rules": {
+ "array-type": false,
+ "arrow-parens": false,
+ "deprecation": {
+ "severity": "warn"
+ },
+ "import-blacklist": [true, "rxjs/Rx"],
+ "interface-name": false,
+ "max-classes-per-file": false,
+ "max-line-length": [true, 140],
+ "member-access": false,
+ "member-ordering": [
+ true,
+ {
+ "order": ["static-field", "instance-field", "static-method", "instance-method"]
+ }
+ ],
+ "no-consecutive-blank-lines": false,
+ "no-console": [true, "debug", "info", "time", "timeEnd", "trace"],
+ "no-empty": false,
+ "no-inferrable-types": [true, "ignore-params"],
+ "no-non-null-assertion": true,
+ "no-redundant-jsdoc": true,
+ "no-switch-case-fall-through": true,
+ "no-use-before-declare": true,
+ "no-var-requires": false,
+ "object-literal-key-quotes": [true, "as-needed"],
+ "object-literal-sort-keys": false,
+ "ordered-imports": false,
+ "quotemark": [true, "single"],
+ "trailing-comma": false,
+ "no-output-on-prefix": true,
+ "use-input-property-decorator": true,
+ "use-output-property-decorator": true,
+ "use-host-property-decorator": true,
+ "no-input-rename": true,
+ "no-output-rename": true,
+ "use-life-cycle-interface": true,
+ "use-pipe-transform-interface": true,
+ "one-variable-per-declaration": false,
+ "component-class-suffix": [true, "Page", "Component"],
+ "directive-class-suffix": true
+ }
}
diff --git a/uglifyjs.config.js b/uglifyjs.config.js
deleted file mode 100644
index eb835774..00000000
--- a/uglifyjs.config.js
+++ /dev/null
@@ -1,16 +0,0 @@
-module.exports = {
- /**
- * mangle: uglify 2's mangle option
- */
- mangle: {
- reserved: ['Buffer', 'BigInteger', 'Point', 'ECPubKey', 'ECKey', 'sha512_asm', 'asm', 'ECPair', 'HDNode', 'BigNumber']
- },
-
- /**
- * compress: uglify 2's compress option
- */
- compress: {
- toplevel: true,
- pure_getters: true
- }
-}