From 37dc363601208f5d5677827fc9e6734fddc24e00 Mon Sep 17 00:00:00 2001 From: VolkerSchiewe Date: Wed, 8 May 2019 15:27:09 +0200 Subject: [PATCH 1/5] streamline app initialization --- .eslintrc.js | 1 + android/app/build.gradle | 2 +- app.json | 2 +- index.js | 5 - index.ts | 5 + package.json | 5 +- src/App.tsx | 30 ++-- src/NavigatorContainer.tsx | 7 +- src/actions/account/index.ts | 40 +++--- src/actions/generic/index.ts | 17 ++- src/actions/navigation/index.ts | 5 +- src/actions/registration/index.ts | 4 +- src/actions/sso/index.ts | 18 +-- src/backendMiddleware.ts | 24 ++-- src/config.ts | 16 +++ src/lib/storage/storage.ts | 17 ++- src/lib/util.ts | 22 +-- src/store.ts | 44 +++--- webpack.haul.js | 2 +- yarn.lock | 223 +++++------------------------- 20 files changed, 165 insertions(+), 324 deletions(-) delete mode 100644 index.js create mode 100644 index.ts create mode 100644 src/config.ts diff --git a/.eslintrc.js b/.eslintrc.js index 06737d6acd..db5f541465 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -68,5 +68,6 @@ module.exports = { // use ES6-style imports instead '@typescript-eslint/no-triple-slash-reference': ['error'], '@typescript-eslint/no-var-requires': ['off'], + '@typescript-eslint/no-use-before-define': ['off'] }, } diff --git a/android/app/build.gradle b/android/app/build.gradle index 4c680955f7..4c5bc028ff 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -74,7 +74,7 @@ import com.android.build.OutputFile project.ext.react = [ cliPath: "node_modules/haul/bin/cli.js", extraPackagerArgs: ['--minify', 'false'], - entryFile: "index.js" + entryFile: "index.ts" ] apply from: "../../node_modules/react-native/react.gradle" diff --git a/app.json b/app.json index 6902a3fc1c..a6375f7df4 100644 --- a/app.json +++ b/app.json @@ -15,7 +15,7 @@ "ts", "tsx" ], - "transformer": "node_modules/react-native-typescript-transformer/index.js" + "transformer": "node_modules/react-native-typescript-transformer/index.ts" } }, "name": "smartwallet", diff --git a/index.js b/index.js deleted file mode 100644 index bc28b8fd4a..0000000000 --- a/index.js +++ /dev/null @@ -1,5 +0,0 @@ -import { AppRegistry } from 'react-native'; - -import App from 'src/App'; - -AppRegistry.registerComponent('jolocomwallet', () => App); diff --git a/index.ts b/index.ts new file mode 100644 index 0000000000..06948346fc --- /dev/null +++ b/index.ts @@ -0,0 +1,5 @@ +import { AppRegistry } from 'react-native' + +import App from 'src/App' + +AppRegistry.registerComponent('jolocomwallet', () => App) diff --git a/package.json b/package.json index b4e3065b57..ee85cef0ca 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,8 @@ "clean:ios": "cd ios && xcodebuild clean", "clean:react": "rm -rf $TMP/react*", "clean:all": "yarn run clean:ios && yarn run clean:android && yarn run clean:react && yarn run clean:node", - "build:ios": "haul bundle --entry-file='index.js' --bundle-output='./ios/smartwallet/main.jsbundle' --minify=false --dev=false --platform='ios' --assets-dest='./ios'", + "build:ios": "haul bundle --entry-file='index.ts' --bundle-output='./ios/smartwallet/main.jsbundle' --minify=false --dev=false --platform='ios' --assets-dest='./ios'", + "build:android": "haul bundle --entry-file='index.ts' --minify=true --dev=false --platform='android'", "test": "node node_modules/jest/bin/jest.js", "format": "eslint --fix --ext .ts --ext .tsx ." }, @@ -124,9 +125,7 @@ "react-native-languages": "^3.0.1", "react-native-material-textfield": "^0.12.0", "react-native-material-ui": "^1.22.2", - "react-native-md-textinput": "^2.0.4", "react-native-qrcode-scanner": "^1.0.1", - "react-native-remote-svg": "^1.2.0", "react-native-snap-carousel": "^3.6.0", "react-native-splash-screen": "3.0.6", "react-native-sqlite-storage": "^3.3.4", diff --git a/src/App.tsx b/src/App.tsx index 7183fdb507..89e900ccd2 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,28 +1,22 @@ import React from 'react' import { Provider } from 'react-redux' import { Navigator } from 'src/NavigatorContainer' -import { store } from 'src/store' import { JolocomTheme } from 'src/styles/jolocom-theme' -import SplashScreen from 'react-native-splash-screen' +import { initStore } from './store' const { ThemeProvider } = require('react-native-material-ui') const assign = require('object.assign/implementation') - Object.assign = assign -// tslint:disable-next-line: no-default-export -export default class App extends React.Component { - componentDidMount() { - SplashScreen.hide() - } - - render() { - return ( - - - - - - ) - } +const App = () => { + const store = initStore() + return ( + + + + + + ) } + +export default App diff --git a/src/NavigatorContainer.tsx b/src/NavigatorContainer.tsx index 2011943374..a4b3098845 100644 --- a/src/NavigatorContainer.tsx +++ b/src/NavigatorContainer.tsx @@ -9,7 +9,7 @@ import { BackHandler, Linking, Platform, StatusBar } from 'react-native' import { AnyAction } from 'redux' import { Routes } from 'src/routes' import { RootState } from 'src/reducers/' -import { navigationActions, accountActions } from 'src/actions/' +import { navigationActions, accountActions, genericActions } from 'src/actions/' import { BottomActionBar } from './ui/generic/' import { routeList } from './routeList' import { LoadingSpinner } from 'src/ui/generic/loadingSpinner' @@ -24,6 +24,7 @@ interface ConnectProps { goBack: () => void handleDeepLink: (url: string) => void checkIfAccountExists: () => void + initApp: () => Promise } interface OwnProps { @@ -45,7 +46,8 @@ export class NavigatorContainer extends React.Component { this.addListener = createReduxBoundAddListener('root') } - UNSAFE_componentWillMount() { + async UNSAFE_componentWillMount() { + await this.props.initApp() BackHandler.addEventListener('hardwareBackPress', this.navigateBack) if (Platform.OS === 'android') { Linking.getInitialURL().then((url: string) => { @@ -127,6 +129,7 @@ const mapDispatchToProps = (dispatch: Function) => ({ navigationActions.navigate({ routeName: routeList.QRCodeScanner }), ), checkIfAccountExists: () => dispatch(accountActions.checkIdentityExists()), + initApp: async () => await dispatch(genericActions.initApp()), }) export const Navigator = connect( diff --git a/src/actions/account/index.ts b/src/actions/account/index.ts index 1b9c09f94b..c31d72f06c 100644 --- a/src/actions/account/index.ts +++ b/src/actions/account/index.ts @@ -8,9 +8,9 @@ import { getClaimMetadataByCredentialType, getCredentialUiCategory, getUiCredentialTypeByType, - instantiateIdentityWallet, } from '../../lib/util' import { cancelReceiving } from '../sso' +import { JolocomLib } from 'jolocom-lib' export const setDid = (did: string) => ({ type: 'DID_SET', @@ -42,17 +42,29 @@ export const checkIdentityExists = () => async ( getState: Function, backendMiddleware: BackendMiddleware, ) => { - const { storageLib } = backendMiddleware - try { - const personas = await storageLib.get.persona() - if (!personas.length) { + const { keyChainLib, storageLib, encryptionLib } = backendMiddleware + const encryptedEntropy = await storageLib.get.encryptedSeed() + if (!encryptedEntropy) { dispatch(toggleLoading(false)) + dispatch( + navigationActions.navigatorReset({ routeName: routeList.Landing }), + ) return } - - dispatch(setDid(personas[0].did)) - await instantiateIdentityWallet(backendMiddleware) + const password = await keyChainLib.getPassword() + const decryptedSeed = encryptionLib.decryptWithPass({ + cipher: encryptedEntropy, + pass: password, + }) + // TODO: rework the seed param on lib, currently cleartext seed is being passed around. Bad. + const userVault = new JolocomLib.KeyProvider( + Buffer.from(decryptedSeed, 'hex'), + password, + ) + await backendMiddleware.setIdentityWallet(userVault, password) + const identityWallet = backendMiddleware.identityWallet + dispatch(setDid(identityWallet.identity.did)) dispatch(toggleLoading(false)) dispatch(navigationActions.navigatorReset({ routeName: routeList.Home })) @@ -64,18 +76,6 @@ export const checkIdentityExists = () => async ( } } -export const setIdentityWallet = () => async ( - dispatch: Dispatch, - getState: Function, - backendMiddleware: BackendMiddleware, -) => { - try { - await instantiateIdentityWallet(backendMiddleware) - } catch (err) { - dispatch(genericActions.showErrorScreen(err)) - } -} - export const openClaimDetails = (claim: DecoratedClaims) => ( dispatch: Dispatch, ) => { diff --git a/src/actions/generic/index.ts b/src/actions/generic/index.ts index f823a789f5..348d79e09c 100644 --- a/src/actions/generic/index.ts +++ b/src/actions/generic/index.ts @@ -1,6 +1,8 @@ import { navigationActions } from 'src/actions/' -import { Dispatch, AnyAction } from 'redux' +import { AnyAction, Dispatch } from 'redux' import { routeList } from 'src/routeList' +import { BackendMiddleware } from '../../backendMiddleware' +import SplashScreen from 'react-native-splash-screen' export const showErrorScreen = (error: Error, returnTo = routeList.Home) => ( dispatch: Dispatch, @@ -11,3 +13,16 @@ export const showErrorScreen = (error: Error, returnTo = routeList.Home) => ( params: { returnTo, error }, }), ) + +export const initApp = () => async ( + dispatch: Dispatch, + getState: Function, + backendMiddleware: BackendMiddleware, +) => { + try { + await backendMiddleware.initStorage() + SplashScreen.hide() + } catch (e) { + dispatch(showErrorScreen(e, routeList.Landing)) + } +} diff --git a/src/actions/navigation/index.ts b/src/actions/navigation/index.ts index b43fcdfc34..14dcd99283 100644 --- a/src/actions/navigation/index.ts +++ b/src/actions/navigation/index.ts @@ -6,7 +6,6 @@ import { AnyAction, Dispatch } from 'redux' import { ssoActions } from 'src/actions/' import { setDid, toggleLoading } from '../account' import { BackendMiddleware } from 'src/backendMiddleware' -import { instantiateIdentityWallet } from 'src/lib/util' import { setDeepLinkLoading } from '../sso' export const navigate = (options: NavigationNavigateActionPayload) => @@ -33,7 +32,7 @@ export const handleDeepLink = (url: string) => async ( dispatch(toggleLoading(true)) const route: string = url.replace(/.*?:\/\//g, '') const params: string = (route.match(/\/([^\/]+)\/?$/) as string[])[1] || '' - const routeName = route!.split('/')[0] + const routeName = route.split('/')[0] if ( routeName === 'consent' || @@ -49,7 +48,7 @@ export const handleDeepLink = (url: string) => async ( } dispatch(setDid(personas[0].did)) - await instantiateIdentityWallet(backendMiddleware) + // await instantiateIdentityWallet(backendMiddleware) dispatch(ssoActions.parseJWT(params)) } } diff --git a/src/actions/registration/index.ts b/src/actions/registration/index.ts index 6dc453b7a2..4c9c0e12dd 100644 --- a/src/actions/registration/index.ts +++ b/src/actions/registration/index.ts @@ -1,5 +1,5 @@ import { AnyAction, Dispatch } from 'redux' -import { navigationActions, genericActions, accountActions } from 'src/actions/' +import { navigationActions, genericActions } from 'src/actions/' import { BackendMiddleware } from 'src/backendMiddleware' import { routeList } from 'src/routeList' import * as loading from 'src/actions/registration/loadingStages' @@ -99,7 +99,7 @@ export const createIdentity = (encodedEntropy: string) => async ( await storageLib.store.persona(personaData) dispatch(setDid(identityWallet.identity.did)) dispatch(setLoadingMsg(loading.loadingStages[3])) - dispatch(accountActions.setIdentityWallet()) + await backendMiddleware.setIdentityWallet(userVault, password) return dispatch( navigationActions.navigatorReset({ diff --git a/src/actions/sso/index.ts b/src/actions/sso/index.ts index 2aa00bf815..fe68899c84 100644 --- a/src/actions/sso/index.ts +++ b/src/actions/sso/index.ts @@ -20,7 +20,6 @@ import { CredentialsReceive } from 'jolocom-lib/js/interactionTokens/credentials import { CredentialRequest } from 'jolocom-lib/js/interactionTokens/credentialRequest' import { getIssuerPublicKey } from 'jolocom-lib/js/utils/helper' import { SoftwareKeyProvider } from 'jolocom-lib/js/vaultedKeyProvider/softwareProvider' -import { KeyTypes } from 'jolocom-lib/js/vaultedKeyProvider/types' import { consumePaymentRequest } from './paymentRequest' import { Authentication } from 'jolocom-lib/js/interactionTokens/authentication' import { consumeAuthenticationRequest } from './authenticationRequest' @@ -285,24 +284,11 @@ export const sendCredentialResponse = ( getState: Function, backendMiddleware: BackendMiddleware, ) => { - const { storageLib, keyChainLib, encryptionLib, registry } = backendMiddleware + const { storageLib, keyChainLib, identityWallet } = backendMiddleware const { activeCredentialRequest } = getState().sso try { const password = await keyChainLib.getPassword() - const decryptedSeed = encryptionLib.decryptWithPass({ - cipher: await storageLib.get.encryptedSeed(), - pass: password, - }) - const userVault = new SoftwareKeyProvider( - Buffer.from(decryptedSeed, 'hex'), - password, - ) - - const wallet = await registry.authenticate(userVault, { - derivationPath: KeyTypes.jolocomIdentityKey, - encryptionPass: password, - }) const credentials = await Promise.all( selectedCredentials.map( @@ -316,7 +302,7 @@ export const sendCredentialResponse = ( const request = JolocomLib.parse.interactionToken.fromJWT( activeCredentialRequest.requestJWT, ) - const credentialResponse = await wallet.create.interactionTokens.response.share( + const credentialResponse = await identityWallet.create.interactionTokens.response.share( { callbackURL: activeCredentialRequest.callbackURL, suppliedCredentials: jsonCredentials, diff --git a/src/backendMiddleware.ts b/src/backendMiddleware.ts index 4cb6872c59..080289107e 100644 --- a/src/backendMiddleware.ts +++ b/src/backendMiddleware.ts @@ -8,18 +8,18 @@ import { SoftwareKeyProvider } from 'jolocom-lib/js/vaultedKeyProvider/softwareP import { IRegistry } from 'jolocom-lib/js/registries/types' import { createJolocomRegistry } from 'jolocom-lib/js/registries/jolocomRegistry' import { IpfsCustomConnector } from './lib/ipfs' -import {jolocomContractsAdapter} from 'jolocom-lib/js/contracts/contractsAdapter' -import {jolocomEthereumResolver} from 'jolocom-lib/js/ethereum/ethereum' -import {jolocomContractsGateway} from 'jolocom-lib/js/contracts/contractsGateway' +import { jolocomContractsAdapter } from 'jolocom-lib/js/contracts/contractsAdapter' +import { jolocomEthereumResolver } from 'jolocom-lib/js/ethereum/ethereum' +import { jolocomContractsGateway } from 'jolocom-lib/js/contracts/contractsGateway' export class BackendMiddleware { - identityWallet!: IdentityWallet - storageLib: Storage - encryptionLib: EncryptionLibInterface - keyChainLib: KeyChainInterface - registry: IRegistry + public identityWallet!: IdentityWallet + public storageLib: Storage + public encryptionLib: EncryptionLibInterface + public keyChainLib: KeyChainInterface + public registry: IRegistry - constructor(config: { + public constructor(config: { fuelingEndpoint: string typeOrmConfig: ConnectionOptions }) { @@ -40,7 +40,11 @@ export class BackendMiddleware { }) } - async setIdentityWallet( + public async initStorage(): Promise { + await this.storageLib.initConnection() + } + + public async setIdentityWallet( userVault: SoftwareKeyProvider, pass: string, ): Promise { diff --git a/src/config.ts b/src/config.ts new file mode 100644 index 0000000000..cd82036587 --- /dev/null +++ b/src/config.ts @@ -0,0 +1,16 @@ +import { ConnectionOptions } from 'typeorm/browser' +import { entityList } from './lib/storage/entities' + +const typeOrmConf: ConnectionOptions = { + type: 'react-native', + database: 'LocalSmartWalletData', + location: 'default', + logging: ['error', 'query', 'schema'], + synchronize: true, + entities: entityList, +} + +export default { + fuelingEndpoint: 'https://faucet.jolocom.com/request', + typeOrmConfig: typeOrmConf, +} diff --git a/src/lib/storage/storage.ts b/src/lib/storage/storage.ts index 9e7748cc6e..431fb7c6ec 100644 --- a/src/lib/storage/storage.ts +++ b/src/lib/storage/storage.ts @@ -33,13 +33,13 @@ export class Storage { private connection!: Connection private config: ConnectionOptions - store = { + public store = { verifiableCredential: this.storeVClaim.bind(this), persona: this.storePersonaFromJSON.bind(this), encryptedSeed: this.storeEncryptedSeed.bind(this), } - get = { + public get = { persona: this.getPersonas.bind(this), verifiableCredential: this.getVCredential.bind(this), attributesByType: this.getAttributesByType.bind(this), @@ -47,11 +47,13 @@ export class Storage { encryptedSeed: this.getEncryptedSeed.bind(this), } - delete = { + public delete = { verifiableCredential: this.deleteVCred.bind(this), } - constructor(config: ConnectionOptions) { + public initConnection = this.createConnectionIfNeeded.bind(this) + + public constructor(config: ConnectionOptions) { this.config = config } @@ -157,10 +159,13 @@ export class Storage { return entities.map(e => e.toVerifiableCredential()) } - private async getEncryptedSeed(): Promise { + private async getEncryptedSeed(): Promise { await this.createConnectionIfNeeded() const masterKeyEntity = await this.connection.manager.find(MasterKeyEntity) - return masterKeyEntity[0].encryptedEntropy + if (masterKeyEntity.length) { + return masterKeyEntity[0].encryptedEntropy + } + return null } private async storePersonaFromJSON(args: PersonaAttributes): Promise { diff --git a/src/lib/util.ts b/src/lib/util.ts index e780d32548..12dd21609f 100644 --- a/src/lib/util.ts +++ b/src/lib/util.ts @@ -1,11 +1,10 @@ -import { claimsMetadata, JolocomLib } from 'jolocom-lib' +import { claimsMetadata } from 'jolocom-lib' import { uiCategoryByCredentialType, Categories, uiCredentialTypeByType, } from './categories' import { BaseMetadata } from 'cred-types-jolocom-core' -import { BackendMiddleware } from 'src/backendMiddleware' export const getClaimMetadataByCredentialType = ( type: string, @@ -59,22 +58,3 @@ export const compareDates = (date1: Date, date2: Date): number => Date.UTC(date1.getFullYear(), date1.getMonth(), date1.getDate())) / (1000 * 60 * 60 * 24), ) - -export const instantiateIdentityWallet = async ( - backendMiddleware: BackendMiddleware, -) => { - const { keyChainLib, storageLib, encryptionLib } = backendMiddleware - - const password = await keyChainLib.getPassword() - const decryptedSeed = encryptionLib.decryptWithPass({ - cipher: await storageLib.get.encryptedSeed(), - pass: password, - }) - - // TODO: rework the seed param on lib, currently cleartext seed is being passed around. Bad. - const userVault = new JolocomLib.KeyProvider( - Buffer.from(decryptedSeed, 'hex'), - password, - ) - return await backendMiddleware.setIdentityWallet(userVault, password) -} diff --git a/src/store.ts b/src/store.ts index 2dc6ffcdde..870e7854c7 100644 --- a/src/store.ts +++ b/src/store.ts @@ -1,36 +1,24 @@ import { createStore, applyMiddleware } from 'redux' import thunk from 'redux-thunk' -import { entityList } from 'src/lib/storage/entities' import { RootState, rootReducer } from 'src/reducers' import { BackendMiddleware } from 'src/backendMiddleware' -import { ConnectionOptions } from 'typeorm/browser' +import config from 'src/config' +import { Store } from 'react-redux' -const { - createReactNavigationReduxMiddleware, -} = require('react-navigation-redux-helpers') +export function initStore(): Store<{}> { + const { + createReactNavigationReduxMiddleware, + } = require('react-navigation-redux-helpers') -const typeOrmConf: ConnectionOptions = { - type: 'react-native', - database: 'LocalSmartWalletData', - location: 'default', - logging: ['error', 'query', 'schema'], - synchronize: true, - entities: entityList, -} + createReactNavigationReduxMiddleware( + 'root', + (state: RootState) => state.navigation, + ) + const backendMiddleware = new BackendMiddleware(config) -const config = { - fuelingEndpoint: 'https://faucet.jolocom.com/request', - typeOrmConfig: typeOrmConf, + return createStore( + rootReducer, + {}, + applyMiddleware(thunk.withExtraArgument(backendMiddleware)), + ) } - -createReactNavigationReduxMiddleware( - 'root', - (state: RootState) => state.navigation, -) -const backendMiddleware = new BackendMiddleware(config) - -export const store = createStore( - rootReducer, - {}, - applyMiddleware(thunk.withExtraArgument(backendMiddleware)), -) diff --git a/webpack.haul.js b/webpack.haul.js index 70f72aea3b..3bf195bc19 100644 --- a/webpack.haul.js +++ b/webpack.haul.js @@ -1,7 +1,7 @@ const path = require('path') module.exports = ({ platform }, { module, resolve }) => ({ - entry: `./index.js`, + entry: `./index.ts`, module: { ...module, rules: [ diff --git a/yarn.lock b/yarn.lock index 047d2b12a4..0970153a83 100644 --- a/yarn.lock +++ b/yarn.lock @@ -17,7 +17,6 @@ "@babel/code-frame@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" - integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== dependencies: "@babel/highlight" "^7.0.0" @@ -217,7 +216,6 @@ "@babel/highlight@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" - integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== dependencies: chalk "^2.0.0" esutils "^2.0.2" @@ -505,12 +503,10 @@ "@types/node@^10.3.2": version "10.14.4" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.14.4.tgz#1c586b991457cbb58fef51bc4e0cfcfa347714b5" - integrity sha512-DT25xX/YgyPKiHFOpNuANIQIVvYEwCWXgK2jYYwqgaMrYE6+tq+DtmMwlD3drl6DJbUwtlIDnn0d7tIn/EbXBg== "@types/react-native-material-ui@^1.31.1": version "1.31.1" resolved "https://registry.yarnpkg.com/@types/react-native-material-ui/-/react-native-material-ui-1.31.1.tgz#84ab5674038956103b3858d2d5877c47a69ed8d0" - integrity sha512-fsAH8s2K+dRUztMUTQqFRv22wz3PvB0nW6QS2WWVSZSU+H6dxlkqt4iCDXAB3HHSXl5bIVSofQwIEehaq37fVg== dependencies: "@types/react" "*" "@types/react-native" "*" @@ -576,7 +572,6 @@ "@typescript-eslint/eslint-plugin@^1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-1.5.0.tgz#85c509bcfc2eb35f37958fa677379c80b7a8f66f" - integrity sha512-TZ5HRDFz6CswqBUviPX8EfS+iOoGbclYroZKT3GWGYiGScX0qo6QjHc5uuM7JN920voP2zgCkHgF5SDEVlCtjQ== dependencies: "@typescript-eslint/parser" "1.5.0" "@typescript-eslint/typescript-estree" "1.5.0" @@ -586,7 +581,6 @@ "@typescript-eslint/parser@1.5.0", "@typescript-eslint/parser@^1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-1.5.0.tgz#a96114d195dff2a49534e4c4850fb676f905a072" - integrity sha512-pRWTnJrnxuT0ragdY26hZL+bxqDd4liMlftpH2CBlMPryOIOb1J+MdZuw6R4tIu6bWVdwbHKPTs+Q34LuGvfGw== dependencies: "@typescript-eslint/typescript-estree" "1.5.0" eslint-scope "^4.0.0" @@ -595,7 +589,6 @@ "@typescript-eslint/typescript-estree@1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-1.5.0.tgz#986b356ecdf5a0c3bc9889d221802149cf5dbd4e" - integrity sha512-XqR14d4BcYgxcrpxIwcee7UEjncl9emKc/MgkeUfIk2u85KlsGYyaxC7Zxjmb17JtWERk/NaO+KnBsqgpIXzwA== dependencies: lodash.unescape "4.0.1" semver "5.5.0" @@ -652,7 +645,6 @@ acorn-globals@^4.1.0: acorn-jsx@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" - integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== acorn@^4.0.3: version "4.0.13" @@ -665,12 +657,10 @@ acorn@^5.0.0, acorn@^5.3.0: acorn@^6.0.7: version "6.1.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.1.1.tgz#7d25ae05bb8ad1f9b699108e1094ecd7884adc1f" - integrity sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA== aes-js@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= aes-js@^0.2.3: version "0.2.4" @@ -692,7 +682,6 @@ ajv@^5.1.0, ajv@^5.1.5, ajv@^5.3.0: ajv@^6.9.1: version "6.10.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.0.tgz#90d0d54439da587cd7e843bfb7045f50bd22bdf1" - integrity sha512-nffhOpkymDECQyR0mnsUtoCE8RlX38G0rYP+wgLWFyZuUyuuojSSvi/+euOiQBIn63whYwYVIIH1TvE3tu4OEg== dependencies: fast-deep-equal "^2.0.1" fast-json-stable-stringify "^2.0.0" @@ -730,7 +719,6 @@ ansi-escapes@^3.0.0: ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== ansi-gray@^0.1.1: version "0.1.1" @@ -759,7 +747,6 @@ ansi-regex@^3.0.0: ansi-regex@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== ansi-styles@^2.2.1: version "2.2.1" @@ -872,7 +859,6 @@ array-flatten@1.1.1: array-includes@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" - integrity sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0= dependencies: define-properties "^1.1.2" es-abstract "^1.7.0" @@ -920,7 +906,6 @@ asn1.js@^4.0.0: asn1.js@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.0.1.tgz#7668b56416953f0ce3421adbb3893ace59c96f59" - integrity sha512-aO8EaEgbgqq77IEw+1jfx5c9zTbzvkfuRBuZsSsPnTHMkmd5AI4J6OtITLZFa381jReeaQL67J0GBTUu0+ZTVw== dependencies: bn.js "^4.0.0" inherits "^2.0.1" @@ -1167,14 +1152,13 @@ babel-inline-import-loader@^0.0.5: babel-jest@^22.4.4: version "22.4.4" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.4.tgz#977259240420e227444ebe49e226a61e49ea659d" - integrity sha512-A9NB6/lZhYyypR9ATryOSDcqBaqNdzq4U+CN+/wcMsLcmKkPxQEoTKLajGfd3IkxNyVBT8NewUK2nWyGbSzHEQ== dependencies: babel-plugin-istanbul "^4.1.5" babel-preset-jest "^22.4.4" babel-loader@^7.1.2: - version "7.1.4" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.4.tgz#e3463938bd4e6d55d1c174c5485d406a188ed015" + version "7.1.5" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.5.tgz#e3ee0cd7394aa557e013b02d3e492bfd07aa6d68" dependencies: find-cache-dir "^1.0.0" loader-utils "^1.0.2" @@ -1220,7 +1204,6 @@ babel-plugin-jest-hoist@^22.4.3: babel-plugin-jest-hoist@^22.4.4: version "22.4.4" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz#b9851906eab34c7bf6f8c895a2b08bea1a844c0b" - integrity sha512-DUvGfYaAIlkdnygVIEl0O4Av69NtuQWcrjMOv6DODPuhuGLDnbsARz3AwiiI/EkIMMlxQDUcrZ9yoyJvTNjcVQ== babel-plugin-react-native-platform-specific-extensions@^1.1.0: version "1.1.0" @@ -1723,7 +1706,6 @@ babel-preset-jest@^22.4.3: babel-preset-jest@^22.4.4: version "22.4.4" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz#ec9fbd8bcd7dfd24b8b5320e0e688013235b7c39" - integrity sha512-+dxMtOFwnSYWfum0NaEc0O03oSdwBsjx4tMSChRDPGwu/4wSY6Q6ANW3wkjKpJzzguaovRs/DODcT4hbSN8yiA== dependencies: babel-plugin-jest-hoist "^22.4.4" babel-plugin-syntax-object-rest-spread "^6.13.0" @@ -1904,7 +1886,6 @@ base64-js@^1.0.2, base64-js@^1.1.2: base64url@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" - integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== base@^0.11.1: version "0.11.2" @@ -2189,11 +2170,11 @@ browserify-zlib@^0.2.0: pako "~1.0.5" browserslist@^3.2.6: - version "3.2.7" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.7.tgz#aa488634d320b55e88bab0256184dbbcca1e6de9" + version "3.2.8" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6" dependencies: - caniuse-lite "^1.0.30000835" - electron-to-chromium "^1.3.45" + caniuse-lite "^1.0.30000844" + electron-to-chromium "^1.3.47" bs58@^2.0.1: version "2.0.1" @@ -2333,7 +2314,6 @@ callsites@^2.0.0: callsites@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" - integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== camelcase-keys@^4.0.0: version "4.2.0" @@ -2358,18 +2338,16 @@ camelcase@^4.1.0: camelcase@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.2.0.tgz#e7522abda5ed94cc0489e1b8466610e88404cf45" - integrity sha512-IXFsBS2pC+X0j0N/GE7Dm7j3bsEBp+oTpb7F50dwEVX7rf3IgwO9XatnegTsDtniKCUtEJH4fSU6Asw7uoVLfQ== can-promise@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/can-promise/-/can-promise-0.0.1.tgz#7a7597ad801fb14c8b22341dfec314b6bd6ad8d3" - integrity sha512-gzVrHyyrvgt0YpDm7pn04MQt8gjh0ZAhN4ZDyCRtGl6YnuuK6b4aiUTD7G52r9l4YNmxfTtEscb92vxtAlL6XQ== dependencies: window-or-global "^1.0.1" -caniuse-lite@^1.0.30000835: - version "1.0.30000840" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000840.tgz#344513f8f843536cf99694964c09811277eee395" +caniuse-lite@^1.0.30000844: + version "1.0.30000967" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000967.tgz#a5039577806fccee80a04aaafb2c0890b1ee2f73" capture-exit@^1.2.0: version "1.2.0" @@ -2377,7 +2355,11 @@ capture-exit@^1.2.0: dependencies: rsvp "^3.3.3" -case-sensitive-paths-webpack-plugin@^2.1.1, case-sensitive-paths-webpack-plugin@^2.1.2: +case-sensitive-paths-webpack-plugin@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.2.0.tgz#3371ef6365ef9c25fa4b81c16ace0e9c7dc58c3e" + +case-sensitive-paths-webpack-plugin@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.1.2.tgz#c899b52175763689224571dad778742e133f0192" @@ -2430,7 +2412,6 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.2, chalk@^2.4 chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" @@ -2443,7 +2424,6 @@ chardet@^0.4.0: chardet@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== check-error@^1.0.2: version "1.0.2" @@ -2868,7 +2848,6 @@ cross-spawn@^5.0.1, cross-spawn@^5.1.0: cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" path-key "^2.0.1" @@ -2972,7 +2951,6 @@ debug@^3.1.0: debug@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: ms "^2.1.1" @@ -3172,20 +3150,18 @@ discontinuous-range@1.0.0: resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a" dlv@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.1.tgz#c79d96bfe659a5568001250ed2aaf653992bdd3f" + version "1.1.2" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.2.tgz#270f6737b30d25b6657a7e962c784403f85137e5" doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" @@ -3268,14 +3244,13 @@ ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -electron-to-chromium@^1.3.45: - version "1.3.45" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.45.tgz#458ac1b1c5c760ce8811a16d2bfbd97ec30bafb8" +electron-to-chromium@^1.3.47: + version "1.3.131" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.131.tgz#205a0b7a276b3f56bc056f19178909243054252a" elliptic@6.3.3: version "6.3.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f" - integrity sha1-VILZZG1UvLif19mU/J4ulWiHbj8= dependencies: bn.js "^4.4.0" brorand "^1.0.1" @@ -3309,7 +3284,6 @@ elliptic@^6.4.0, elliptic@^6.4.1: emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== emojis-list@^2.0.0: version "2.1.0" @@ -3429,7 +3403,6 @@ errorhandler@^1.5.0: es-abstract@^1.11.0, es-abstract@^1.7.0: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== dependencies: es-to-primitive "^1.2.0" function-bind "^1.1.1" @@ -3469,19 +3442,18 @@ es-to-primitive@^1.1.1: es-to-primitive@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== dependencies: is-callable "^1.1.4" is-date-object "^1.0.1" is-symbol "^1.0.2" es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.42" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.42.tgz#8c07dd33af04d5dcd1310b5cef13bea63a89ba8d" + version "0.10.50" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.50.tgz#6d0e23a0abdb27018e5ac4fd09b412bc5517a778" dependencies: es6-iterator "~2.0.3" es6-symbol "~3.1.1" - next-tick "1" + next-tick "^1.0.0" es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3: version "2.0.3" @@ -3559,14 +3531,12 @@ escope@^3.6.0: eslint-config-prettier@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-4.1.0.tgz#181364895899fff9fd3605fecb5c4f20e7d5f395" - integrity sha512-zILwX9/Ocz4SV2vX7ox85AsrAgXV3f2o2gpIicdMIOra48WYqgUnWNH/cR/iHtmD2Vb3dLSC3LiEJnS05Gkw7w== dependencies: get-stdin "^6.0.0" eslint-plugin-prettier@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.0.1.tgz#19d521e3981f69dd6d14f64aec8c6a6ac6eb0b0d" - integrity sha512-/PMttrarPAY78PLvV3xfWibMOdMDl57hmlQ2XqFeA37wd+CJ7WSxV7txqjVPHi/AAFKd2lX0ZqfsOc/i5yFCSQ== dependencies: prettier-linter-helpers "^1.0.0" @@ -3583,7 +3553,6 @@ eslint-plugin-react-native@^3.2.1: eslint-plugin-react@^7.12.4: version "7.12.4" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c" - integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ== dependencies: array-includes "^3.0.3" doctrine "^2.1.0" @@ -3596,7 +3565,6 @@ eslint-plugin-react@^7.12.4: eslint-scope@^4.0.0, eslint-scope@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" @@ -3604,17 +3572,14 @@ eslint-scope@^4.0.0, eslint-scope@^4.0.3: eslint-utils@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" - integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== eslint-visitor-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" - integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== eslint@^5.15.3: version "5.15.3" resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.15.3.tgz#c79c3909dc8a7fa3714fb340c11e30fd2526b8b5" - integrity sha512-vMGi0PjCHSokZxE0NLp2VneGw5sio7SSiDNgIUn2tC0XkWJRNOIoHIg3CliLVfXnJsiHxGAYrkw0PieAu8+KYQ== dependencies: "@babel/code-frame" "^7.0.0" ajv "^6.9.1" @@ -3656,7 +3621,6 @@ eslint@^5.15.3: espree@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a" - integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A== dependencies: acorn "^6.0.7" acorn-jsx "^5.0.0" @@ -3673,7 +3637,6 @@ esprima@^4.0.0: esquery@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" - integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== dependencies: estraverse "^4.0.0" @@ -3777,7 +3740,6 @@ ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.2.0: ethereumjs-util@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.1.0.tgz#e9c51e5549e8ebd757a339cc00f5380507e799c8" - integrity sha512-URESKMFbDeJxnAxPppnk2fN6Y3BIatn9fwn76Lm8bQlt+s52TpG8dN9M66MLPuRAiAOIqL3dfwqWJf0sd0fL0Q== dependencies: bn.js "^4.11.0" create-hash "^1.1.2" @@ -3818,7 +3780,6 @@ ethereumjs-wallet@^0.6.0: ethers@^4.0.27: version "4.0.27" resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.27.tgz#e570b0da9d805ad65c83d81919abe02b2264c6bf" - integrity sha512-+DXZLP/tyFnXWxqr2fXLT67KlGUfLuvDkHSOtSC9TUVG9OIj6yrG5JPeXRMYo15xkOYwnjgdMKrXp5V94rtjJA== dependencies: "@types/node" "^10.3.2" aes-js "3.0.0" @@ -3908,7 +3869,6 @@ execa@^0.8.0: execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: cross-spawn "^6.0.0" get-stream "^4.0.0" @@ -3949,7 +3909,6 @@ expand-range@^1.8.1: expect@^22.4.0, expect@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.3.tgz#d5a29d0a0e1fb2153557caef2674d4547e914674" - integrity sha512-XcNXEPehqn8b/jm8FYotdX0YrXn36qp4HWlrVT4ktwQas1l1LPxiVWncYnnL2eyMtKAmVIaG0XAp0QlrqJaxaA== dependencies: ansi-styles "^3.2.0" jest-diff "^22.4.3" @@ -4066,7 +4025,6 @@ external-editor@^2.0.4: external-editor@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" - integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== dependencies: chardet "^0.7.0" iconv-lite "^0.4.24" @@ -4120,12 +4078,10 @@ fast-deep-equal@^1.0.0: fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= fast-diff@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== fast-json-stable-stringify@^2.0.0: version "2.0.0" @@ -4187,7 +4143,6 @@ figures@^2.0.0: file-entry-cache@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== dependencies: flat-cache "^2.0.1" @@ -4289,14 +4244,12 @@ find-up@^2.0.0, find-up@^2.1.0: find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== dependencies: locate-path "^3.0.0" flat-cache@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== dependencies: flatted "^2.0.0" rimraf "2.6.3" @@ -4305,7 +4258,6 @@ flat-cache@^2.0.1: flatted@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" - integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg== for-each@^0.3.2, for-each@~0.3.3: version "0.3.3" @@ -4334,7 +4286,6 @@ forever-agent@~0.6.1: form-data@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== dependencies: asynckit "^0.4.0" combined-stream "^1.0.6" @@ -4484,7 +4435,6 @@ get-func-name@^2.0.0: get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== get-stream@^2.2.0: version "2.3.1" @@ -4500,7 +4450,6 @@ get-stream@^3.0.0: get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== dependencies: pump "^3.0.0" @@ -4587,7 +4536,6 @@ globals@^11.1.0: globals@^11.7.0: version "11.11.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.11.0.tgz#dcf93757fa2de5486fbeed7118538adf789e9c2e" - integrity sha512-WHq43gS+6ufNOEqlrDBxVEbb8ntfXrfAUU2ZOpCxrBdGKW3gyv8mCxAfIBD0DroPKGrJ2eSsXsLtY9MPntsyTw== globals@^9.18.0: version "9.18.0" @@ -4925,7 +4873,6 @@ iconv-lite@0.4.23, iconv-lite@^0.4.17, iconv-lite@^0.4.4, iconv-lite@~0.4.13: iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" @@ -4942,7 +4889,6 @@ ignore-walk@^3.0.1: ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== image-size@^0.5.1: version "0.5.5" @@ -4963,7 +4909,6 @@ immutable@^3.8.2: import-fresh@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" - integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -5024,7 +4969,6 @@ inquirer@^3.0.6: inquirer@^6.2.2: version "6.2.2" resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" - integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== dependencies: ansi-escapes "^3.2.0" chalk "^2.4.2" @@ -5041,8 +4985,8 @@ inquirer@^6.2.2: through "^2.3.6" interpret@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + version "1.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" invariant@^2.0.0, invariant@^2.2.0, invariant@^2.2.2: version "2.2.4" @@ -5057,7 +5001,6 @@ invert-kv@^1.0.0: invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== ipaddr.js@1.6.0: version "1.6.0" @@ -5114,7 +5057,6 @@ is-callable@^1.1.1, is-callable@^1.1.3: is-callable@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== is-ci@^1.0.10: version "1.1.0" @@ -5313,7 +5255,6 @@ is-symbol@^1.0.1: is-symbol@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== dependencies: has-symbols "^1.0.0" @@ -5450,14 +5391,12 @@ isurl@^1.0.0-alpha5: jest-changed-files@^22.2.0: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.4.3.tgz#8882181e022c38bd46a2e4d18d44d19d90a90fb2" - integrity sha512-83Dh0w1aSkUNFhy5d2dvqWxi/y6weDwVVLU6vmK0cV9VpRxPzhTeGimbsbRDSnEoszhF937M4sDLLeS7Cu/Tmw== dependencies: throat "^4.0.0" jest-cli@^22.4.4: version "22.4.4" resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.4.4.tgz#68cd2a2aae983adb1e6638248ca21082fd6d9e90" - integrity sha512-I9dsgkeyjVEEZj9wrGrqlH+8OlNob9Iptyl+6L5+ToOLJmHm4JwOPatin1b2Bzp5R5YRQJ+oiedx7o1H7wJzhA== dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" @@ -5513,7 +5452,6 @@ jest-config@^22.4.3: jest-config@^22.4.4: version "22.4.4" resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.4.tgz#72a521188720597169cd8b4ff86934ef5752d86a" - integrity sha512-9CKfo1GC4zrXSoMLcNeDvQBfgtqGTB1uP8iDIZ97oB26RCUb886KkKWhVcpyxVDOUxbhN+uzcBCeFe7w+Iem4A== dependencies: chalk "^2.0.1" glob "^7.1.1" @@ -5551,7 +5489,6 @@ jest-docblock@^22.4.0, jest-docblock@^22.4.3: jest-environment-jsdom@^22.4.1, jest-environment-jsdom@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz#d67daa4155e33516aecdd35afd82d4abf0fa8a1e" - integrity sha512-FviwfR+VyT3Datf13+ULjIMO5CSeajlayhhYQwpzgunswoaLIPutdbrnfUHEMyJCwvqQFaVtTmn9+Y8WCt6n1w== dependencies: jest-mock "^22.4.3" jest-util "^22.4.3" @@ -5560,7 +5497,6 @@ jest-environment-jsdom@^22.4.1, jest-environment-jsdom@^22.4.3: jest-environment-node@^22.4.1, jest-environment-node@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.3.tgz#54c4eaa374c83dd52a9da8759be14ebe1d0b9129" - integrity sha512-reZl8XF6t/lMEuPWwo9OLfttyC26A5AMgDyEQ6DBgZuyfyeNUzYT8BFo6uxCCP/Av/b7eb9fTi3sIHFPBzmlRA== dependencies: jest-mock "^22.4.3" jest-util "^22.4.3" @@ -5568,7 +5504,6 @@ jest-environment-node@^22.4.1, jest-environment-node@^22.4.3: jest-get-type@^22.1.0, jest-get-type@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" - integrity sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w== jest-haste-map@22.4.2: version "22.4.2" @@ -5585,7 +5520,6 @@ jest-haste-map@22.4.2: jest-haste-map@^22.4.2: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.4.3.tgz#25842fa2ba350200767ac27f658d58b9d5c2e20b" - integrity sha512-4Q9fjzuPVwnaqGKDpIsCSoTSnG3cteyk2oNVjBX12HHOaF1oxql+uUiqZb5Ndu7g/vTZfdNwwy4WwYogLh29DQ== dependencies: fb-watchman "^2.0.0" graceful-fs "^4.1.11" @@ -5614,7 +5548,6 @@ jest-jasmine2@^22.4.3: jest-jasmine2@^22.4.4: version "22.4.4" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.4.tgz#c55f92c961a141f693f869f5f081a79a10d24e23" - integrity sha512-nK3vdUl50MuH7vj/8at7EQVjPGWCi3d5+6aCi7Gxy/XMWdOdbH1qtO/LjKbqD8+8dUAEH+BVVh7HkjpCWC1CSw== dependencies: chalk "^2.0.1" co "^4.6.0" @@ -5631,7 +5564,6 @@ jest-jasmine2@^22.4.4: jest-leak-detector@^22.4.0: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz#2b7b263103afae8c52b6b91241a2de40117e5b35" - integrity sha512-NZpR/Ls7+ndO57LuXROdgCGz2RmUdC541tTImL9bdUtU3WadgFGm0yV+Ok4Fuia/1rLAn5KaJ+i76L6e3zGJYQ== dependencies: pretty-format "^22.4.3" @@ -5646,7 +5578,6 @@ jest-matcher-utils@^22.4.0, jest-matcher-utils@^22.4.3: jest-message-util@^22.4.0, jest-message-util@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.3.tgz#cf3d38aafe4befddbfc455e57d65d5239e399eb7" - integrity sha512-iAMeKxhB3Se5xkSjU0NndLLCHtP4n+GtCqV0bISKA5dmOXQfEbdEmYiu2qpnWBDCQdEafNDDU6Q+l6oBMd/+BA== dependencies: "@babel/code-frame" "^7.0.0-beta.35" chalk "^2.0.1" @@ -5661,19 +5592,16 @@ jest-mock@^22.4.3: jest-regex-util@^22.1.0, jest-regex-util@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.4.3.tgz#a826eb191cdf22502198c5401a1fc04de9cef5af" - integrity sha512-LFg1gWr3QinIjb8j833bq7jtQopiwdAs67OGfkPrvy7uNUbVMfTXXcOKXJaeY5GgjobELkKvKENqq1xrUectWg== jest-resolve-dependencies@^22.1.0: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz#e2256a5a846732dc3969cb72f3c9ad7725a8195e" - integrity sha512-06czCMVToSN8F2U4EvgSB1Bv/56gc7MpCftZ9z9fBgUQM7dzHGCMBsyfVA6dZTx8v0FDcnALf7hupeQxaBCvpA== dependencies: jest-regex-util "^22.4.3" jest-resolve@^22.4.2, jest-resolve@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.3.tgz#0ce9d438c8438229aa9b916968ec6b05c1abb4ea" - integrity sha512-u3BkD/MQBmwrOJDzDIaxpyqTxYH+XqAXzVJP51gt29H8jpj3QgKof5GGO2uPGKGeA1yTMlpbMs1gIQ6U4vcRhw== dependencies: browser-resolve "^1.11.2" chalk "^2.0.1" @@ -5681,7 +5609,6 @@ jest-resolve@^22.4.2, jest-resolve@^22.4.3: jest-runner@^22.4.4: version "22.4.4" resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.4.4.tgz#dfca7b7553e0fa617e7b1291aeb7ce83e540a907" - integrity sha512-5S/OpB51igQW9xnkM5Tgd/7ZjiAuIoiJAVtvVTBcEBiXBIFzWM3BAMPBM19FX68gRV0KWyFuGKj0EY3M3aceeQ== dependencies: exit "^0.1.2" jest-config "^22.4.4" @@ -5698,7 +5625,6 @@ jest-runner@^22.4.4: jest-runtime@^22.4.4: version "22.4.4" resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.4.4.tgz#9ba7792fc75582a5be0f79af6f8fe8adea314048" - integrity sha512-WRTj9m///npte1YjuphCYX7GRY/c2YvJImU9t7qOwFcqHr4YMzmX6evP/3Sehz5DKW2Vi8ONYPCFWe36JVXxfw== dependencies: babel-core "^6.0.0" babel-jest "^22.4.4" @@ -5728,7 +5654,6 @@ jest-serializer@^22.4.0, jest-serializer@^22.4.3: jest-snapshot@^22.4.0, jest-snapshot@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.3.tgz#b5c9b42846ffb9faccb76b841315ba67887362d2" - integrity sha512-JXA0gVs5YL0HtLDCGa9YxcmmV2LZbwJ+0MfyXBBc5qpgkEYITQFJP7XNhcHFbUvRiniRpRbGVfJrOoYhhGE0RQ== dependencies: chalk "^2.0.1" jest-diff "^22.4.3" @@ -5762,7 +5687,6 @@ jest-validate@^22.4.3: jest-validate@^22.4.4: version "22.4.4" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.4.tgz#1dd0b616ef46c995de61810d85f57119dbbcec4d" - integrity sha512-dmlf4CIZRGvkaVg3fa0uetepcua44DHtktHm6rcoNVtYlpwe6fEJRkMFsaUVcFHLzbuBJ2cPw9Gl9TKfnzMVwg== dependencies: chalk "^2.0.1" jest-config "^22.4.4" @@ -5785,7 +5709,6 @@ jest-worker@^22.2.2, jest-worker@^22.4.3: jest@^22.4.4: version "22.4.4" resolved "https://registry.yarnpkg.com/jest/-/jest-22.4.4.tgz#ffb36c9654b339a13e10b3d4b338eb3e9d49f6eb" - integrity sha512-eBhhW8OS/UuX3HxgzNBSVEVhSuRDh39Z1kdYkQVWna+scpgsrD7vSeBI7tmEvsguPDMnfJodW28YBnhv/BzSew== dependencies: import-local "^1.0.0" jest-cli "^22.4.4" @@ -5797,7 +5720,6 @@ jju@^1.3.0: jolocom-lib@^2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/jolocom-lib/-/jolocom-lib-2.4.3.tgz#8c29f6da1b3400786da9d9ed3b01d8708390aa59" - integrity sha512-ZeGBFSk/pCz+dS7ObB/WXrB8r0ZExVwbjwkdUNbBmMEf3vnXBs3ihCq1v8qCMzBGVDAABuZMq4+Qoek4G6V1GA== dependencies: base64url "^3.0.1" bip32 "^1.0.2" @@ -5835,7 +5757,6 @@ jolocom-registry-contract@^0.1.7: js-sha3@0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= js-sha3@^0.3.1: version "0.3.1" @@ -5848,7 +5769,6 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.11.0, js-yaml@^3.7.0: version "3.11.0" @@ -5860,7 +5780,6 @@ js-yaml@^3.11.0, js-yaml@^3.7.0: js-yaml@^3.12.0: version "3.13.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.0.tgz#38ee7178ac0eea2c97ff6d96fff4b18c7d8cf98e" - integrity sha512-pZZoSxcCYco+DIKBTimr67J6Hy+EYGZDY/HCWC+iAEA9h1ByhMXAIVUXMcMFpOCxQ/xjXmPI2MkDL5HRm5eFrQ== dependencies: argparse "^1.0.7" esprima "^4.0.0" @@ -5927,7 +5846,6 @@ json-schema-traverse@^0.3.0: json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema@0.2.3: version "0.2.3" @@ -5936,7 +5854,6 @@ json-schema@0.2.3: json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json-stable-stringify@^1.0.1: version "1.0.1" @@ -5975,7 +5892,6 @@ jsonify@~0.0.0: jsonld@^1.5.3: version "1.5.4" resolved "https://registry.yarnpkg.com/jsonld/-/jsonld-1.5.4.tgz#ac7509cc8180a3ee4235d3dbece55a204617c577" - integrity sha512-+cJ5JmXBBlf0zagJDiz1NsnMBQyd4p+LV8x8UQfjCVBhFDcL6hWduDXMUp8XOgLtt8L9LjRCbUj1NL+tU17GqA== dependencies: rdf-canonize "^1.0.2" request "^2.88.0" @@ -5985,7 +5901,6 @@ jsonld@^1.5.3: jsontokens@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/jsontokens/-/jsontokens-1.0.0.tgz#f3dfa34bfd8a7e8dfdda0cfc197fc25e39a248e8" - integrity sha512-cC5q2qnJfwFQfN/P30Lo/m2v3x2D/JLUxli5tGP2367yRY5ZyEZSFpu+HQEBf2C8xlHL6DjQMYNFPdCFgQTmgA== dependencies: asn1.js "^5.0.1" base64url "^3.0.1" @@ -6005,7 +5920,6 @@ jsprim@^1.2.2: jsx-ast-utils@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" - integrity sha1-6AGxs5mF4g//yHtA43SAgOLcrH8= dependencies: array-includes "^3.0.3" @@ -6028,7 +5942,6 @@ keccakjs@^0.2.0, keccakjs@^0.2.1: key-encoder@^1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/key-encoder/-/key-encoder-1.1.7.tgz#af139f34910fc7c6f828a02ccf71d8d662d8e495" - integrity sha512-7qjnX+t+l1kPeozKAm3/UO216/HseXw7xxXd8WkT2i/moFIZIN46RzoaCeScBoEwGF2mUUuPRu4j8EHP0BGfpg== dependencies: asn1.js "^5.0.1" bn.js "^4.11.8" @@ -6077,7 +5990,6 @@ lcid@^1.0.0: lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== dependencies: invert-kv "^2.0.0" @@ -6181,7 +6093,6 @@ locate-path@^2.0.0: locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== dependencies: p-locate "^3.0.0" path-exists "^3.0.0" @@ -6229,7 +6140,6 @@ lodash.throttle@^4.1.1: lodash.unescape@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" - integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= lodash@^3.5.0: version "3.10.1" @@ -6242,7 +6152,6 @@ lodash@^4.0.0, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.6, l lodash@^4.17.11: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== log-symbols@^2.1.0: version "2.2.0" @@ -6263,7 +6172,6 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1: loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" @@ -6305,7 +6213,6 @@ makeerror@1.0.x: map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== dependencies: p-defer "^1.0.0" @@ -6351,7 +6258,6 @@ mem@^1.1.0: mem@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.2.0.tgz#5ee057680ed9cb8dad8a78d820f9a8897a102025" - integrity sha512-5fJxa68urlY0Ir8ijatKa3eRz5lwXnRCTvo9+TbTGAuTFJOwpGcY0X05moBd0nW45965Njt4CDI2GFQoG8DvqA== dependencies: map-age-cleaner "^0.1.1" mimic-fn "^2.0.0" @@ -6624,7 +6530,6 @@ mimic-fn@^1.0.0: mimic-fn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.0.0.tgz#0913ff0b121db44ef5848242c38bbb35d44cabde" - integrity sha512-jbex9Yd/3lmICXwYT6gA/j2mNQGU48wCh/VzRd+/Y/PjYQtlg1gLMdZqvu9s/xH7qKvngxRObl56XZR609IMbA== mimic-response@^1.0.0: version "1.0.1" @@ -6723,7 +6628,6 @@ ms@2.0.0: ms@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== multi-progress@^2.0.0: version "2.0.0" @@ -6805,14 +6709,13 @@ neo-async@^2.5.0: version "2.5.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.1.tgz#acb909e327b1e87ec9ef15f41b8a269512ad41ee" -next-tick@1: +next-tick@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== node-fetch@^1.0.1, node-fetch@^1.3.3: version "1.7.3" @@ -6824,12 +6727,10 @@ node-fetch@^1.0.1, node-fetch@^1.3.3: node-fetch@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5" - integrity sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA== node-forge@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.8.1.tgz#67aeb9df7bb78d15444ec04a0162d2c565559c37" - integrity sha512-C/42HVb5eRtnDgRKOFx4bJH6LwbGQwbEHOC/trQwQSR6xWAUR/jlWoUJnxOmFTvdmDIZtjl2VH4dl3VpQuIz5g== node-int64@^0.4.0: version "0.4.0" @@ -7014,7 +6915,6 @@ object-keys@^1.0.11, object-keys@^1.0.8: object-keys@^1.0.12: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object-keys@~0.4.0: version "0.4.0" @@ -7047,7 +6947,6 @@ object.entries@^1.0.4: object.fromentries@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" - integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== dependencies: define-properties "^1.1.2" es-abstract "^1.11.0" @@ -7187,7 +7086,6 @@ os-locale@^2.0.0: os-locale@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== dependencies: execa "^1.0.0" lcid "^2.0.0" @@ -7218,7 +7116,6 @@ p-cancelable@^0.3.0: p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= p-finally@^1.0.0: version "1.0.0" @@ -7227,7 +7124,6 @@ p-finally@^1.0.0: p-is-promise@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" - integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== p-limit@^1.1.0: version "1.2.0" @@ -7238,7 +7134,6 @@ p-limit@^1.1.0: p-limit@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2" - integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ== dependencies: p-try "^2.0.0" @@ -7251,7 +7146,6 @@ p-locate@^2.0.0: p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== dependencies: p-limit "^2.0.0" @@ -7268,7 +7162,6 @@ p-try@^1.0.0: p-try@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" - integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== pako@~1.0.5: version "1.0.6" @@ -7277,7 +7170,6 @@ pako@~1.0.5: parent-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5" - integrity sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA== dependencies: callsites "^3.0.0" @@ -7368,7 +7260,6 @@ path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: path-is-inside@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" @@ -7381,7 +7272,6 @@ path-parse@^1.0.5: path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== path-to-regexp@0.1.7: version "0.1.7" @@ -7531,7 +7421,6 @@ preserve@^0.2.0: prettier-linter-helpers@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== dependencies: fast-diff "^1.1.2" @@ -7573,7 +7462,6 @@ progress@^1.1.8: progress@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== promise@^7.1.1: version "7.3.1" @@ -7581,7 +7469,7 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.1: +prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.1: version "15.6.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca" dependencies: @@ -7589,10 +7477,9 @@ prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.8, prop-types@^15.5.9, loose-envify "^1.3.1" object-assign "^4.1.1" -prop-types@^15.6.2: +prop-types@^15.5.4, prop-types@^15.6.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== dependencies: loose-envify "^1.4.0" object-assign "^4.1.1" @@ -7637,7 +7524,6 @@ public-encrypt@^4.0.0: pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -7657,7 +7543,6 @@ punycode@^2.1.0: qrcode@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.3.3.tgz#5ef50c0c890cffa1897f452070f0f094936993de" - integrity sha512-SH7V13AcJusH3GT8bMNOGz4w0L+LjcpNOU/NiOgtBhT/5DoWeZE6D5ntMJnJ84AMkoaM4kjJJoHoh9g++8lWFg== dependencies: can-promise "0.0.1" dijkstrajs "^1.0.1" @@ -7769,7 +7654,6 @@ rc@^1.1.7: rdf-canonize@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/rdf-canonize/-/rdf-canonize-1.0.3.tgz#71dc56bb808a39d12e3ca17674c15f881cad648a" - integrity sha512-piLMOB5Q6LJSVx2XzmdpHktYVb8TmVTy8coXJBFtdkcMC96DknZOuzpAYqCWx2ERZX7xEW+mMi8/wDuMJS/95w== dependencies: node-forge "^0.8.1" semver "^5.6.0" @@ -7827,7 +7711,6 @@ react-is@^16.3.2: react-is@^16.8.1: version "16.8.6" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.8.6.tgz#5bbc1e2d29141c9fbdfed456343fe2bc430a6a16" - integrity sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA== react-lifecycles-compat@^3.0.2: version "3.0.4" @@ -7896,10 +7779,6 @@ react-native-material-ui@^1.22.2: prop-types "^15.5.10" react-native-material-design-styles "^0.2.6" -react-native-md-textinput@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/react-native-md-textinput/-/react-native-md-textinput-2.0.4.tgz#9f81cff16ceba0bc595fc58ed1239bd13a4023a8" - react-native-permissions@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/react-native-permissions/-/react-native-permissions-1.1.1.tgz#4876004681ff8556454613d85249b01baff9b35b" @@ -7911,10 +7790,6 @@ react-native-qrcode-scanner@^1.0.1: prop-types "^15.5.10" react-native-permissions "^1.1.1" -react-native-remote-svg@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/react-native-remote-svg/-/react-native-remote-svg-1.2.0.tgz#0382d522913e01dc19025efe8e0f8b1a55692a55" - react-native-safe-area-view@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.7.0.tgz#38f5ab9368d6ef9e5d18ab64212938af3ec39421" @@ -8239,7 +8114,6 @@ reflect-metadata@^0.1.12: reflect-metadata@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" - integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== regenerate@^1.2.1: version "1.4.0" @@ -8279,7 +8153,6 @@ regex-not@^1.0.0, regex-not@^1.0.2: regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== regexpu-core@^2.0.0: version "2.0.0" @@ -8404,7 +8277,6 @@ require-resolve@0.0.2: requireindex@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef" - integrity sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww== resolve-cwd@^2.0.0: version "2.0.0" @@ -8437,7 +8309,6 @@ resolve@^1.1.7, resolve@^1.3.2, resolve@^1.3.3, resolve@^1.5.0, resolve@~1.7.1: resolve@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" - integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== dependencies: path-parse "^1.0.6" @@ -8473,7 +8344,6 @@ rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1: rimraf@2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" @@ -8532,7 +8402,6 @@ rxjs@^5.4.2: rxjs@^6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" - integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw== dependencies: tslib "^1.9.0" @@ -8584,7 +8453,6 @@ sax@~1.1.1: scrypt-js@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" - integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== scrypt.js@0.2.0, scrypt.js@^0.2.0: version "0.2.0" @@ -8635,7 +8503,6 @@ semaphore@>=1.0.1, semaphore@^1.0.3: semver@^5.5.1, semver@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" - integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== semver@~5.4.1: version "5.4.1" @@ -8711,7 +8578,6 @@ set-value@^2.0.0: setimmediate@1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" - integrity sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48= setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" @@ -8802,7 +8668,6 @@ simple-swizzle@^0.2.2: sinon-chai@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-3.3.0.tgz#8084ff99451064910fbe2c2cb8ab540c00b740ea" - integrity sha512-r2JhDY7gbbmh5z3Q62pNbrjxZdOAjpsqW/8yxAZRSqLZqowmfGZPGUZPFf3UX36NLis0cv8VEM5IJh9HgkSOAA== sjcl@^1.0.7: version "1.0.7" @@ -8815,7 +8680,6 @@ slash@^1.0.0: slice-ansi@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== dependencies: ansi-styles "^3.2.0" astral-regex "^1.0.0" @@ -8918,8 +8782,8 @@ source-map@^0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" sourcemapped-stacktrace@^1.1.6: - version "1.1.8" - resolved "https://registry.yarnpkg.com/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.8.tgz#6b7a3f1a6fb15f6d40e701e23ce404553480d688" + version "1.1.9" + resolved "https://registry.yarnpkg.com/sourcemapped-stacktrace/-/sourcemapped-stacktrace-1.1.9.tgz#c744a99936b33b6891409f4d45c3d2b28ecded4a" dependencies: source-map "0.5.6" @@ -9069,7 +8933,6 @@ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: string-width@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== dependencies: emoji-regex "^7.0.1" is-fullwidth-code-point "^2.0.0" @@ -9112,7 +8975,6 @@ strip-ansi@^4.0.0: strip-ansi@^5.0.0, strip-ansi@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== dependencies: ansi-regex "^4.1.0" @@ -9207,7 +9069,6 @@ symbol-tree@^3.2.2: table@^5.2.3: version "5.2.3" resolved "https://registry.yarnpkg.com/table/-/table-5.2.3.tgz#cde0cc6eb06751c009efab27e8c820ca5b67b7f2" - integrity sha512-N2RsDAMvDLvYwFcwbPyF3VmVSSkuF+G1e+8inhBLtHpvwXGw4QRPEZhihQNeEN0i1up6/f6ObCJXNdlRG3YVyQ== dependencies: ajv "^6.9.1" lodash "^4.17.11" @@ -9298,7 +9159,6 @@ test-exclude@^4.2.1: text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= thenify-all@^1.0.0, thenify-all@^1.6.0: version "1.6.0" @@ -9313,8 +9173,8 @@ thenify-all@^1.0.0, thenify-all@^1.6.0: any-promise "^1.0.0" thread-loader@^1.1.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-1.1.5.tgz#7f9d6701f773734fff1832586779021ab8571917" + version "1.2.0" + resolved "https://registry.yarnpkg.com/thread-loader/-/thread-loader-1.2.0.tgz#35dedb23cf294afbbce6c45c1339b950ed17e7a4" dependencies: async "^2.3.0" loader-runner "^2.3.0" @@ -9340,8 +9200,8 @@ time-stamp@^1.0.0: resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" time-stamp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.0.0.tgz#95c6a44530e15ba8d6f4a3ecb8c3a3fac46da357" + version "2.2.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-2.2.0.tgz#917e0a66905688790ec7bbbde04046259af83f57" timed-out@^4.0.0, timed-out@^4.0.1: version "4.0.1" @@ -9504,12 +9364,10 @@ tslib@^1.7.1, tslib@^1.8.1: tslib@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286" - integrity sha512-4krF8scpejhaOgqzBEcGM7yDIEfi0/8+8zDRZhNZZ2kjmHJ4hv3zCbQWxoJGz1iw5U0Jl0nma13xzHXcncMavQ== tsutils@^3.7.0: version "3.9.1" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.9.1.tgz#2a40dc742943c71eca6d5c1994fcf999956be387" - integrity sha512-hrxVtLtPqQr//p8/msPT1X1UYXUjizqSit5d9AQ5k38TcV38NyecL5xODNxa73cLe/5sdiJ+w1FqzDhRBA/anA== dependencies: tslib "^1.8.1" @@ -9583,7 +9441,6 @@ typescript@^2.6.2: typescript@^3.3.4000: version "3.3.4000" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.3.4000.tgz#76b0f89cfdbf97827e1112d64f283f1151d6adf0" - integrity sha512-jjOcCZvpkl2+z7JFn0yBOoLQyLoIkNZAs/fYJkUG6VKy6zLPHJGfQJYFHzibB6GJaF/8QrcECtlQ5cpvRHSMEA== ua-parser-js@^0.7.9: version "0.7.18" @@ -9675,7 +9532,6 @@ upath@^1.0.0: uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== dependencies: punycode "^2.1.0" @@ -9775,7 +9631,6 @@ validate-npm-package-license@^3.0.1: validator@^10.9.0: version "10.11.0" resolved "https://registry.yarnpkg.com/validator/-/validator-10.11.0.tgz#003108ea6e9a9874d31ccc9e5006856ccd76b228" - integrity sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw== vary@^1, vary@~1.1.2: version "1.1.2" @@ -10070,8 +9925,8 @@ webpack-dev-middleware@^1.12.0: time-stamp "^2.0.0" webpack-hot-middleware@^2.19.1: - version "2.22.2" - resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.22.2.tgz#623b77ce591fcd4e1fb99f18167781443e50afac" + version "2.24.4" + resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.24.4.tgz#0ae1eeca000c6ffdcb22eb574d0e6d7717672b0f" dependencies: ansi-html "0.0.7" html-entities "^1.2.0" @@ -10079,8 +9934,8 @@ webpack-hot-middleware@^2.19.1: strip-ansi "^3.0.0" webpack-sources@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" + version "1.3.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" dependencies: source-list-map "^2.0.0" source-map "~0.6.1" @@ -10233,7 +10088,6 @@ write-file-atomic@^2.1.0: write@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== dependencies: mkdirp "^0.5.1" @@ -10383,7 +10237,6 @@ y18n@^3.2.1: "y18n@^3.2.1 || ^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== yaeti@^0.0.6: version "0.0.6" @@ -10408,7 +10261,6 @@ yargonaut@^1.1.2: yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== dependencies: camelcase "^5.0.0" decamelize "^1.2.0" @@ -10492,7 +10344,6 @@ yargs@^11.1.0: yargs@^12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== dependencies: cliui "^4.0.0" decamelize "^1.2.0" From 91d4809bf3c4a03bb75ceeb351951c7538425f80 Mon Sep 17 00:00:00 2001 From: VolkerSchiewe Date: Wed, 8 May 2019 16:46:15 +0200 Subject: [PATCH 2/5] handle deep links after identity check --- src/NavigatorContainer.tsx | 30 +++++++++--------------------- src/actions/navigation/index.ts | 17 ++++++++--------- 2 files changed, 17 insertions(+), 30 deletions(-) diff --git a/src/NavigatorContainer.tsx b/src/NavigatorContainer.tsx index a4b3098845..18c39effaa 100644 --- a/src/NavigatorContainer.tsx +++ b/src/NavigatorContainer.tsx @@ -5,7 +5,7 @@ import { NavigationEventCallback, } from 'react-navigation' import { connect } from 'react-redux' -import { BackHandler, Linking, Platform, StatusBar } from 'react-native' +import { BackHandler, Linking, StatusBar } from 'react-native' import { AnyAction } from 'redux' import { Routes } from 'src/routes' import { RootState } from 'src/reducers/' @@ -46,28 +46,16 @@ export class NavigatorContainer extends React.Component { this.addListener = createReduxBoundAddListener('root') } - async UNSAFE_componentWillMount() { + async componentDidMount() { await this.props.initApp() - BackHandler.addEventListener('hardwareBackPress', this.navigateBack) - if (Platform.OS === 'android') { - Linking.getInitialURL().then((url: string) => { - if (!url) { - this.props.checkIfAccountExists() - } else { - this.props.handleDeepLink(url) - } - }) - } else { - Linking.addEventListener('url', this.handleOpenURL) - // TODO: test with deep linking on ios - Linking.getInitialURL().then((url: string) => { - if (!url) { - this.props.checkIfAccountExists() - } else { - this.props.handleDeepLink(url) - } - }) + await this.props.checkIfAccountExists() + const url = await Linking.getInitialURL() + if (url) { + this.props.handleDeepLink(url) } + + Linking.addEventListener('url', this.handleOpenURL) + BackHandler.addEventListener('hardwareBackPress', this.navigateBack) } componentWillUnmount() { diff --git a/src/actions/navigation/index.ts b/src/actions/navigation/index.ts index 14dcd99283..d0df5b917d 100644 --- a/src/actions/navigation/index.ts +++ b/src/actions/navigation/index.ts @@ -4,9 +4,10 @@ import { } from 'react-navigation' import { AnyAction, Dispatch } from 'redux' import { ssoActions } from 'src/actions/' -import { setDid, toggleLoading } from '../account' +import { toggleLoading } from '../account' import { BackendMiddleware } from 'src/backendMiddleware' import { setDeepLinkLoading } from '../sso' +import { routeList } from 'src/routeList' export const navigate = (options: NavigationNavigateActionPayload) => NavigationActions.navigate(options) @@ -21,8 +22,8 @@ export const navigatorReset = (newScreen: NavigationNavigateActionPayload) => /** * The function that parses a deep link to get the route name and params - * It then matches the route name and dispatches a correcponding action - * @param url - a deep link string with the following schemat: appName://routeName/params + * It then matches the route name and dispatches a corresponding action + * @param url - a deep link string with the following schema: appName://routeName/params */ export const handleDeepLink = (url: string) => async ( dispatch: Dispatch, @@ -39,16 +40,14 @@ export const handleDeepLink = (url: string) => async ( routeName === 'payment' || routeName === 'authenticate' ) { - dispatch(setDeepLinkLoading(true)) - const personas = await backendMiddleware.storageLib.get.persona() - - if (!personas.length) { + // The identityWallet is initialised before the deep link is handled. + if (!backendMiddleware.identityWallet) { dispatch(toggleLoading(false)) + dispatch(navigatorReset({ routeName: routeList.Landing })) return } - dispatch(setDid(personas[0].did)) - // await instantiateIdentityWallet(backendMiddleware) + dispatch(setDeepLinkLoading(true)) dispatch(ssoActions.parseJWT(params)) } } From 9771a46363fa1983521ef776b5d0f5f03d052c0b Mon Sep 17 00:00:00 2001 From: VolkerSchiewe Date: Thu, 9 May 2019 10:16:15 +0200 Subject: [PATCH 3/5] fix existing test --- src/App.tsx | 2 ++ .../account/__snapshots__/index.test.ts.snap | 13 ++++++++++++- tests/actions/account/index.test.ts | 15 ++++++--------- .../navigation/__snapshots__/index.test.ts.snap | 4 ---- tests/actions/navigation/index.test.ts | 2 +- tests/actions/registration/index.test.ts | 2 +- 6 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 89e900ccd2..6b1f536d9a 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -8,6 +8,8 @@ const { ThemeProvider } = require('react-native-material-ui') const assign = require('object.assign/implementation') Object.assign = assign +console.disableYellowBox = true + const App = () => { const store = initStore() return ( diff --git a/tests/actions/account/__snapshots__/index.test.ts.snap b/tests/actions/account/__snapshots__/index.test.ts.snap index 0dd68bc5dc..83c32acbac 100644 --- a/tests/actions/account/__snapshots__/index.test.ts.snap +++ b/tests/actions/account/__snapshots__/index.test.ts.snap @@ -1,11 +1,22 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Account action creators Should correctly handle an empty personas table 1`] = ` +exports[`Account action creators Should correctly handle an empty encrypted seed table 1`] = ` Array [ Object { "type": "SET_LOADING", "value": false, }, + Object { + "actions": Array [ + Object { + "routeName": "Landing", + "type": "Navigation/NAVIGATE", + }, + ], + "index": 0, + "key": undefined, + "type": "Navigation/RESET", + }, ] `; diff --git a/tests/actions/account/index.test.ts b/tests/actions/account/index.test.ts index 71c4677249..88cb305793 100644 --- a/tests/actions/account/index.test.ts +++ b/tests/actions/account/index.test.ts @@ -49,6 +49,7 @@ describe('Account action creators', () => { decryptWithPass: () => 'newSeed', }, setIdentityWallet: jest.fn(() => Promise.resolve()), + identityWallet: { identity: { did: 'did:jolo:mock' } }, } const action = accountActions.checkIdentityExists() @@ -78,32 +79,28 @@ describe('Account action creators', () => { encryptionLib: { decryptWithPass: () => 'newSeed', }, + identityWallet: { identity: { did: 'did:jolo:first' } }, setIdentityWallet: jest.fn(() => Promise.resolve()), } const action = accountActions.checkIdentityExists() + // @ts-ignore await action(mockStore.dispatch, mockStore.getState, backendMiddleware) expect(mockStore.getActions()).toMatchSnapshot() }) - it('Should correctly handle an empty personas table', async () => { + it('Should correctly handle an empty encrypted seed table', async () => { const backendMiddleware = { storageLib: { get: { persona: jest.fn().mockResolvedValue([]), - encryptedSeed: jest.fn().mockResolvedValue('johnnycryptoseed'), + encryptedSeed: jest.fn().mockResolvedValue(null), }, }, - keyChainLib: { - getPassword: jest.fn().mockResolvedValue('sekrit'), - }, - encryptionLib: { - decryptWithPass: () => 'newSeed', - }, - setIdentityWallet: jest.fn(() => Promise.resolve()), } const action = accountActions.checkIdentityExists() + // @ts-ignore await action(mockStore.dispatch, mockStore.getState, backendMiddleware) expect(mockStore.getActions()).toMatchSnapshot() }) diff --git a/tests/actions/navigation/__snapshots__/index.test.ts.snap b/tests/actions/navigation/__snapshots__/index.test.ts.snap index 374780b8ce..b3532ce06d 100644 --- a/tests/actions/navigation/__snapshots__/index.test.ts.snap +++ b/tests/actions/navigation/__snapshots__/index.test.ts.snap @@ -10,10 +10,6 @@ Array [ "type": "SET_DEEP_LINK_LOADING", "value": true, }, - Object { - "type": "DID_SET", - "value": "did:jolo:mock", - }, ] `; diff --git a/tests/actions/navigation/index.test.ts b/tests/actions/navigation/index.test.ts index c4c4bbcd5a..1ee6f2db59 100644 --- a/tests/actions/navigation/index.test.ts +++ b/tests/actions/navigation/index.test.ts @@ -24,7 +24,7 @@ describe('Navigation action creators', () => { encryptionLib: { decryptWithPass: () => 'angelaMerkleTreeSeed', }, - setIdentityWallet: jest.fn(() => Promise.resolve()), + identityWallet: jest.fn(), } const parseJWTSpy = jest .spyOn(ssoActions, 'parseJWT') diff --git a/tests/actions/registration/index.test.ts b/tests/actions/registration/index.test.ts index 8b28d7b7ac..6e9128d82d 100644 --- a/tests/actions/registration/index.test.ts +++ b/tests/actions/registration/index.test.ts @@ -114,7 +114,7 @@ describe('Registration action creators', () => { expect(mockStore.getActions()).toMatchSnapshot() - expect(mockBackend.keyChainLib.getPassword).toHaveBeenCalledTimes(2) + expect(mockBackend.keyChainLib.getPassword).toHaveBeenCalledTimes(1) expect( mockBackend.encryptionLib.encryptWithPass.mock.calls, ).toMatchSnapshot() From 62c5b6b2f80fd1180bde240b420524aa8c87b00d Mon Sep 17 00:00:00 2001 From: VolkerSchiewe Date: Thu, 9 May 2019 10:25:16 +0200 Subject: [PATCH 4/5] assert setIdentityWallet was called --- tests/actions/account/index.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/actions/account/index.test.ts b/tests/actions/account/index.test.ts index 88cb305793..1cec5c1b2d 100644 --- a/tests/actions/account/index.test.ts +++ b/tests/actions/account/index.test.ts @@ -56,7 +56,7 @@ describe('Account action creators', () => { // @ts-ignore await action(mockStore.dispatch, mockStore.getState, backendMiddleware) - + expect(backendMiddleware.setIdentityWallet).toHaveBeenCalledTimes(1) expect(mockStore.getActions()).toMatchSnapshot() }) From 6932ad95b5f3cca167fc5502a3aecac8197b3592 Mon Sep 17 00:00:00 2001 From: VolkerSchiewe Date: Thu, 9 May 2019 16:07:05 +0200 Subject: [PATCH 5/5] fixed yarn lock and one snapshot --- src/actions/navigation/index.ts | 3 +-- .../navigation/__snapshots__/index.test.ts.snap | 4 ---- yarn.lock | 13 ++++++++++++- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/actions/navigation/index.ts b/src/actions/navigation/index.ts index 0ce5e4fb95..98556a69c2 100644 --- a/src/actions/navigation/index.ts +++ b/src/actions/navigation/index.ts @@ -6,7 +6,6 @@ import { AnyAction, Dispatch } from 'redux' import { ssoActions } from 'src/actions/' import { toggleLoading } from '../account' import { BackendMiddleware } from 'src/backendMiddleware' -import { instantiateIdentityWallet } from 'src/lib/util' import { setDeepLinkLoading, toggleDeepLinkFlag } from '../sso' import { routeList } from 'src/routeList' @@ -48,8 +47,8 @@ export const handleDeepLink = (url: string) => async ( return } - dispatch(toggleDeepLinkFlag(true)) dispatch(setDeepLinkLoading(true)) + dispatch(toggleDeepLinkFlag(true)) dispatch(ssoActions.parseJWT(params)) } } diff --git a/tests/actions/navigation/__snapshots__/index.test.ts.snap b/tests/actions/navigation/__snapshots__/index.test.ts.snap index 74e0feb395..c57de18f8c 100644 --- a/tests/actions/navigation/__snapshots__/index.test.ts.snap +++ b/tests/actions/navigation/__snapshots__/index.test.ts.snap @@ -14,10 +14,6 @@ Array [ "type": "SET_DEEP_LINK_FLAG", "value": true, }, - Object { - "type": "DID_SET", - "value": "did:jolo:mock", - }, ] `; diff --git a/yarn.lock b/yarn.lock index 0970153a83..d0e09a2620 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2259,7 +2259,7 @@ buffer@^3.0.1: ieee754 "^1.1.4" isarray "^1.0.0" -buffer@^4.3.0: +buffer@^4.3.0, buffer@^4.9.1: version "4.9.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" dependencies: @@ -7790,6 +7790,13 @@ react-native-qrcode-scanner@^1.0.1: prop-types "^15.5.10" react-native-permissions "^1.1.1" +react-native-randombytes@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/react-native-randombytes/-/react-native-randombytes-3.5.2.tgz#f23665b7cf1a3125d78d0d95df5d18c2ca9406a0" + dependencies: + buffer "^4.9.1" + sjcl "^1.0.3" + react-native-safe-area-view@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.7.0.tgz#38f5ab9368d6ef9e5d18ab64212938af3ec39421" @@ -8669,6 +8676,10 @@ sinon-chai@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-3.3.0.tgz#8084ff99451064910fbe2c2cb8ab540c00b740ea" +sjcl@^1.0.3: + version "1.0.8" + resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.8.tgz#f2ec8d7dc1f0f21b069b8914a41a8f236b0e252a" + sjcl@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/sjcl/-/sjcl-1.0.7.tgz#32b365a50dc9bba26b88ba3c9df8ea34217d9f45"