diff --git a/.eslintignore b/.eslintignore
index c814f9ef3..cf6370271 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -1,35 +1,9 @@
-# Logs
-logs
-*.log
-
-# Runtime data
-pids
-*.pid
-*.seed
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-
-# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# node-waf configuration
-.lock-wscript
-
# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release
.eslintcache
-# Dependency directory
-# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
node_modules
-# OSX
-.DS_Store
-
# App packaged
release
app/main.prod.js
diff --git a/.eslintrc.js b/.eslintrc.js
index d69a7535a..3a2f1dc08 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,4 +1,5 @@
module.exports = {
+ root: true,
extends: ['@blockstack/eslint-config', 'plugin:react-hooks/recommended'],
parser: '@typescript-eslint/parser',
parserOptions: {
@@ -11,6 +12,8 @@ module.exports = {
rules: {
'@typescript-eslint/explicit-module-boundary-types': 0,
'@typescript-eslint/no-unsafe-member-access': 0,
+ '@typescript-eslint/no-unsafe-assignment': 0,
+ '@typescript-eslint/no-unsafe-call': 0,
'no-warning-comments': ['warn', { terms: ['SECURITY'], location: 'anywhere' }],
},
};
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 000000000..a8be1ef1d
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,32 @@
+name: Testing
+
+on:
+ push:
+ branches: ['release/stacking']
+ pull_request:
+ branches: ['release/stacking']
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+
+ - name: Use Node.js
+ uses: actions/setup-node@v1
+
+ - name: Cache node_modules
+ uses: actions/cache@v2
+ with:
+ path: '**/node_modules'
+ key: ${{ hashFiles('**/yarn.lock') }}
+
+ - name: Install dependencies
+ run: yarn
+
+ - name: Build prod
+ run: yarn build
+
+ - name: Run jest
+ run: yarn test
diff --git a/app/constants/routes.json b/app/constants/routes.json
index 7a20a4317..35b7d4568 100644
--- a/app/constants/routes.json
+++ b/app/constants/routes.json
@@ -1,5 +1,6 @@
{
"HOME": "/",
+ "SIGN_IN": "/sign-in",
"WELCOME": "/onboard/welcome",
"CREATE": "/onboard/create",
"RESTORE": "/onboard/restore",
diff --git a/app/package.json b/app/package.json
index 3d8a26c01..8ac0c57e4 100644
--- a/app/package.json
+++ b/app/package.json
@@ -9,5 +9,8 @@
"postinstall": "yarn electron-rebuild"
},
"license": "MIT",
- "dependencies": {}
+ "dependencies": {
+ "@blockstack/keychain": "^0.5.0",
+ "blockstack": "21.1.0"
+ }
}
diff --git a/app/pages/app.tsx b/app/pages/app.tsx
deleted file mode 100644
index a95e1cd13..000000000
--- a/app/pages/app.tsx
+++ /dev/null
@@ -1,10 +0,0 @@
-import React, { ReactNode } from 'react';
-
-interface AppProps {
- children: ReactNode;
-}
-
-export default function App(props: AppProps): JSX.Element {
- const { children } = props;
- return <>{children}>;
-}
diff --git a/app/pages/home/home.tsx b/app/pages/home/home.tsx
index 2571b3280..1c4a267fc 100644
--- a/app/pages/home/home.tsx
+++ b/app/pages/home/home.tsx
@@ -4,14 +4,16 @@ import { Flex, Box } from '@blockstack/ui';
import { ChainID } from '@blockstack/stacks-transactions';
import { deriveRootKeychainFromMnemonic, deriveStxAddressChain } from '@blockstack/keychain';
-import { selectMnemonic } from '../../store/keys';
-import { BIP32Interface } from '@blockstack/keychain/node_modules/bip32';
+import { selectMnemonic, selectKeysSlice } from '../../store/keys';
+import { BIP32Interface } from '../../types';
//
// Placeholder component
export const Home: React.FC = () => {
const mnemonic = useSelector(selectMnemonic);
+ const keys = useSelector(selectKeysSlice);
const [keychain, setKeychain] = useState<{ rootNode: BIP32Interface } | null>(null);
+
useEffect(() => {
const deriveMasterKeychain = async () => {
if (!mnemonic) return;
@@ -21,19 +23,27 @@ export const Home: React.FC = () => {
void deriveMasterKeychain();
}, [mnemonic]);
- const { privateKey } = keychain?.rootNode
- ? deriveStxAddressChain(ChainID.Testnet)(keychain.rootNode)
- : { privateKey: '' };
+ if (keychain === null) return
Homepage, but no keychain can be derived
;
+
+ const rootNode = deriveStxAddressChain(ChainID.Testnet)(keychain.rootNode);
+
+ const privateKey = rootNode.privateKey;
+
+ const base58 = rootNode.childKey.toBase58();
- if (!mnemonic) return <>'How you get to homepage without a mnemonic?'>;
+ if (!mnemonic) return <>How you get to homepage without a mnemonic?>;
- console.log(keychain);
+ // console.log(keychain);
return (
Mnemonic: {mnemonic}
- MnemonicEncryptedHex: {(keychain as any)?.encryptedMnemonicHex}
+ MnemonicEncryptedHex: {privateKey}
Private key: {privateKey}
+ Base58: {base58}
+ Salt: {(keys as any).salt}
+ Password: {(keys as any).password}
+ Stretched Key: {(keys as any).derivedEncryptionKey}
);
};
diff --git a/app/pages/onboarding/08-set-password/set-password.tsx b/app/pages/onboarding/08-set-password/set-password.tsx
index 4b3c4649a..087163b51 100644
--- a/app/pages/onboarding/08-set-password/set-password.tsx
+++ b/app/pages/onboarding/08-set-password/set-password.tsx
@@ -1,8 +1,9 @@
import React, { useState } from 'react';
+import { useDispatch } from 'react-redux';
import { useHistory } from 'react-router';
import { Input } from '@blockstack/ui';
-import routes from '../../../constants/routes.json';
+import { setPassword as setPasswordAction } from '../../../store/keys';
import { Onboarding, OnboardingTitle, OnboardingButton } from '../../../components/onboarding';
import { ErrorLabel } from '../../../components/error-label';
import { ErrorText } from '../../../components/error-text';
@@ -27,9 +28,11 @@ const weakPasswordWarningMessage = (result: ValidatedPassword) => {
export const SetPassword: React.FC = () => {
const history = useHistory();
+ const dispatch = useDispatch();
const [password, setPassword] = useState(null);
const [strengthResult, setStrengthResult] = useState(blankPasswordValidation);
const [hasSubmitted, setHasSubmitted] = useState(false);
+ const [btnDisabled, setBtnDisabled] = useState(false);
const handlePasswordInput = (e: React.FormEvent) => {
e.preventDefault();
@@ -44,7 +47,8 @@ export const SetPassword: React.FC = () => {
const result = validatePassword(password);
setStrengthResult(result);
if (result.meetsAllStrengthRequirements) {
- history.push(routes.HOME);
+ setBtnDisabled(true);
+ dispatch(setPasswordAction({ password, history }));
}
};
@@ -57,7 +61,7 @@ export const SetPassword: React.FC = () => {
{weakPasswordWarningMessage(strengthResult)}
)}
-
+
Continue
diff --git a/app/pages/root.tsx b/app/pages/root.tsx
index 886b5cefa..e39e90788 100644
--- a/app/pages/root.tsx
+++ b/app/pages/root.tsx
@@ -7,7 +7,7 @@ import { Link } from 'react-router-dom';
import { hot } from 'react-hot-loader/root';
import { History } from 'history';
-import { Store } from '../store/reducers';
+import { Store } from '../store';
import { Routes, routerConfig } from '../routes';
import { loadFonts } from '../utils/load-fonts';
@@ -17,7 +17,7 @@ const GlobalStyle = createGlobalStyle`
}
`;
-function DevFooter() {
+export function DevFooter() {
return (
{routerConfig.map((route, i) => (
@@ -40,12 +40,12 @@ function Root({ store, history }: RootProps) {
useEffect(() => {
void loadFonts();
}, []);
+
return (
- {/* */}
diff --git a/app/pages/sign-in/sign-in.tsx b/app/pages/sign-in/sign-in.tsx
new file mode 100644
index 000000000..54c705aa6
--- /dev/null
+++ b/app/pages/sign-in/sign-in.tsx
@@ -0,0 +1,45 @@
+import React, { useState } from 'react';
+import { useDispatch, useSelector } from 'react-redux';
+import { useHistory } from 'react-router';
+import { Input } from '@blockstack/ui';
+
+import { Onboarding, OnboardingTitle, OnboardingButton } from '../../components/onboarding';
+import { ErrorLabel } from '../../components/error-label';
+import { ErrorText } from '../../components/error-text';
+import { decryptWallet, selectKeysSlice } from '../../store/keys';
+
+export const SignIn: React.FC = () => {
+ const history = useHistory();
+ const dispatch = useDispatch();
+ const [password, setPassword] = useState(null);
+ const [hasSubmitted, setHasSubmitted] = useState(false);
+ const keysState = useSelector(selectKeysSlice);
+
+ const handlePasswordInput = (e: React.FormEvent) => {
+ e.preventDefault();
+ const pass = e.currentTarget.value;
+ setPassword(pass);
+ };
+
+ const handleSubmit = (e: React.FormEvent) => {
+ e.preventDefault();
+ setHasSubmitted(true);
+ if (!password) return;
+ dispatch(decryptWallet({ password, history }));
+ };
+
+ return (
+
+ Enter your password
+
+ {hasSubmitted && keysState.decryptionError && (
+
+ Password entered is incorrect
+
+ )}
+
+ Continue
+
+
+ );
+};
diff --git a/app/routes.tsx b/app/routes.tsx
index 7d396cd7a..b5b9ae376 100644
--- a/app/routes.tsx
+++ b/app/routes.tsx
@@ -1,9 +1,11 @@
import React from 'react';
+import { useStore } from 'react-redux';
import { Switch, Route, Redirect } from 'react-router-dom';
import routes from './constants/routes.json';
-import App from './pages/app';
import { Home } from './pages/home/home';
+import { selectKeysSlice } from './store/keys/keys.reducer';
+import { SignIn } from './pages/sign-in/sign-in';
import {
Welcome,
CreateWallet,
@@ -20,6 +22,10 @@ export const routerConfig = [
path: routes.HOME,
component: Home,
},
+ {
+ path: routes.SIGN_IN,
+ component: SignIn,
+ },
{
path: routes.WELCOME,
component: Welcome,
@@ -58,15 +64,20 @@ export const routerConfig = [
},
];
+const getAppStartingRoute = (salt?: string) => (!!salt ? routes.SIGN_IN : routes.WELCOME);
+
export function Routes() {
+ // `useStore` required as we only want the value on initial render
+ const store = useStore();
+ const { salt } = selectKeysSlice(store.getState());
return (
-
+ <>
{routerConfig.map((route, i) => (
))}
-
-
+
+ >
);
}
diff --git a/app/store/configureStore.dev.ts b/app/store/configureStore.dev.ts
index d4d92a053..98b9b6da0 100644
--- a/app/store/configureStore.dev.ts
+++ b/app/store/configureStore.dev.ts
@@ -5,7 +5,8 @@ import thunk from 'redux-thunk';
import { createHashHistory } from 'history';
import { routerMiddleware, routerActions } from 'connected-react-router';
import { createLogger } from 'redux-logger';
-import { RootState, createRootReducer } from './reducers';
+import { RootState, createRootReducer } from '.';
+import { getInitialStateFromDisk } from '../utils/disk-store';
declare global {
interface Window {
@@ -20,7 +21,7 @@ declare global {
export const history = createHashHistory();
-const rootReducer = createRootReducer(history);
+const rootReducer = createRootReducer({ history, keys: getInitialStateFromDisk() });
export const configureStore = (initialState?: RootState) => {
// Redux Configuration
@@ -66,7 +67,7 @@ export const configureStore = (initialState?: RootState) => {
const store = createStore(rootReducer, initialState, enhancer);
if (module.hot) {
- module.hot.accept('./reducers', () => store.replaceReducer(require('./reducers').default));
+ module.hot.accept('./index', () => store.replaceReducer(require('./index').default));
}
return store;
diff --git a/app/store/configureStore.prod.ts b/app/store/configureStore.prod.ts
index 9c2fb6313..1069db1e6 100644
--- a/app/store/configureStore.prod.ts
+++ b/app/store/configureStore.prod.ts
@@ -2,10 +2,11 @@ import { createStore, applyMiddleware } from '@reduxjs/toolkit';
import thunk from 'redux-thunk';
import { createHashHistory } from 'history';
import { routerMiddleware } from 'connected-react-router';
-import { RootState, createRootReducer } from './reducers';
+import { RootState, createRootReducer } from '.';
+import { getInitialStateFromDisk } from '../utils/disk-store';
export const history = createHashHistory();
-const rootReducer = createRootReducer(history);
+const rootReducer = createRootReducer({ history, keys: getInitialStateFromDisk() });
const router = routerMiddleware(history);
const enhancer = applyMiddleware(thunk, router);
diff --git a/app/store/reducers/index.ts b/app/store/index.ts
similarity index 67%
rename from app/store/reducers/index.ts
rename to app/store/index.ts
index 2a55d6261..b04d0906d 100644
--- a/app/store/reducers/index.ts
+++ b/app/store/index.ts
@@ -1,9 +1,8 @@
import { Dispatch as ReduxDispatch, Store as ReduxStore, Action } from 'redux';
import { combineReducers } from '@reduxjs/toolkit';
import { connectRouter } from 'connected-react-router';
-import { History } from 'history';
-import { KeysState, keyReducer } from '../keys';
+import { KeysState, createKeysReducer } from './keys';
export interface RootState {
router: any;
@@ -16,9 +15,14 @@ export type Dispatch = ReduxDispatch>;
export type Store = ReduxStore>;
-export function createRootReducer(history: History) {
+interface RootReducerArgs {
+ history: any;
+ keys: Partial;
+}
+
+export function createRootReducer({ history, keys }: RootReducerArgs) {
return combineReducers({
router: connectRouter(history),
- keys: keyReducer,
+ keys: createKeysReducer(keys),
});
}
diff --git a/app/store/keys/keys.actions.ts b/app/store/keys/keys.actions.ts
index b659c57fc..8a24202b0 100644
--- a/app/store/keys/keys.actions.ts
+++ b/app/store/keys/keys.actions.ts
@@ -1,21 +1,96 @@
import { push } from 'connected-react-router';
import { createAction, Dispatch } from '@reduxjs/toolkit';
+import { useHistory } from 'react-router';
+import bcryptjs from 'bcryptjs';
+import { memoizeWith, identity } from 'ramda';
import { generateMnemonicRootKeychain } from '@blockstack/keychain';
+import { encryptMnemonic, decryptMnemonic } from 'blockstack';
+
import routes from '../../constants/routes.json';
import { MNEMONIC_ENTROPY } from '../../constants';
+import { RootState } from '../index';
+import { persistSalt, persistEncryptedMnemonic } from '../../utils/disk-store';
+import { safeAwait } from '../../utils/safe-await';
+import log from 'electron-log';
+import { selectMnemonic } from './keys.reducer';
+
+type History = ReturnType;
export const persistMnemonicSafe = createAction('keys/save-mnemonic-safe');
export const persistMnemonic = createAction('keys/save-mnemonic');
-export const removeMnemonic = createAction('keys/remove-mnemonic');
-
-export const onboardingMnemonicGenerationStep = ({
- stepDelayMs,
-}: {
- stepDelayMs: number;
-}) => async (dispatch: Dispatch) => {
- const key = await generateMnemonicRootKeychain(MNEMONIC_ENTROPY);
- dispatch(persistMnemonicSafe(key.plaintextMnemonic));
- setTimeout(() => dispatch(push(routes.SECRET_KEY)), stepDelayMs);
-};
+export const addData = createAction('keys/add-all');
+
+interface SetPasswordSuccess {
+ salt: string;
+ encryptedMnemonic: string;
+}
+export const setPasswordSuccess = createAction('keys/set-password-success');
+
+export function onboardingMnemonicGenerationStep({ stepDelayMs }: { stepDelayMs: string }) {
+ return async (dispatch: Dispatch) => {
+ const key = await generateMnemonicRootKeychain(MNEMONIC_ENTROPY);
+ dispatch(persistMnemonicSafe(key.plaintextMnemonic));
+ setTimeout(() => dispatch(push(routes.SECRET_KEY)), stepDelayMs);
+ };
+}
+
+// 980aa096dd224bd69685583b363de2be
+export async function generateDerivedKey({ password, salt }: { password: string; salt: string }) {
+ return bcryptjs.hash(password, salt);
+}
+
+const generateSalt = memoizeWith(identity, async () => await bcryptjs.genSalt(12));
+
+export function setPassword({ password, history }: { password: string; history: History }) {
+ return async (dispatch: Dispatch, getState: () => RootState) => {
+ const state = getState();
+ const mnemonic = selectMnemonic(state);
+ const salt = await generateSalt();
+
+ const derivedEncryptionKey = await generateDerivedKey({ password, salt });
+ if (!mnemonic) {
+ log.error('Cannot derive encryption key unless a mnemonic has been generated');
+ return;
+ }
+ const encryptedMnemonicBuffer = await encryptMnemonic(mnemonic, derivedEncryptionKey);
+ const encryptedMnemonic = encryptedMnemonicBuffer.toString('hex');
+ // TEMP: to remove, useful for debugging
+ dispatch(setPasswordSuccess({ salt, encryptedMnemonic }));
+ persistSalt(salt);
+ persistEncryptedMnemonic(encryptedMnemonic);
+ history.push(routes.HOME);
+ };
+}
+
+export const attemptWalletDecrypt = createAction('keys/attempt-wallet-decrypt');
+export const attemptWalletDecryptSuccess = createAction<{ salt: string; mnemonic: string }>(
+ 'keys/attempt-wallet-decrypt-success'
+);
+export const attemptWalletDecryptFailed = createAction<{ decryptionError: string }>(
+ 'keys/attempt-wallet-decrypt-failed'
+);
+
+export function decryptWallet({ password, history }: { password: string; history: History }) {
+ return async (dispatch: Dispatch, getState: () => RootState) => {
+ dispatch(attemptWalletDecrypt());
+ const salt = (getState().keys as any).salt as string;
+ const encryptedMnemonic = (getState().keys as any).encryptedMnemonic as string;
+ const key = await generateDerivedKey({ password, salt });
+
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore
+ const [error, mnemonic] = await safeAwait(decryptMnemonic(encryptedMnemonic, key));
+
+ if (error) {
+ dispatch(attemptWalletDecryptFailed({ decryptionError: 'Password incorrect' }));
+ return;
+ }
+
+ if (mnemonic) {
+ history.push(routes.HOME);
+ dispatch(attemptWalletDecryptSuccess({ salt, mnemonic }));
+ }
+ };
+}
diff --git a/app/store/keys/keys.reducer.spec.ts b/app/store/keys/keys.reducer.spec.ts
new file mode 100644
index 000000000..827b68ba3
--- /dev/null
+++ b/app/store/keys/keys.reducer.spec.ts
@@ -0,0 +1,45 @@
+import { createKeysReducer, KeysState } from './keys.reducer';
+import { persistMnemonicSafe, persistMnemonic } from './keys.actions';
+
+jest.mock('electron-store');
+jest.mock('electron-log');
+
+describe('keysReducer', () => {
+ let reducer: ReturnType;
+
+ beforeEach(() => (reducer = createKeysReducer()));
+
+ describe('persistMnemonicSafe', () => {
+ test('the mnemonic is stored', () => {
+ const state = { mnemonic: null } as KeysState;
+ const action = persistMnemonicSafe('test mnemonic');
+ const result = reducer(state, action);
+ expect(result).toEqual({ mnemonic: 'test mnemonic' });
+ });
+
+ test('mnemonic is not changed when already exists', () => {
+ const state = { mnemonic: 'already set mnemonic' } as KeysState;
+ const action = persistMnemonicSafe('test mnemonic');
+ const result = reducer(state, action);
+ expect(result).toEqual({ mnemonic: 'already set mnemonic' });
+ });
+ });
+
+ describe('persistMnemonic', () => {
+ test('it saves mnemonic, regardless', () => {
+ const state = { mnemonic: 'twenty four words blah' } as KeysState;
+ const action = persistMnemonic('test mnemonic');
+ const result = reducer(state, action);
+ expect(result).toEqual({ mnemonic: 'test mnemonic' });
+ });
+ });
+
+ describe('persistMnemonic', () => {
+ test('it saves mnemonic, regardless', () => {
+ const state = { mnemonic: 'twenty four words blah' } as KeysState;
+ const action = persistMnemonic('test mnemonic');
+ const result = reducer(state, action);
+ expect(result).toEqual({ mnemonic: 'test mnemonic' });
+ });
+ });
+});
diff --git a/app/store/keys/keys.reducer.ts b/app/store/keys/keys.reducer.ts
index 5a9607662..8cd26adec 100644
--- a/app/store/keys/keys.reducer.ts
+++ b/app/store/keys/keys.reducer.ts
@@ -1,30 +1,55 @@
import { createReducer, createSelector } from '@reduxjs/toolkit';
import log from 'electron-log';
-import { RootState } from '../reducers';
-import { persistMnemonicSafe, removeMnemonic, persistMnemonic } from './keys.actions';
+import { RootState } from '..';
+import { setPasswordSuccess, attemptWalletDecryptSuccess } from './keys.actions';
+import {
+ persistMnemonicSafe,
+ persistMnemonic,
+ attemptWalletDecryptFailed,
+ attemptWalletDecrypt,
+} from './keys.actions';
export interface KeysState {
mnemonic: string | null;
+ decrypting: boolean;
+ salt?: string;
+ decryptionError?: string;
+ encryptMnemonic?: string;
}
const initialState: Readonly = Object.freeze({
mnemonic: null,
+ decrypting: false,
});
-export const keyReducer = createReducer(initialState, builder =>
- builder
- .addCase(persistMnemonicSafe, (state, action) => {
- if (state.mnemonic !== null) {
- log.warn('generateMnemonicSafe failed. Tried to create mnemonic when one already exists.');
- return state;
- }
- return { mnemonic: action.payload };
- })
- .addCase(persistMnemonic, (_state, action) => ({ mnemonic: action.payload }))
- .addCase(removeMnemonic, () => ({ mnemonic: null }))
-);
+export const createKeysReducer = (keys: Partial = {}) =>
+ createReducer({ ...initialState, ...keys }, builder =>
+ builder
+ .addCase(persistMnemonicSafe, (state, action) => {
+ if (state.mnemonic !== null) {
+ log.warn(
+ 'generateMnemonicSafe failed. Tried to create mnemonic when one already exists.'
+ );
+ return state;
+ }
+ return { ...state, mnemonic: action.payload };
+ })
+ .addCase(persistMnemonic, (state, action) => ({ ...state, mnemonic: action.payload }))
+ .addCase(setPasswordSuccess, (state, action) => ({ ...state, ...action.payload }))
+ .addCase(attemptWalletDecrypt, state => ({ ...state, decrypting: true }))
+ .addCase(attemptWalletDecryptFailed, (state, action) => ({
+ ...state,
+ decrypting: false,
+ decryptionError: action.payload.decryptionError,
+ }))
+ .addCase(attemptWalletDecryptSuccess, (state, { payload }) => ({
+ ...state,
+ salt: payload.salt,
+ mnemonic: payload.mnemonic,
+ }))
+ );
-const selectKeysSlice = (state: RootState) => state.keys;
+export const selectKeysSlice = (state: RootState) => state.keys;
export const selectMnemonic = createSelector(selectKeysSlice, state => state.mnemonic);
diff --git a/app/types.ts b/app/types.ts
new file mode 100644
index 000000000..3772b6a73
--- /dev/null
+++ b/app/types.ts
@@ -0,0 +1,45 @@
+///
+interface Network {
+ wif: number;
+ bip32: {
+ public: number;
+ private: number;
+ };
+ messagePrefix?: string;
+ bech32?: string;
+ pubKeyHash?: number;
+ scriptHash?: number;
+}
+export interface BIP32Interface {
+ chainCode: Buffer;
+ network: Network;
+ lowR: boolean;
+ depth: number;
+ index: number;
+ parentFingerprint: number;
+ publicKey: Buffer;
+ privateKey?: Buffer;
+ identifier: Buffer;
+ fingerprint: Buffer;
+ isNeutered(): boolean;
+ neutered(): BIP32Interface;
+ toBase58(): string;
+ toWIF(): string;
+ derive(index: number): BIP32Interface;
+ deriveHardened(index: number): BIP32Interface;
+ derivePath(path: string): BIP32Interface;
+ sign(hash: Buffer, lowR?: boolean): Buffer;
+ verify(hash: Buffer, signature: Buffer): boolean;
+}
+export declare function fromBase58(inString: string, network?: Network): BIP32Interface;
+export declare function fromPrivateKey(
+ privateKey: Buffer,
+ chainCode: Buffer,
+ network?: Network
+): BIP32Interface;
+export declare function fromPublicKey(
+ publicKey: Buffer,
+ chainCode: Buffer,
+ network?: Network
+): BIP32Interface;
+export declare function fromSeed(seed: Buffer, network?: Network): BIP32Interface;
diff --git a/app/utils/disk-store.ts b/app/utils/disk-store.ts
new file mode 100644
index 000000000..c4719841f
--- /dev/null
+++ b/app/utils/disk-store.ts
@@ -0,0 +1,20 @@
+import Store from 'electron-store';
+
+const store = new Store();
+
+export const persistEncryptedMnemonic = (encryptedMnemonic: string) => {
+ store.set('encryptedMnemonic', encryptedMnemonic);
+};
+
+export const persistSalt = (salt: string) => {
+ store.set('salt', salt);
+};
+
+export const getPrivateKey = () => (store.get('privateKey') || null) as string | null;
+
+export const getInitialStateFromDisk = () => {
+ return {
+ salt: store.get('salt') as string,
+ encryptedMnemonic: store.get('encryptedMnemonic') as string,
+ };
+};
diff --git a/app/yarn.lock b/app/yarn.lock
index fb57ccd13..174672f2e 100644
--- a/app/yarn.lock
+++ b/app/yarn.lock
@@ -2,3 +2,1033 @@
# yarn lockfile v1
+"@blockstack/keychain@^0.5.0":
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/@blockstack/keychain/-/keychain-0.5.0.tgz#bf4fcaa0055c7aa61370017847c5d224fea153d9"
+ integrity sha512-21Zu8j5FkI8dzPGaMn1vB0efcNtBCJ8Pg1dYQLgnpFyH8OhfAsVWuHRCReXtS3xxMVjnEZebs0YIIZzfAxZQ0A==
+ dependencies:
+ "@blockstack/stacks-transactions" "^0.4.6"
+ bip39 "^3.0.2"
+ bitcoinjs-lib "^5.1.6"
+ blockstack "21.0.0-alpha.2"
+ c32check "^1.0.1"
+ jsontokens "^3.0.0"
+ prettier "^2.0.5"
+ triplesec "^3.0.27"
+
+"@blockstack/stacks-transactions@^0.4.6":
+ version "0.4.6"
+ resolved "https://registry.yarnpkg.com/@blockstack/stacks-transactions/-/stacks-transactions-0.4.6.tgz#b774250fbaadbadf42313a82fbd628b1728cd6ed"
+ integrity sha512-3Hb+v0ZmG5bVZHasfM9KzlwK+2e5r6oKsKk0eRgavLb5bBMQy/cw0YYoUWmt+ipNqDP5ssZgoOA1KKRhoSWvXg==
+ dependencies:
+ "@types/bn.js" "^4.11.6"
+ "@types/elliptic" "^6.4.12"
+ "@types/lodash" "^4.14.149"
+ "@types/randombytes" "^2.0.0"
+ "@types/ripemd160" "^2.0.0"
+ "@types/sha.js" "^2.4.0"
+ bn.js "^4.11.8"
+ c32check "^1.0.1"
+ cross-fetch "^3.0.4"
+ elliptic "^6.5.2"
+ lodash "^4.17.15"
+ randombytes "^2.1.0"
+ ripemd160 "^2.0.2"
+ sha.js "^2.4.11"
+ smart-buffer "^4.1.0"
+
+"@types/bn.js@*", "@types/bn.js@^4.11.6":
+ version "4.11.6"
+ resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c"
+ integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==
+ dependencies:
+ "@types/node" "*"
+
+"@types/cheerio@^0.22.13":
+ version "0.22.18"
+ resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.18.tgz#19018dceae691509901e339d63edf1e935978fe6"
+ integrity sha512-Fq7R3fINAPSdUEhOyjG4iVxgHrOnqDJbY0/BUuiN0pvD/rfmZWekVZnv+vcs8TtpA2XF50uv50LaE4EnpEL/Hw==
+ dependencies:
+ "@types/node" "*"
+
+"@types/elliptic@^6.4.10", "@types/elliptic@^6.4.12", "@types/elliptic@^6.4.9":
+ version "6.4.12"
+ resolved "https://registry.yarnpkg.com/@types/elliptic/-/elliptic-6.4.12.tgz#e8add831f9cc9a88d9d84b3733ff669b68eaa124"
+ integrity sha512-gP1KsqoouLJGH6IJa28x7PXb3cRqh83X8HCLezd2dF+XcAIMKYv53KV+9Zn6QA561E120uOqZBQ+Jy/cl+fviw==
+ dependencies:
+ "@types/bn.js" "*"
+
+"@types/lodash@^4.14.149":
+ version "4.14.155"
+ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.155.tgz#e2b4514f46a261fd11542e47519c20ebce7bc23a"
+ integrity sha512-vEcX7S7aPhsBCivxMwAANQburHBtfN9RdyXFk84IJmu2Z4Hkg1tOFgaslRiEqqvoLtbCBi6ika1EMspE+NZ9Lg==
+
+"@types/node@*":
+ version "14.0.13"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.13.tgz#ee1128e881b874c371374c1f72201893616417c9"
+ integrity sha512-rouEWBImiRaSJsVA+ITTFM6ZxibuAlTuNOCyxVbwreu6k6+ujs7DfnU9o+PShFhET78pMBl3eH+AGSI5eOTkPA==
+
+"@types/node@10.12.18":
+ version "10.12.18"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67"
+ integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==
+
+"@types/node@11.11.6":
+ version "11.11.6"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a"
+ integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==
+
+"@types/node@^12.7.12":
+ version "12.12.47"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.47.tgz#5007b8866a2f9150de82335ca7e24dd1d59bdfb5"
+ integrity sha512-yzBInQFhdY8kaZmqoL2+3U5dSTMrKaYcb561VU+lDzAYvqt+2lojvBEy+hmpSNuXnPTx7m9+04CzWYOUqWME2A==
+
+"@types/randombytes@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@types/randombytes/-/randombytes-2.0.0.tgz#0087ff5e60ae68023b9bc4398b406fea7ad18304"
+ integrity sha512-bz8PhAVlwN72vqefzxa14DKNT8jK/mV66CSjwdVQM/k3Th3EPKfUtdMniwZgMedQTFuywAsfjnZsg+pEnltaMA==
+ dependencies:
+ "@types/node" "*"
+
+"@types/ripemd160@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@types/ripemd160/-/ripemd160-2.0.0.tgz#d33e49cf66edf4668828030d4aa80116bbf8ae81"
+ integrity sha512-LD6AO/+8cAa1ghXax9NG9iPDLPUEGB2WWPjd//04KYfXxTwHvlDEfL0NRjrM5z9XWBi6WbKw75Are0rDyn3PSA==
+ dependencies:
+ "@types/node" "*"
+
+"@types/sha.js@^2.4.0":
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/@types/sha.js/-/sha.js-2.4.0.tgz#bce682ef860b40f419d024fa08600c3b8d24bb01"
+ integrity sha512-amxKgPy6WJTKuw8mpUwjX2BSxuBtBmZfRwIUDIuPJKNwGN8CWDli8JTg5ONTWOtcTkHIstvT7oAhhYXqEjStHQ==
+ dependencies:
+ "@types/node" "*"
+
+ajv@^4.11.5:
+ version "4.11.8"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
+ integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=
+ dependencies:
+ co "^4.6.0"
+ json-stable-stringify "^1.0.1"
+
+ajv@^6.5.5:
+ version "6.12.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
+ integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+asn1.js@^5.0.1:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.3.0.tgz#439099fe9174e09cff5a54a9dda70260517e8689"
+ integrity sha512-WHnQJFcOrIWT1RLOkFFBQkFVvyt9BPOOrH+Dp152Zk4R993rSzXUGPmkybIcUFhHE2d/iHH+nCaOWVCDbO8fgA==
+ dependencies:
+ bn.js "^4.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+ safer-buffer "^2.1.0"
+
+asn1@~0.2.3:
+ version "0.2.4"
+ resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
+ integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
+ dependencies:
+ safer-buffer "~2.1.0"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
+
+async@~2.6.3:
+ version "2.6.3"
+ resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
+ integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
+ dependencies:
+ lodash "^4.17.14"
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+ integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
+
+aws4@^1.8.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2"
+ integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA==
+
+base-x@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/base-x/-/base-x-1.1.0.tgz#42d3d717474f9ea02207f6d1aa1f426913eeb7ac"
+ integrity sha1-QtPXF0dPnqAiB/bRqh9CaRPut6w=
+
+base-x@^3.0.2:
+ version "3.0.8"
+ resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d"
+ integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==
+ dependencies:
+ safe-buffer "^5.0.1"
+
+base58check@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/base58check/-/base58check-2.0.0.tgz#8046652d14bc87f063bd16be94a39134d3b61173"
+ integrity sha1-gEZlLRS8h/BjvRa+lKORNNO2EXM=
+ dependencies:
+ bs58 "^3.0.0"
+
+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==
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+ integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
+ dependencies:
+ tweetnacl "^0.14.3"
+
+bech32@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9"
+ integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==
+
+bindings@^1.3.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
+ integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
+ dependencies:
+ file-uri-to-path "1.0.0"
+
+bip174@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/bip174/-/bip174-1.0.1.tgz#858a587f9529e22ee9b0572fd884e5783696824d"
+ integrity sha512-Mq2aFs1TdMfxBpYPg7uzjhsiXbAtoVq44TNjEWtvuZBiBgc3m7+n55orYMtTAxdg7jWbL4DtH0MKocJER4xERQ==
+
+bip32@^2.0.4:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.5.tgz#e3808a9e97a880dbafd0f5f09ca4a1e14ee275d2"
+ integrity sha512-zVY4VvJV+b2fS0/dcap/5XLlpqtgwyN8oRkuGgAS1uLOeEp0Yo6Tw2yUTozTtlrMJO3G8n4g/KX/XGFHW6Pq3g==
+ dependencies:
+ "@types/node" "10.12.18"
+ bs58check "^2.1.1"
+ create-hash "^1.2.0"
+ create-hmac "^1.1.7"
+ tiny-secp256k1 "^1.1.3"
+ typeforce "^1.11.5"
+ wif "^2.0.6"
+
+bip39@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.2.tgz#2baf42ff3071fc9ddd5103de92e8f80d9257ee32"
+ integrity sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ==
+ dependencies:
+ "@types/node" "11.11.6"
+ create-hash "^1.1.0"
+ pbkdf2 "^3.0.9"
+ randombytes "^2.0.1"
+
+bip66@^1.1.0:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22"
+ integrity sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=
+ dependencies:
+ safe-buffer "^5.0.1"
+
+bitcoin-ops@^1.3.0, bitcoin-ops@^1.4.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz#e45de620398e22fd4ca6023de43974ff42240278"
+ integrity sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow==
+
+bitcoinjs-lib@^5.1.6:
+ version "5.1.10"
+ resolved "https://registry.yarnpkg.com/bitcoinjs-lib/-/bitcoinjs-lib-5.1.10.tgz#91ec7cde308007008b22ed9117c5f26970cbad54"
+ integrity sha512-CesUqtBtnYc+SOMsYN9jWQWhdohW1MpklUkF7Ukn4HiAyN6yxykG+cIJogfRt6x5xcgH87K1Q+Mnoe/B+du1Iw==
+ dependencies:
+ bech32 "^1.1.2"
+ bip174 "^1.0.1"
+ bip32 "^2.0.4"
+ bip66 "^1.1.0"
+ bitcoin-ops "^1.4.0"
+ bs58check "^2.0.0"
+ create-hash "^1.1.0"
+ create-hmac "^1.1.3"
+ merkle-lib "^2.0.10"
+ pushdata-bitcoin "^1.0.1"
+ randombytes "^2.0.1"
+ tiny-secp256k1 "^1.1.1"
+ typeforce "^1.11.3"
+ varuint-bitcoin "^1.0.4"
+ wif "^2.0.1"
+
+blockstack@21.0.0-alpha.2:
+ version "21.0.0-alpha.2"
+ resolved "https://registry.yarnpkg.com/blockstack/-/blockstack-21.0.0-alpha.2.tgz#1f223387df24b5770d5e7ec4031df52b8014ca11"
+ integrity sha512-I7FQTYU78H/Eok/is0G79dSaQ7tD0DuKGKRCihHDdAKHYGeiTIZyHQ8fyK3NL8yEoRzRoIlCPEefCQgh/no6hg==
+ dependencies:
+ "@types/cheerio" "^0.22.13"
+ "@types/elliptic" "^6.4.10"
+ "@types/node" "^12.7.12"
+ "@types/randombytes" "^2.0.0"
+ ajv "^4.11.5"
+ bip39 "^3.0.2"
+ bitcoinjs-lib "^5.1.6"
+ bn.js "^4.11.8"
+ cross-fetch "^3.0.4"
+ elliptic "^6.5.1"
+ form-data "^2.5.1"
+ jsontokens "3.0.0-alpha.0"
+ query-string "^6.8.3"
+ randombytes "^2.1.0"
+ request "^2.88.0"
+ ripemd160-min "0.0.5"
+ schema-inspector "^1.6.8"
+ tslib "^1.10.0"
+ uuid "^3.3.3"
+ zone-file "^1.0.0"
+
+blockstack@21.1.0:
+ version "21.1.0"
+ resolved "https://registry.yarnpkg.com/blockstack/-/blockstack-21.1.0.tgz#4c0b2678647f7c697efe98f50e24482a1dc0cf09"
+ integrity sha512-K3n161dRhDqBPzSe1gbg0+O7Xd5u00p6Ort2O+DAPMqs3aIy6XI/NhJgs7pestetL/iaGhaJ9EdDUHP4nU4zVQ==
+ dependencies:
+ "@types/bn.js" "^4.11.6"
+ "@types/cheerio" "^0.22.13"
+ "@types/elliptic" "^6.4.10"
+ "@types/node" "^12.7.12"
+ "@types/randombytes" "^2.0.0"
+ ajv "^4.11.5"
+ bip39 "^3.0.2"
+ bitcoinjs-lib "^5.1.6"
+ bn.js "^4.11.8"
+ cross-fetch "^3.0.4"
+ elliptic "^6.5.1"
+ form-data "^2.5.1"
+ jsontokens "3.0.0"
+ query-string "^6.8.3"
+ randombytes "^2.1.0"
+ request "^2.88.0"
+ ripemd160-min "0.0.5"
+ schema-inspector "^1.6.8"
+ sha.js "^2.4.11"
+ tslib "^1.10.0"
+ uuid "^3.3.3"
+ zone-file "^1.0.0"
+
+bn.js@^4.0.0, bn.js@^4.11.8, bn.js@^4.4.0:
+ version "4.11.9"
+ resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828"
+ integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==
+
+brorand@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+ integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
+
+bs58@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/bs58/-/bs58-3.1.0.tgz#d4c26388bf4804cac714141b1945aa47e5eb248e"
+ integrity sha1-1MJjiL9IBMrHFBQbGUWqR+XrJI4=
+ dependencies:
+ base-x "^1.1.0"
+
+bs58@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a"
+ integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo=
+ dependencies:
+ base-x "^3.0.2"
+
+bs58check@<3.0.0, bs58check@^2.0.0, bs58check@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc"
+ integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==
+ dependencies:
+ bs58 "^4.0.0"
+ create-hash "^1.1.0"
+ safe-buffer "^5.1.2"
+
+c32check@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/c32check/-/c32check-1.0.1.tgz#857dcd60de12f515d582dc70e85b9fb9666cbf32"
+ integrity sha512-0e1+39uLNLyRm9sNoPUCg38LOELUqiBDZXD9kpUUAFNBq21gY3VaNImp1rfznQOsqK27ArvQ2JaZmfokZznqHg==
+ dependencies:
+ base58check "^2.0.0"
+ ripemd160 "^2.0.1"
+
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
+
+cipher-base@^1.0.1, cipher-base@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+ integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+co@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+ integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
+
+combined-stream@^1.0.6, combined-stream@~1.0.6:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
+commander@~2.20.3:
+ version "2.20.3"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
+core-util-is@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
+
+create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
+ integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
+ dependencies:
+ cipher-base "^1.0.1"
+ inherits "^2.0.1"
+ md5.js "^1.3.4"
+ ripemd160 "^2.0.1"
+ sha.js "^2.4.0"
+
+create-hmac@^1.1.3, create-hmac@^1.1.4, create-hmac@^1.1.7:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
+ integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
+ dependencies:
+ cipher-base "^1.0.3"
+ create-hash "^1.1.0"
+ inherits "^2.0.1"
+ ripemd160 "^2.0.0"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
+cross-fetch@^3.0.4:
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.5.tgz#2739d2981892e7ab488a7ad03b92df2816e03f4c"
+ integrity sha512-FFLcLtraisj5eteosnX1gf01qYDCOc4fDy0+euOt8Kn9YBY2NtXL/pCoYPavw24NIQkQqm5ZOLsGD5Zzj0gyew==
+ dependencies:
+ node-fetch "2.6.0"
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
+ dependencies:
+ assert-plus "^1.0.0"
+
+decode-uri-component@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
+
+ecc-jsbn@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+ integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
+ dependencies:
+ jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
+
+ecdsa-sig-formatter@^1.0.11:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
+ integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
+ dependencies:
+ safe-buffer "^5.0.1"
+
+elliptic@^6.4.0, elliptic@^6.4.1, elliptic@^6.5.1, elliptic@^6.5.2:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762"
+ integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==
+ dependencies:
+ bn.js "^4.4.0"
+ brorand "^1.0.1"
+ hash.js "^1.0.0"
+ hmac-drbg "^1.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.0"
+
+extend@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
+
+extsprintf@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
+ integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
+
+fast-deep-equal@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+file-uri-to-path@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
+ integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
+
+form-data@^2.5.1:
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4"
+ integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
+form-data@~2.3.2:
+ 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"
+ mime-types "^2.1.12"
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
+ dependencies:
+ assert-plus "^1.0.0"
+
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+ integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
+
+har-validator@~5.1.3:
+ version "5.1.3"
+ resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080"
+ integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==
+ dependencies:
+ ajv "^6.5.5"
+ har-schema "^2.0.0"
+
+hash-base@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
+ integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
+ dependencies:
+ inherits "^2.0.4"
+ readable-stream "^3.6.0"
+ safe-buffer "^5.2.0"
+
+hash.js@^1.0.0, hash.js@^1.0.3:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
+ integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
+ dependencies:
+ inherits "^2.0.3"
+ minimalistic-assert "^1.0.1"
+
+hmac-drbg@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+ integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
+ dependencies:
+ hash.js "^1.0.3"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.1"
+
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+iced-error@>=0.0.9:
+ version "0.0.13"
+ resolved "https://registry.yarnpkg.com/iced-error/-/iced-error-0.0.13.tgz#a4a8a4f1461a59c7a2a380b4f745ffd80718f08b"
+ integrity sha512-yEEaG8QfyyRL0SsbNNDw3rVgTyqwHFMCuV6jDvD43f/2shmdaFXkqvFLGhDlsYNSolzYHwVLM/CrXt9GygYopA==
+
+iced-lock@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/iced-lock/-/iced-lock-1.1.0.tgz#6116ef1cab3acd6e6b10893bb27ba622fd3fde72"
+ integrity sha1-YRbvHKs6zW5rEIk7snumIv0/3nI=
+ dependencies:
+ iced-runtime "^1.0.0"
+
+iced-runtime@>=0.0.1, iced-runtime@^1.0.0, iced-runtime@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/iced-runtime/-/iced-runtime-1.0.4.tgz#e9de26dfe98cd8621201f7f3dfb9f7f09c550990"
+ integrity sha512-rgiJXNF6ZgF2Clh/TKUlBDW3q51YPDJUXmxGQXx1b8tbZpVpTn+1RX9q1sjNkujXIIaVxZByQzPHHORg7KV51g==
+
+inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
+
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
+
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+ integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
+
+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"
+ resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
+ integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
+
+json-stable-stringify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
+ integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
+ dependencies:
+ jsonify "~0.0.0"
+
+json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
+
+jsonify@~0.0.0:
+ version "0.0.0"
+ resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
+ integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
+
+jsontokens@3.0.0, jsontokens@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/jsontokens/-/jsontokens-3.0.0.tgz#629984d260a4081b11541313acdba708377314d3"
+ integrity sha512-P0QZC5AjOkn3t1ej6OuI7+XqoEctYj83UK4pw0WpHY4/z6a5PpZCJSpp5NZodq94GFkw2PfB9DPFoDM5qpyp/g==
+ dependencies:
+ "@types/elliptic" "^6.4.9"
+ asn1.js "^5.0.1"
+ base64url "^3.0.1"
+ ecdsa-sig-formatter "^1.0.11"
+ elliptic "^6.4.1"
+ sha.js "^2.4.11"
+
+jsontokens@3.0.0-alpha.0:
+ version "3.0.0-alpha.0"
+ resolved "https://registry.yarnpkg.com/jsontokens/-/jsontokens-3.0.0-alpha.0.tgz#16d04a2019a6dbe2392e4eeb489ac47ec3d855d7"
+ integrity sha512-+2JdFr2d3XBfamUnETQdv76u3AwBl8jmLp2Hgb/uK5NTys0FpoR5KbIIqv3QrXtjn0uIIPJz9JmhqDAnXd2Nhg==
+ dependencies:
+ "@types/elliptic" "^6.4.9"
+ asn1.js "^5.0.1"
+ base64url "^3.0.1"
+ ecdsa-sig-formatter "^1.0.11"
+ elliptic "^6.4.1"
+ key-encoder "^2.0.3"
+
+jsprim@^1.2.2:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
+ integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.2.3"
+ verror "1.10.0"
+
+key-encoder@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/key-encoder/-/key-encoder-2.0.3.tgz#77073bb48ff1fe2173bb2088b83b91152c8fa4ba"
+ integrity sha512-fgBtpAGIr/Fy5/+ZLQZIPPhsZEcbSlYu/Wu96tNDFNSjSACw5lEIOFeaVdQ/iwrb8oxjlWi6wmWdH76hV6GZjg==
+ dependencies:
+ "@types/elliptic" "^6.4.9"
+ asn1.js "^5.0.1"
+ bn.js "^4.11.8"
+ elliptic "^6.4.1"
+
+lodash@^4.17.14, lodash@^4.17.15:
+ version "4.17.15"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
+ integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
+
+md5.js@^1.3.4:
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
+ integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+ safe-buffer "^5.1.2"
+
+merkle-lib@^2.0.10:
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/merkle-lib/-/merkle-lib-2.0.10.tgz#82b8dbae75e27a7785388b73f9d7725d0f6f3326"
+ integrity sha1-grjbrnXieneFOItz+ddyXQ9vMyY=
+
+mime-db@1.44.0:
+ version "1.44.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
+ integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
+
+mime-types@^2.1.12, mime-types@~2.1.19:
+ version "2.1.27"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
+ integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
+ dependencies:
+ mime-db "1.44.0"
+
+minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+ integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
+
+minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+ integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
+
+more-entropy@>=0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/more-entropy/-/more-entropy-0.0.7.tgz#67bfc6f7a86f26fbc37aac83fd46d88c61d109b5"
+ integrity sha1-Z7/G96hvJvvDeqyD/UbYjGHRCbU=
+ dependencies:
+ iced-runtime ">=0.0.1"
+
+nan@^2.13.2:
+ version "2.14.1"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
+ integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
+
+node-fetch@2.6.0:
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd"
+ integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
+
+oauth-sign@~0.9.0:
+ version "0.9.0"
+ resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
+ integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+
+pbkdf2@^3.0.9:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
+ integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==
+ dependencies:
+ create-hash "^1.1.2"
+ create-hmac "^1.1.4"
+ ripemd160 "^2.0.1"
+ safe-buffer "^5.0.1"
+ sha.js "^2.4.8"
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
+
+prettier@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4"
+ integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==
+
+progress@~1.1.2:
+ version "1.1.8"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
+ integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=
+
+psl@^1.1.28:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
+ integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
+
+punycode@^2.1.0, punycode@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+ integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+pushdata-bitcoin@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz#15931d3cd967ade52206f523aa7331aef7d43af7"
+ integrity sha1-FZMdPNlnreUiBvUjqnMxrvfUOvc=
+ dependencies:
+ bitcoin-ops "^1.3.0"
+
+qs@~6.5.2:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
+ integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+
+query-string@^6.8.3:
+ version "6.13.1"
+ resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.1.tgz#d913ccfce3b4b3a713989fe6d39466d92e71ccad"
+ integrity sha512-RfoButmcK+yCta1+FuU8REvisx1oEzhMKwhLUNcepQTPGcNMp1sIqjnfCtfnvGSQZQEhaBHvccujtWoUV3TTbA==
+ dependencies:
+ decode-uri-component "^0.2.0"
+ split-on-first "^1.0.0"
+ strict-uri-encode "^2.0.0"
+
+randombytes@^2.0.1, randombytes@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+ integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+ dependencies:
+ safe-buffer "^5.1.0"
+
+readable-stream@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
+ integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+request@^2.88.0:
+ version "2.88.2"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+ integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+ dependencies:
+ aws-sign2 "~0.7.0"
+ aws4 "^1.8.0"
+ caseless "~0.12.0"
+ combined-stream "~1.0.6"
+ extend "~3.0.2"
+ forever-agent "~0.6.1"
+ form-data "~2.3.2"
+ 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.19"
+ oauth-sign "~0.9.0"
+ performance-now "^2.1.0"
+ qs "~6.5.2"
+ safe-buffer "^5.1.2"
+ tough-cookie "~2.5.0"
+ tunnel-agent "^0.6.0"
+ uuid "^3.3.2"
+
+ripemd160-min@0.0.5:
+ version "0.0.5"
+ resolved "https://registry.yarnpkg.com/ripemd160-min/-/ripemd160-min-0.0.5.tgz#f76c95ce752947ca103116b65edf2d11ea612320"
+ integrity sha512-lcz1Gkecuq0zvAeRZUIWE8bJA2PE8F7VfdmRUcIWhXuDtvLQJJJStHi9ZrDlb4mH8JPGDbNDBdDLtIsNrEYARg==
+
+ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
+ integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+
+safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+schema-inspector@^1.6.8:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/schema-inspector/-/schema-inspector-1.7.0.tgz#b3f8b97fc26ba930ef16cd7b8fcf77201ce468db"
+ integrity sha512-Cj4XP6O3QfDhOq7bIPpz3Ev+sjR++nqFsIggBVIk/8axqFc2p+XSwNBWih9Ut/p8k36f1uCyXB+TzumZUsxVBQ==
+ dependencies:
+ async "~2.6.3"
+
+sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8:
+ version "2.4.11"
+ resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
+ integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+smart-buffer@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba"
+ integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==
+
+split-on-first@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
+ integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
+
+sshpk@^1.7.0:
+ version "1.16.1"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
+ integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
+ dependencies:
+ asn1 "~0.2.3"
+ assert-plus "^1.0.0"
+ bcrypt-pbkdf "^1.0.0"
+ dashdash "^1.12.0"
+ ecc-jsbn "~0.1.1"
+ getpass "^0.1.1"
+ jsbn "~0.1.0"
+ safer-buffer "^2.0.2"
+ tweetnacl "~0.14.0"
+
+strict-uri-encode@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
+ integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
+
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+tiny-secp256k1@^1.1.1, tiny-secp256k1@^1.1.3:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.5.tgz#3dc37b9bf0fa5b4390b9fa29e953228810cebc18"
+ integrity sha512-duE2hSLSQIpHGzmK48OgRrGTi+4OTkXLC6aa86uOYQ6LLCYZSarVKIAvEtY7MoXjoL6bOXMSerEGMzrvW4SkDw==
+ dependencies:
+ bindings "^1.3.0"
+ bn.js "^4.11.8"
+ create-hmac "^1.1.7"
+ elliptic "^6.4.0"
+ nan "^2.13.2"
+
+tough-cookie@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
+triplesec@^3.0.27:
+ version "3.0.27"
+ resolved "https://registry.yarnpkg.com/triplesec/-/triplesec-3.0.27.tgz#43ba5a9f0e11ebba20c7563ecca947b2f94e82c5"
+ integrity sha512-FDhkxa3JYnPOerOd+8k+SBmm7cb7KkyX+xXwNFV3XV6dsQgHuRvjtbnzWfPJ2kimeR8ErjZfPd/6r7RH6epHDw==
+ dependencies:
+ iced-error ">=0.0.9"
+ iced-lock "^1.0.1"
+ iced-runtime "^1.0.2"
+ more-entropy ">=0.0.7"
+ progress "~1.1.2"
+ uglify-js "^3.1.9"
+
+tslib@^1.10.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
+ integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
+
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
+ dependencies:
+ safe-buffer "^5.0.1"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
+
+typeforce@^1.11.3, typeforce@^1.11.5:
+ version "1.18.0"
+ resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc"
+ integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==
+
+uglify-js@^3.1.9:
+ version "3.9.4"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.9.4.tgz#867402377e043c1fc7b102253a22b64e5862401b"
+ integrity sha512-8RZBJq5smLOa7KslsNsVcSH+KOXf1uDU8yqLeNuVKwmT0T3FA0ZoXlinQfRad7SDcbZZRZE4ov+2v71EnxNyCA==
+ dependencies:
+ commander "~2.20.3"
+
+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"
+
+util-deprecate@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+
+uuid@^3.3.2, uuid@^3.3.3:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+ integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+
+varuint-bitcoin@^1.0.4:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz#e76c138249d06138b480d4c5b40ef53693e24e92"
+ integrity sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==
+ dependencies:
+ safe-buffer "^5.1.1"
+
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+wif@^2.0.1, wif@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704"
+ integrity sha1-CNP1IFbGZnkplyb63g1DKudLRwQ=
+ dependencies:
+ bs58check "<3.0.0"
+
+zone-file@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/zone-file/-/zone-file-1.0.0.tgz#93f4ae26d1a13974f8178f6dfff14b41466c6029"
+ integrity sha512-dJynTf/5XCobE6diQBpNWQQRBzXE8d1QhHKemzrkffrZ36F9uKlbBVyIXXbG2CJoaTGZGh8zt2AHX/mG4txtqA==
diff --git a/configs/webpack.config.renderer.dev.dll.babel.js b/configs/webpack.config.renderer.dev.dll.babel.js
index 8b4024183..726f253a0 100644
--- a/configs/webpack.config.renderer.dev.dll.babel.js
+++ b/configs/webpack.config.renderer.dev.dll.babel.js
@@ -27,6 +27,7 @@ export default merge.smart(baseConfig, {
/**
* Use `module` from `webpack.config.renderer.dev.js`
*/
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
module: require('./webpack.config.renderer.dev.babel').default.module,
entry: {
diff --git a/internals/scripts/BabelRegister.js b/internals/scripts/BabelRegister.js
index 9608e76e4..0e2307cb3 100644
--- a/internals/scripts/BabelRegister.js
+++ b/internals/scripts/BabelRegister.js
@@ -1,6 +1,8 @@
+// eslint-disable-next-line @typescript-eslint/no-var-requires
const path = require('path');
+// eslint-disable-next-line @typescript-eslint/no-var-requires
require('@babel/register')({
extensions: ['.es6', '.es', '.jsx', '.js', '.mjs', '.ts', '.tsx'],
- cwd: path.join(__dirname, '..', '..')
+ cwd: path.join(__dirname, '..', '..'),
});
diff --git a/internals/scripts/CheckBuildsExist.js b/internals/scripts/CheckBuildsExist.js
index 802394c01..db6ef4c71 100644
--- a/internals/scripts/CheckBuildsExist.js
+++ b/internals/scripts/CheckBuildsExist.js
@@ -4,14 +4,7 @@ import chalk from 'chalk';
import fs from 'fs';
const mainPath = path.join(__dirname, '..', '..', 'app', 'main.prod.js');
-const rendererPath = path.join(
- __dirname,
- '..',
- '..',
- 'app',
- 'dist',
- 'renderer.prod.js'
-);
+const rendererPath = path.join(__dirname, '..', '..', 'app', 'dist', 'renderer.prod.js');
if (!fs.existsSync(mainPath)) {
throw new Error(
diff --git a/internals/scripts/CheckNativeDep.js b/internals/scripts/CheckNativeDep.js
index ee03b8ba5..314e9acb2 100644
--- a/internals/scripts/CheckNativeDep.js
+++ b/internals/scripts/CheckNativeDep.js
@@ -22,17 +22,13 @@ if (dependencies) {
if (filteredRootDependencies.length > 0) {
const plural = filteredRootDependencies.length > 1;
console.log(`
- ${chalk.whiteBright.bgYellow.bold(
- 'Webpack does not work with native dependencies.'
- )}
+ ${chalk.whiteBright.bgYellow.bold('Webpack does not work with native dependencies.')}
${chalk.bold(filteredRootDependencies.join(', '))} ${
plural ? 'are native dependencies' : 'is a native dependency'
} and should be installed inside of the "./app" folder.
First uninstall the packages from "./package.json":
${chalk.whiteBright.bgGreen.bold('yarn remove your-package')}
- ${chalk.bold(
- 'Then, instead of installing the package to the root "./package.json":'
- )}
+ ${chalk.bold('Then, instead of installing the package to the root "./package.json":')}
${chalk.whiteBright.bgRed.bold('yarn add your-package')}
${chalk.bold('Install the package to "./app/package.json"')}
${chalk.whiteBright.bgGreen.bold('cd ./app && yarn add your-package')}
diff --git a/internals/scripts/CheckNodeEnv.js b/internals/scripts/CheckNodeEnv.js
index 8acca0a22..16f00c79f 100644
--- a/internals/scripts/CheckNodeEnv.js
+++ b/internals/scripts/CheckNodeEnv.js
@@ -8,6 +8,7 @@ export default function CheckNodeEnv(expectedEnv) {
if (process.env.NODE_ENV !== expectedEnv) {
console.log(
chalk.whiteBright.bgRed.bold(
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
`"process.env.NODE_ENV" must be "${expectedEnv}" to use this webpack config`
)
);
diff --git a/jest.config.js b/jest.config.js
new file mode 100644
index 000000000..03d0156e8
--- /dev/null
+++ b/jest.config.js
@@ -0,0 +1,15 @@
+module.exports = {
+ preset: 'ts-jest/presets/js-with-ts',
+ testEnvironment: 'node',
+ testMatch: ['/app/**/*.spec.ts'],
+ verbose: true,
+ collectCoverageFrom: [
+ '/app/**/*.ts',
+ '/app/**/*.tsx',
+ '!/app/main.dev.ts',
+ '!/app/menu.ts',
+ ],
+ moduleFileExtensions: ['js', 'jsx', 'ts', 'tsx', 'json'],
+ moduleDirectories: ['node_modules', 'app/node_modules'],
+ setupFiles: ['./internals/scripts/CheckBuildsExist.js'],
+};
diff --git a/package.json b/package.json
index c186b457c..4a836207d 100644
--- a/package.json
+++ b/package.json
@@ -83,27 +83,6 @@
"bugs": {
"url": "https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues"
},
- "jest": {
- "testURL": "http://localhost/",
- "moduleNameMapper": {
- "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/internals/mocks/fileMock.js",
- "\\.(css|less|sass|scss)$": "identity-obj-proxy"
- },
- "moduleFileExtensions": [
- "js",
- "jsx",
- "ts",
- "tsx",
- "json"
- ],
- "moduleDirectories": [
- "node_modules",
- "app/node_modules"
- ],
- "setupFiles": [
- "./internals/scripts/CheckBuildsExist.js"
- ]
- },
"devDependencies": {
"@actions/core": "1.2.4",
"@babel/core": "7.10.2",
@@ -132,30 +111,31 @@
"@blockstack/eslint-config": "1.0.5",
"@blockstack/prettier-config": "0.0.6",
"@blockstack/stacks-transactions": "0.4.6",
- "@commitlint/config-conventional": "8.3.4",
+ "@commitlint/config-conventional": "9.0.1",
"@types/bcryptjs": "2.4.2",
"@types/css-font-loading-module": "0.0.4",
"@types/enzyme": "3.10.5",
"@types/enzyme-adapter-react-16": "1.0.6",
"@types/history": "4.7.6",
- "@types/jest": "25.2.3",
- "@types/node": "14.0.12",
- "@types/react": "16.9.35",
+ "@types/jest": "26.0.0",
+ "@types/node": "14.0.13",
+ "@types/ramda": "types/npm-ramda#dist",
+ "@types/react": "16.9.38",
"@types/react-dom": "16.9.8",
"@types/react-redux": "7.1.9",
- "@types/react-router": "5.1.7",
+ "@types/react-router": "5.1.8",
"@types/react-router-dom": "5.1.5",
"@types/react-test-renderer": "16.9.2",
"@types/redux-logger": "3.0.8",
"@types/source-map-support": "0.5.1",
- "@types/tapable": "1.0.5",
+ "@types/tapable": "1.0.6",
"@types/terser-webpack-plugin": "3.0.0",
"@types/vfile-message": "2.0.0",
"@types/webpack": "4.41.17",
"@types/webpack-merge": "4.1.5",
"@types/zxcvbn": "4.4.0",
- "@typescript-eslint/eslint-plugin": "3.2.0",
- "@typescript-eslint/parser": "3.2.0",
+ "@typescript-eslint/eslint-plugin": "3.4.0",
+ "@typescript-eslint/parser": "3.4.0",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "10.1.0",
"babel-jest": "26.0.1",
@@ -187,6 +167,7 @@
"node-sass": "4.14.1",
"optimize-css-assets-webpack-plugin": "5.0.3",
"prettier": "2.0.5",
+ "ramda": "0.27.0",
"react-test-renderer": "16.13.1",
"redux-logger": "3.0.6",
"rimraf": "3.0.2",
@@ -194,6 +175,7 @@
"sinon": "9.0.2",
"style-loader": "1.2.1",
"terser-webpack-plugin": "3.0.3",
+ "ts-jest": "26.1.1",
"typed-css-modules-webpack-plugin": "0.1.3",
"typescript": "3.9.5",
"url-loader": "4.1.0",
@@ -205,20 +187,19 @@
"yarn": "1.22.4"
},
"dependencies": {
- "@blockstack/keychain": "0.5",
- "@blockstack/ui": "1.6.1",
+ "@blockstack/ui": "1.6.3",
"@hot-loader/react-dom": "16.13.0",
"@reduxjs/toolkit": "1.3.6",
"bcryptjs": "2.4.3",
"bignumber.js": "9.0.0",
+ "buffer": "5.6.0",
"connected-react-router": "6.8.0",
"core-js": "3.6.5",
"devtron": "1.4.0",
"electron-debug": "3.1.0",
"electron-log": "4.2.1",
+ "electron-store": "5.2.0",
"electron-updater": "4.3.1",
- "eslint": "7.2.0",
- "eslint-plugin-import-helpers": "1.0.2",
"history": "4.10.1",
"minimist": "1.2.5",
"react": "16.13.1",
diff --git a/test/.eslintrc.json b/test/.eslintrc.json
deleted file mode 100644
index 9adaad74c..000000000
--- a/test/.eslintrc.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "extends": "plugin:testcafe/recommended",
- "env": {
- "jest/globals": true
- },
- "plugins": ["jest", "testcafe"],
- "rules": {
- "jest/no-disabled-tests": "warn",
- "jest/no-focused-tests": "error",
- "jest/no-identical-title": "error",
- "no-console": "off"
- }
-}
diff --git a/test/actions/__snapshots__/counter.spec.ts.snap b/test/actions/__snapshots__/counter.spec.ts.snap
deleted file mode 100644
index dc692275d..000000000
--- a/test/actions/__snapshots__/counter.spec.ts.snap
+++ /dev/null
@@ -1,13 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`actions should decrement should create decrement action 1`] = `
-Object {
- "type": "DECREMENT_COUNTER",
-}
-`;
-
-exports[`actions should increment should create increment action 1`] = `
-Object {
- "type": "INCREMENT_COUNTER",
-}
-`;
diff --git a/test/actions/counter.spec.ts b/test/actions/counter.spec.ts
deleted file mode 100644
index 0bdd6ea5d..000000000
--- a/test/actions/counter.spec.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import { spy } from 'sinon';
-import * as actions from '../../app/actions/counter';
-
-describe('actions', () => {
- it('should increment should create increment action', () => {
- expect(actions.increment()).toMatchSnapshot();
- });
-
- it('should decrement should create decrement action', () => {
- expect(actions.decrement()).toMatchSnapshot();
- });
-
- it('should incrementIfOdd should create increment action', () => {
- const fn = actions.incrementIfOdd();
- expect(fn).toBeInstanceOf(Function);
- const dispatch = spy();
- const getState = () => ({ counter: 1 });
- fn(dispatch, getState);
- expect(dispatch.calledWith({ type: actions.INCREMENT_COUNTER })).toBe(true);
- });
-
- it('should incrementIfOdd shouldnt create increment action if counter is even', () => {
- const fn = actions.incrementIfOdd();
- const dispatch = spy();
- const getState = () => ({ counter: 2 });
- fn(dispatch, getState);
- expect(dispatch.called).toBe(false);
- });
-
- // There's no nice way to test this at the moment...
- it('should incrementAsync', () => {
- return new Promise(resolve => {
- const fn = actions.incrementAsync(1);
- expect(fn).toBeInstanceOf(Function);
- const dispatch = spy();
- fn(dispatch);
- setTimeout(() => {
- expect(dispatch.calledWith({ type: actions.INCREMENT_COUNTER })).toBe(
- true
- );
- resolve();
- }, 5);
- });
- });
-});
diff --git a/test/components/Counter.spec.tsx b/test/components/Counter.spec.tsx
deleted file mode 100644
index 05fda86a3..000000000
--- a/test/components/Counter.spec.tsx
+++ /dev/null
@@ -1,71 +0,0 @@
-/* eslint react/jsx-props-no-spreading: off */
-import { spy } from 'sinon';
-import React from 'react';
-import Enzyme, { shallow } from 'enzyme';
-import Adapter from 'enzyme-adapter-react-16';
-import { BrowserRouter as Router } from 'react-router-dom';
-import renderer from 'react-test-renderer';
-import Counter from '../../app/components/Counter';
-
-Enzyme.configure({ adapter: new Adapter() });
-
-function setup() {
- const actions = {
- increment: spy(),
- incrementIfOdd: spy(),
- incrementAsync: spy(),
- decrement: spy()
- };
- const component = shallow();
- return {
- component,
- actions,
- buttons: component.find('button'),
- p: component.find('.counter')
- };
-}
-
-describe('Counter component', () => {
- it('should should display count', () => {
- const { p } = setup();
- expect(p.text()).toMatch(/^1$/);
- });
-
- it('should first button should call increment', () => {
- const { buttons, actions } = setup();
- buttons.at(0).simulate('click');
- expect(actions.increment.called).toBe(true);
- });
-
- it('should match exact snapshot', () => {
- const { actions } = setup();
- const counter = (
-
-
-
-
-
- );
- const tree = renderer.create(counter).toJSON();
-
- expect(tree).toMatchSnapshot();
- });
-
- it('should second button should call decrement', () => {
- const { buttons, actions } = setup();
- buttons.at(1).simulate('click');
- expect(actions.decrement.called).toBe(true);
- });
-
- it('should third button should call incrementIfOdd', () => {
- const { buttons, actions } = setup();
- buttons.at(2).simulate('click');
- expect(actions.incrementIfOdd.called).toBe(true);
- });
-
- it('should fourth button should call incrementAsync', () => {
- const { buttons, actions } = setup();
- buttons.at(3).simulate('click');
- expect(actions.incrementAsync.called).toBe(true);
- });
-});
diff --git a/test/components/__snapshots__/Counter.spec.tsx.snap b/test/components/__snapshots__/Counter.spec.tsx.snap
deleted file mode 100644
index 2c98227d7..000000000
--- a/test/components/__snapshots__/Counter.spec.tsx.snap
+++ /dev/null
@@ -1,67 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`Counter component should match exact snapshot 1`] = `
-
-
-
-
- 1
-
-
-
-
-
-
-
-
-
-`;
diff --git a/test/containers/CounterPage.spec.tsx b/test/containers/CounterPage.spec.tsx
deleted file mode 100644
index 37d5b9813..000000000
--- a/test/containers/CounterPage.spec.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-import React from 'react';
-import Enzyme, { mount } from 'enzyme';
-import Adapter from 'enzyme-adapter-react-16';
-import { Provider } from 'react-redux';
-import { createBrowserHistory } from 'history';
-import { ConnectedRouter } from 'connected-react-router';
-import CounterPage from '../../app/containers/CounterPage';
-import { configureStore } from '../../app/store/configureStore';
-
-Enzyme.configure({ adapter: new Adapter() });
-
-function setup(initialState = {}) {
- const store = configureStore(initialState);
- const history = createBrowserHistory();
- const provider = (
-
-
-
-
-
- );
- const app = mount(provider);
- return {
- app,
- buttons: app.find('button'),
- p: app.find('.counter')
- };
-}
-
-describe('containers', () => {
- describe('App', () => {
- it('should display initial count', () => {
- const { p } = setup();
- expect(p.text()).toMatch(/^0$/);
- });
-
- it('should display updated count after increment button click', () => {
- const { buttons, p } = setup();
- buttons.at(0).simulate('click');
- expect(p.text()).toMatch(/^1$/);
- });
-
- it('should display updated count after decrement button click', () => {
- const { buttons, p } = setup();
- buttons.at(1).simulate('click');
- expect(p.text()).toMatch(/^-1$/);
- });
-
- it('shouldnt change if even and if odd button clicked', () => {
- const { buttons, p } = setup();
- buttons.at(2).simulate('click');
- expect(p.text()).toMatch(/^0$/);
- });
-
- it('should change if odd and if odd button clicked', () => {
- const { buttons, p } = setup({ counter: 1 });
- buttons.at(2).simulate('click');
- expect(p.text()).toMatch(/^2$/);
- });
- });
-});
diff --git a/test/e2e/HomePage.e2e.ts b/test/e2e/HomePage.e2e.ts
deleted file mode 100644
index 4ea4edd91..000000000
--- a/test/e2e/HomePage.e2e.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-/* eslint jest/expect-expect: off, jest/no-test-callback: off */
-import { ClientFunction, Selector } from 'testcafe';
-import { getPageUrl } from './helpers';
-
-const getPageTitle = ClientFunction(() => document.title);
-const counterSelector = Selector('[data-tid="counter"]');
-const buttonsSelector = Selector('[data-tclass="btn"]');
-const clickToCounterLink = t =>
- t.click(Selector('a').withExactText('to Counter'));
-const incrementButton = buttonsSelector.nth(0);
-const decrementButton = buttonsSelector.nth(1);
-const oddButton = buttonsSelector.nth(2);
-const asyncButton = buttonsSelector.nth(3);
-const getCounterText = () => counterSelector().innerText;
-const assertNoConsoleErrors = async t => {
- const { error } = await t.getBrowserConsoleMessages();
- await t.expect(error).eql([]);
-};
-
-fixture`Home Page`.page('../../app/app.html').afterEach(assertNoConsoleErrors);
-
-test('e2e', async t => {
- await t.expect(getPageTitle()).eql('Hello Electron React!');
-});
-
-test('should open window and contain expected page title', async t => {
- await t.expect(getPageTitle()).eql('Hello Electron React!');
-});
-
-test(
- 'should not have any logs in console of main window',
- assertNoConsoleErrors
-);
-
-test('should navigate to Counter with click on the "to Counter" link', async t => {
- await t
- .click('[data-tid=container] > a')
- .expect(getCounterText())
- .eql('0');
-});
-
-test('should navigate to /counter', async t => {
- await t
- .click('a')
- .expect(getPageUrl())
- .contains('/counter');
-});
-
-fixture`Counter Tests`
- .page('../../app/app.html')
- .beforeEach(clickToCounterLink)
- .afterEach(assertNoConsoleErrors);
-
-test('should display updated count after the increment button click', async t => {
- await t
- .click(incrementButton)
- .expect(getCounterText())
- .eql('1');
-});
-
-test('should display updated count after the descrement button click', async t => {
- await t
- .click(decrementButton)
- .expect(getCounterText())
- .eql('-1');
-});
-
-test('should not change even counter if odd button clicked', async t => {
- await t
- .click(oddButton)
- .expect(getCounterText())
- .eql('0');
-});
-
-test('should change odd counter if odd button clicked', async t => {
- await t
- .click(incrementButton)
- .click(oddButton)
- .expect(getCounterText())
- .eql('2');
-});
-
-test('should change if async button clicked and a second later', async t => {
- await t
- .click(asyncButton)
- .expect(getCounterText())
- .eql('0')
- .expect(getCounterText())
- .eql('1');
-});
-
-test('should back to home if back button clicked', async t => {
- await t
- .click('[data-tid="backButton"] > a')
- .expect(Selector('[data-tid="container"]').visible)
- .ok();
-});
diff --git a/test/e2e/helpers.ts b/test/e2e/helpers.ts
deleted file mode 100644
index 017a34458..000000000
--- a/test/e2e/helpers.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-/* eslint import/prefer-default-export: off */
-import { ClientFunction } from 'testcafe';
-
-export const getPageUrl = ClientFunction(() => window.location.href);
diff --git a/test/example.js b/test/example.js
deleted file mode 100644
index e73ab5b9b..000000000
--- a/test/example.js
+++ /dev/null
@@ -1,5 +0,0 @@
-describe('description', () => {
- it('should have description', () => {
- expect(1 + 2).toBe(3);
- });
-});
diff --git a/test/reducers/__snapshots__/counter.spec.ts.snap b/test/reducers/__snapshots__/counter.spec.ts.snap
deleted file mode 100644
index 9d78460b9..000000000
--- a/test/reducers/__snapshots__/counter.spec.ts.snap
+++ /dev/null
@@ -1,9 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`reducers counter should handle DECREMENT_COUNTER 1`] = `0`;
-
-exports[`reducers counter should handle INCREMENT_COUNTER 1`] = `2`;
-
-exports[`reducers counter should handle initial state 1`] = `0`;
-
-exports[`reducers counter should handle unknown action type 1`] = `1`;
diff --git a/test/reducers/counter.spec.ts b/test/reducers/counter.spec.ts
deleted file mode 100644
index f111c17aa..000000000
--- a/test/reducers/counter.spec.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import counter from '../../app/reducers/counter';
-import {
- INCREMENT_COUNTER,
- DECREMENT_COUNTER
-} from '../../app/actions/counter';
-
-describe('reducers', () => {
- describe('counter', () => {
- it('should handle initial state', () => {
- expect(counter(undefined, {})).toMatchSnapshot();
- });
-
- it('should handle INCREMENT_COUNTER', () => {
- expect(counter(1, { type: INCREMENT_COUNTER })).toMatchSnapshot();
- });
-
- it('should handle DECREMENT_COUNTER', () => {
- expect(counter(1, { type: DECREMENT_COUNTER })).toMatchSnapshot();
- });
-
- it('should handle unknown action type', () => {
- expect(counter(1, { type: 'unknown' })).toMatchSnapshot();
- });
- });
-});
diff --git a/yarn.lock b/yarn.lock
index 13e0edfb8..0241da234 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -19,6 +19,13 @@
dependencies:
"@babel/highlight" "^7.10.1"
+"@babel/code-frame@^7.10.3":
+ version "7.10.3"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.3.tgz#324bcfd8d35cd3d47dae18cde63d752086435e9a"
+ integrity sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==
+ dependencies:
+ "@babel/highlight" "^7.10.3"
+
"@babel/compat-data@^7.10.1":
version "7.10.1"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.10.1.tgz#b1085ffe72cd17bf2c0ee790fc09f9626011b2db"
@@ -60,6 +67,16 @@
lodash "^4.17.13"
source-map "^0.5.0"
+"@babel/generator@^7.10.3":
+ version "7.10.3"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.3.tgz#32b9a0d963a71d7a54f5f6c15659c3dbc2a523a5"
+ integrity sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==
+ dependencies:
+ "@babel/types" "^7.10.3"
+ jsesc "^2.5.1"
+ lodash "^4.17.13"
+ source-map "^0.5.0"
+
"@babel/helper-annotate-as-pure@^7.0.0", "@babel/helper-annotate-as-pure@^7.10.1":
version "7.10.1"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz#f6d08acc6f70bbd59b436262553fb2e259a1a268"
@@ -150,6 +167,15 @@
"@babel/template" "^7.10.1"
"@babel/types" "^7.10.1"
+"@babel/helper-function-name@^7.10.3":
+ version "7.10.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz#79316cd75a9fa25ba9787ff54544307ed444f197"
+ integrity sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.10.3"
+ "@babel/template" "^7.10.3"
+ "@babel/types" "^7.10.3"
+
"@babel/helper-get-function-arity@^7.10.1":
version "7.10.1"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz#7303390a81ba7cb59613895a192b93850e373f7d"
@@ -157,6 +183,13 @@
dependencies:
"@babel/types" "^7.10.1"
+"@babel/helper-get-function-arity@^7.10.3":
+ version "7.10.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz#3a28f7b28ccc7719eacd9223b659fdf162e4c45e"
+ integrity sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==
+ dependencies:
+ "@babel/types" "^7.10.3"
+
"@babel/helper-hoist-variables@^7.10.1":
version "7.10.1"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz#7e77c82e5dcae1ebf123174c385aaadbf787d077"
@@ -251,6 +284,11 @@
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz#5770b0c1a826c4f53f5ede5e153163e0318e94b5"
integrity sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==
+"@babel/helper-validator-identifier@^7.10.3":
+ version "7.10.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz#60d9847f98c4cea1b279e005fdb7c28be5412d15"
+ integrity sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==
+
"@babel/helper-wrap-function@^7.10.1":
version "7.10.1"
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz#956d1310d6696257a7afd47e4c42dfda5dfcedc9"
@@ -279,11 +317,25 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
+"@babel/highlight@^7.10.3":
+ version "7.10.3"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.3.tgz#c633bb34adf07c5c13156692f5922c81ec53f28d"
+ integrity sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.10.3"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
+
"@babel/parser@^7.1.0", "@babel/parser@^7.10.1", "@babel/parser@^7.10.2", "@babel/parser@^7.7.0":
version "7.10.2"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.2.tgz#871807f10442b92ff97e4783b9b54f6a0ca812d0"
integrity sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==
+"@babel/parser@^7.10.3":
+ version "7.10.3"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.3.tgz#7e71d892b0d6e7d04a1af4c3c79d72c1f10f5315"
+ integrity sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==
+
"@babel/plugin-proposal-async-generator-functions@^7.10.1":
version "7.10.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz#6911af5ba2e615c4ff3c497fe2f47b35bf6d7e55"
@@ -1078,7 +1130,31 @@
"@babel/parser" "^7.10.1"
"@babel/types" "^7.10.1"
-"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.1", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0":
+"@babel/template@^7.10.3":
+ version "7.10.3"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.3.tgz#4d13bc8e30bf95b0ce9d175d30306f42a2c9a7b8"
+ integrity sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==
+ dependencies:
+ "@babel/code-frame" "^7.10.3"
+ "@babel/parser" "^7.10.3"
+ "@babel/types" "^7.10.3"
+
+"@babel/traverse@^7.1.0":
+ version "7.10.3"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.3.tgz#0b01731794aa7b77b214bcd96661f18281155d7e"
+ integrity sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==
+ dependencies:
+ "@babel/code-frame" "^7.10.3"
+ "@babel/generator" "^7.10.3"
+ "@babel/helper-function-name" "^7.10.3"
+ "@babel/helper-split-export-declaration" "^7.10.1"
+ "@babel/parser" "^7.10.3"
+ "@babel/types" "^7.10.3"
+ debug "^4.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.13"
+
+"@babel/traverse@^7.10.1", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0":
version "7.10.1"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.1.tgz#bbcef3031e4152a6c0b50147f4958df54ca0dd27"
integrity sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==
@@ -1102,6 +1178,15 @@
lodash "^4.17.13"
to-fast-properties "^2.0.0"
+"@babel/types@^7.10.3":
+ version "7.10.3"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.3.tgz#6535e3b79fea86a6b09e012ea8528f935099de8e"
+ integrity sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.10.3"
+ lodash "^4.17.13"
+ to-fast-properties "^2.0.0"
+
"@bcoe/v8-coverage@^0.2.3":
version "0.2.3"
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
@@ -1122,26 +1207,12 @@
eslint-plugin-prettier ">=3.1.3"
prettier ">=2.0.5"
-"@blockstack/keychain@0.5":
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/@blockstack/keychain/-/keychain-0.5.0.tgz#bf4fcaa0055c7aa61370017847c5d224fea153d9"
- integrity sha512-21Zu8j5FkI8dzPGaMn1vB0efcNtBCJ8Pg1dYQLgnpFyH8OhfAsVWuHRCReXtS3xxMVjnEZebs0YIIZzfAxZQ0A==
- dependencies:
- "@blockstack/stacks-transactions" "^0.4.6"
- bip39 "^3.0.2"
- bitcoinjs-lib "^5.1.6"
- blockstack "21.0.0-alpha.2"
- c32check "^1.0.1"
- jsontokens "^3.0.0"
- prettier "^2.0.5"
- triplesec "^3.0.27"
-
"@blockstack/prettier-config@0.0.6":
version "0.0.6"
resolved "https://registry.yarnpkg.com/@blockstack/prettier-config/-/prettier-config-0.0.6.tgz#8a41cd378ba061b79770987f2a6ad0c92b64bd72"
integrity sha512-ke0MdyblmoUqSJBEutsG8/6G7KAjCB+uOcgZHPJvJr4R+i5yRhT4GSe5nV/wREINuK0jj2GvaA6qlx4PQTKQUA==
-"@blockstack/stacks-transactions@0.4.6", "@blockstack/stacks-transactions@^0.4.6":
+"@blockstack/stacks-transactions@0.4.6":
version "0.4.6"
resolved "https://registry.yarnpkg.com/@blockstack/stacks-transactions/-/stacks-transactions-0.4.6.tgz#b774250fbaadbadf42313a82fbd628b1728cd6ed"
integrity sha512-3Hb+v0ZmG5bVZHasfM9KzlwK+2e5r6oKsKk0eRgavLb5bBMQy/cw0YYoUWmt+ipNqDP5ssZgoOA1KKRhoSWvXg==
@@ -1162,10 +1233,10 @@
sha.js "^2.4.11"
smart-buffer "^4.1.0"
-"@blockstack/ui@1.6.1":
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/@blockstack/ui/-/ui-1.6.1.tgz#1d52545b50a919561bd758a130d0a2589496f876"
- integrity sha512-2QlYH6ef31OH3x3Y71rVXrlUEyQ1XoXLXUoZocPUTLj/P+wC93CTpHQVFW3ISKuCGrfhrazGgdytvVqllCCyTA==
+"@blockstack/ui@1.6.3":
+ version "1.6.3"
+ resolved "https://registry.yarnpkg.com/@blockstack/ui/-/ui-1.6.3.tgz#3c56f577d88289f4321d63915f65a1861777c00d"
+ integrity sha512-pRjvoYvXZr6fC6r6wFTHcogkrCnvpLEwdf4w34d5YoZhyjo5mv7UKhzhgKVv1Xbu7BabhjS1uOgMtHXKIf4c1g==
dependencies:
"@popperjs/core" "^2.4.0"
"@reach/alert" "^0.10.2"
@@ -1198,12 +1269,12 @@
exec-sh "^0.3.2"
minimist "^1.2.0"
-"@commitlint/config-conventional@8.3.4":
- version "8.3.4"
- resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-8.3.4.tgz#fed13b3711690663b176c1f6b39c205a565618d2"
- integrity sha512-w0Yc5+aVAjZgjYqx29igBOnVCj8O22gy3Vo6Fyp7PwoS7+AYS1x3sN7IBq6i7Ae15Mv5P+rEx1pkxXo5zOMe4g==
+"@commitlint/config-conventional@9.0.1":
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-9.0.1.tgz#af44a175f49704ca6b27cc7770a13d809f2fd7a7"
+ integrity sha512-5rGu8aT4nRhWKrd5SpXqKJKLM07wXi4X5KVD9EEAuucAh2iZgfJJK9HKZNKGEKLKBQSWlnXE6UvkeEjJgi6TPQ==
dependencies:
- conventional-changelog-conventionalcommits "4.2.1"
+ conventional-changelog-conventionalcommits "4.2.3"
"@develar/schema-utils@~2.6.5":
version "2.6.5"
@@ -1721,7 +1792,7 @@
dependencies:
"@types/node" "*"
-"@types/cheerio@*", "@types/cheerio@^0.22.13":
+"@types/cheerio@*":
version "0.22.18"
resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.18.tgz#19018dceae691509901e339d63edf1e935978fe6"
integrity sha512-Fq7R3fINAPSdUEhOyjG4iVxgHrOnqDJbY0/BUuiN0pvD/rfmZWekVZnv+vcs8TtpA2XF50uv50LaE4EnpEL/Hw==
@@ -1750,7 +1821,7 @@
resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd"
integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==
-"@types/elliptic@^6.4.10", "@types/elliptic@^6.4.12", "@types/elliptic@^6.4.9":
+"@types/elliptic@^6.4.12":
version "6.4.12"
resolved "https://registry.yarnpkg.com/@types/elliptic/-/elliptic-6.4.12.tgz#e8add831f9cc9a88d9d84b3733ff669b68eaa124"
integrity sha512-gP1KsqoouLJGH6IJa28x7PXb3cRqh83X8HCLezd2dF+XcAIMKYv53KV+9Zn6QA561E120uOqZBQ+Jy/cl+fviw==
@@ -1812,11 +1883,16 @@
"@types/react" "*"
hoist-non-react-statics "^3.3.0"
-"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1":
+"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz#79d7a78bad4219f4c03d6557a1c72d9ca6ba62d5"
integrity sha512-rsZg7eL+Xcxsxk2XlBt9KcG8nOp9iYdKCOikY9x2RFJCyOdNj4MKPQty0e8oZr29vVAzKXr1BmR+kZauti3o1w==
+"@types/istanbul-lib-coverage@^2.0.1":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762"
+ integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==
+
"@types/istanbul-lib-report@*":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686"
@@ -1832,10 +1908,10 @@
"@types/istanbul-lib-coverage" "*"
"@types/istanbul-lib-report" "*"
-"@types/jest@25.2.3":
- version "25.2.3"
- resolved "https://registry.yarnpkg.com/@types/jest/-/jest-25.2.3.tgz#33d27e4c4716caae4eced355097a47ad363fdcaf"
- integrity sha512-JXc1nK/tXHiDhV55dvfzqtmP4S3sy3T3ouV2tkViZgxY/zeUkcpQcQPGRlgF4KmWzWW5oiWYSZwtCB+2RsE4Fw==
+"@types/jest@26.0.0":
+ version "26.0.0"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.0.tgz#a6d7573dffa9c68cbbdf38f2e0de26f159e11134"
+ integrity sha512-/yeMsH9HQ1RLORlXAwoLXe8S98xxvhNtUz3yrgrwbaxYjT+6SFPZZRksmRKRA6L5vsUtSHeN71viDOTTyYAD+g==
dependencies:
jest-diff "^25.2.1"
pretty-format "^25.2.1"
@@ -1860,31 +1936,21 @@
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
-"@types/node@*", "@types/node@14.0.12":
+"@types/node@*":
version "14.0.12"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.12.tgz#9c1d8ffb8084e8936603a6122a7649e40e68e04b"
integrity sha512-/sjzehvjkkpvLpYtN6/2dv5kg41otMGuHQUt9T2aiAuIfleCQRQHXXzF1eAw/qkZTj5Kcf4JSTf7EIizHocy6Q==
-"@types/node@10.12.18":
- version "10.12.18"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67"
- integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ==
-
-"@types/node@11.11.6":
- version "11.11.6"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a"
- integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==
+"@types/node@14.0.13":
+ version "14.0.13"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.13.tgz#ee1128e881b874c371374c1f72201893616417c9"
+ integrity sha512-rouEWBImiRaSJsVA+ITTFM6ZxibuAlTuNOCyxVbwreu6k6+ujs7DfnU9o+PShFhET78pMBl3eH+AGSI5eOTkPA==
"@types/node@^12.0.12":
version "12.12.45"
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.45.tgz#33d550d6da243652004b00cbf4f15997456a38e3"
integrity sha512-9w50wqeS0qQH9bo1iIRcQhDXRxoDzyAqCL5oJG+Nuu7cAoe6omGo+YDE0spAGK5sPrdLDhQLbQxq0DnxyndPKA==
-"@types/node@^12.7.12":
- version "12.12.47"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.47.tgz#5007b8866a2f9150de82335ca7e24dd1d59bdfb5"
- integrity sha512-yzBInQFhdY8kaZmqoL2+3U5dSTMrKaYcb561VU+lDzAYvqt+2lojvBEy+hmpSNuXnPTx7m9+04CzWYOUqWME2A==
-
"@types/normalize-package-data@^2.4.0":
version "2.4.0"
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
@@ -1910,6 +1976,17 @@
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24"
integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==
+"@types/ramda@0.27.6":
+ version "0.27.6"
+ resolved "https://registry.yarnpkg.com/@types/ramda/-/ramda-0.27.6.tgz#5b914266cb73ea61fe3778949ef9b0aa455804b4"
+ integrity sha512-ephagb0ZIAJSoS5I/qMS4Mqo1b/Nd50pWM+o1QO/dz8NF//GsCGPTLDVRqgXlVncy74KShfHzE5rPZXTeek4PA==
+ dependencies:
+ ts-toolbelt "^6.3.3"
+
+"@types/ramda@types/npm-ramda#dist":
+ version "0.25.0"
+ resolved "https://codeload.github.com/types/npm-ramda/tar.gz/9529aa3c8ff70ff84afcbc0be83443c00f30ea90"
+
"@types/randombytes@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@types/randombytes/-/randombytes-2.0.0.tgz#0087ff5e60ae68023b9bc4398b406fea7ad18304"
@@ -1950,7 +2027,7 @@
"@types/react" "*"
"@types/react-router" "*"
-"@types/react-router@*", "@types/react-router@5.1.7":
+"@types/react-router@*":
version "5.1.7"
resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.7.tgz#e9d12ed7dcfc79187e4d36667745b69a5aa11556"
integrity sha512-2ouP76VQafKjtuc0ShpwUebhHwJo0G6rhahW9Pb8au3tQTjYXd2jta4wv6U2tGLR/I42yuG00+UXjNYY0dTzbg==
@@ -1958,6 +2035,14 @@
"@types/history" "*"
"@types/react" "*"
+"@types/react-router@5.1.8":
+ version "5.1.8"
+ resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-5.1.8.tgz#4614e5ba7559657438e17766bb95ef6ed6acc3fa"
+ integrity sha512-HzOyJb+wFmyEhyfp4D4NYrumi+LQgQL/68HvJO+q6XtuHSDvw6Aqov7sCAhjbNq3bUPgPqbdvjXC5HeB2oEAPg==
+ dependencies:
+ "@types/history" "*"
+ "@types/react" "*"
+
"@types/react-test-renderer@16.9.2":
version "16.9.2"
resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-16.9.2.tgz#e1c408831e8183e5ad748fdece02214a7c2ab6c5"
@@ -1972,10 +2057,10 @@
dependencies:
"@types/react" "*"
-"@types/react@*", "@types/react@16.9.35":
- version "16.9.35"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.35.tgz#a0830d172e8aadd9bd41709ba2281a3124bbd368"
- integrity sha512-q0n0SsWcGc8nDqH2GJfWQWUOmZSJhXV64CjVN5SvcNti3TdEaA3AH0D8DwNmMdzjMAC/78tB8nAZIlV8yTz+zQ==
+"@types/react@*", "@types/react@16.9.38":
+ version "16.9.38"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.38.tgz#868405dace93a4095d3e054f4c4a1de7a1ac0680"
+ integrity sha512-pHAeZbjjNRa/hxyNuLrvbxhhnKyKNiLC6I5fRF2Zr/t/S6zS41MiyzH4+c+1I9vVfvuRt1VS2Lodjr4ZWnxrdA==
dependencies:
"@types/prop-types" "*"
csstype "^2.2.0"
@@ -2054,11 +2139,16 @@
resolved "https://registry.yarnpkg.com/@types/styled-system__should-forward-prop/-/styled-system__should-forward-prop-5.1.1.tgz#44df913bbd78ef56b4cab9cb1f91ccd92fd5d7fc"
integrity sha512-7A1awFdji4GJ2ZL9NZwTBZ/RinfXGwZf9bqOV3+lUU+nFMGCkHmg8nZMUrzBwFtl6EpA99cKPi6Q60PCleoP0Q==
-"@types/tapable@*", "@types/tapable@1.0.5":
+"@types/tapable@*":
version "1.0.5"
resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.5.tgz#9adbc12950582aa65ead76bffdf39fe0c27a3c02"
integrity sha512-/gG2M/Imw7cQFp8PGvz/SwocNrmKFjFsm5Pb8HdbHkZ1K8pmuPzOX4VeVoiEecFCVf4CsN1r3/BRvx+6sNqwtQ==
+"@types/tapable@1.0.6":
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74"
+ integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==
+
"@types/terser-webpack-plugin@3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/terser-webpack-plugin/-/terser-webpack-plugin-3.0.0.tgz#8c5781922ce60611037b28186baf192e28780a03"
@@ -2147,12 +2237,13 @@
semver "^7.3.2"
tsutils "^3.17.1"
-"@typescript-eslint/eslint-plugin@3.2.0":
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.2.0.tgz#7fb997f391af32ae6ca1dbe56bcefe4dd30bda14"
- integrity sha512-t9RTk/GyYilIXt6BmZurhBzuMT9kLKw3fQoJtK9ayv0tXTlznXEAnx07sCLXdkN3/tZDep1s1CEV95CWuARYWA==
+"@typescript-eslint/eslint-plugin@3.4.0":
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.4.0.tgz#8378062e6be8a1d049259bdbcf27ce5dfbeee62b"
+ integrity sha512-wfkpiqaEVhZIuQRmudDszc01jC/YR7gMSxa6ulhggAe/Hs0KVIuo9wzvFiDbG3JD5pRFQoqnf4m7REDsUvBnMQ==
dependencies:
- "@typescript-eslint/experimental-utils" "3.2.0"
+ "@typescript-eslint/experimental-utils" "3.4.0"
+ debug "^4.1.1"
functional-red-black-tree "^1.0.1"
regexpp "^3.0.0"
semver "^7.3.2"
@@ -2168,13 +2259,13 @@
eslint-scope "^5.0.0"
eslint-utils "^2.0.0"
-"@typescript-eslint/experimental-utils@3.2.0":
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.2.0.tgz#4dab8fc9f44f059ec073470a81bb4d7d7d51e6c5"
- integrity sha512-UbJBsk+xO9dIFKtj16+m42EvUvsjZbbgQ2O5xSTSfVT1Z3yGkL90DVu0Hd3029FZ5/uBgl+F3Vo8FAcEcqc6aQ==
+"@typescript-eslint/experimental-utils@3.4.0":
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-3.4.0.tgz#8a44dfc6fb7f1d071937b390fe27608ebda122b8"
+ integrity sha512-rHPOjL43lOH1Opte4+dhC0a/+ks+8gOBwxXnyrZ/K4OTAChpSjP76fbI8Cglj7V5GouwVAGaK+xVwzqTyE/TPw==
dependencies:
"@types/json-schema" "^7.0.3"
- "@typescript-eslint/typescript-estree" "3.2.0"
+ "@typescript-eslint/typescript-estree" "3.4.0"
eslint-scope "^5.0.0"
eslint-utils "^2.0.0"
@@ -2188,14 +2279,14 @@
"@typescript-eslint/typescript-estree" "3.0.2"
eslint-visitor-keys "^1.1.0"
-"@typescript-eslint/parser@3.2.0":
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.2.0.tgz#d9d7867456b1b8ecae9e724269b0bc932f06cbca"
- integrity sha512-Vhu+wwdevDLVDjK1lIcoD6ZbuOa93fzqszkaO3iCnmrScmKwyW/AGkzc2UvfE5TCoCXqq7Jyt6SOXjsIlpqF4A==
+"@typescript-eslint/parser@3.4.0":
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-3.4.0.tgz#fe52b68c5cb3bba3f5d875bd17adb70420d49d8d"
+ integrity sha512-ZUGI/de44L5x87uX5zM14UYcbn79HSXUR+kzcqU42gH0AgpdB/TjuJy3m4ezI7Q/jk3wTQd755mxSDLhQP79KA==
dependencies:
"@types/eslint-visitor-keys" "^1.0.0"
- "@typescript-eslint/experimental-utils" "3.2.0"
- "@typescript-eslint/typescript-estree" "3.2.0"
+ "@typescript-eslint/experimental-utils" "3.4.0"
+ "@typescript-eslint/typescript-estree" "3.4.0"
eslint-visitor-keys "^1.1.0"
"@typescript-eslint/typescript-estree@3.0.2":
@@ -2211,10 +2302,10 @@
semver "^7.3.2"
tsutils "^3.17.1"
-"@typescript-eslint/typescript-estree@3.2.0":
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.2.0.tgz#c735f1ca6b4d3cd671f30de8c9bde30843e7ead8"
- integrity sha512-uh+Y2QO7dxNrdLw7mVnjUqkwO/InxEqwN0wF+Za6eo3coxls9aH9kQ/5rSvW2GcNanebRTmsT5w1/92lAOb1bA==
+"@typescript-eslint/typescript-estree@3.4.0":
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-3.4.0.tgz#6a787eb70b48969e4cd1ea67b057083f96dfee29"
+ integrity sha512-zKwLiybtt4uJb4mkG5q2t6+W7BuYx2IISiDNV+IY68VfoGwErDx/RfVI7SWL4gnZ2t1A1ytQQwZ+YOJbHHJ2rw==
dependencies:
debug "^4.1.1"
eslint-visitor-keys "^1.1.0"
@@ -2469,14 +2560,6 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
-ajv@^4.11.5:
- version "4.11.8"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
- integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=
- dependencies:
- co "^4.6.0"
- json-stable-stringify "^1.0.1"
-
ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.5.5:
version "6.12.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd"
@@ -2777,16 +2860,6 @@ asn1.js@^4.0.0:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
-asn1.js@^5.0.1:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.3.0.tgz#439099fe9174e09cff5a54a9dda70260517e8689"
- integrity sha512-WHnQJFcOrIWT1RLOkFFBQkFVvyt9BPOOrH+Dp152Zk4R993rSzXUGPmkybIcUFhHE2d/iHH+nCaOWVCDbO8fgA==
- dependencies:
- bn.js "^4.0.0"
- inherits "^2.0.1"
- minimalistic-assert "^1.0.0"
- safer-buffer "^2.1.0"
-
asn1@~0.2.3:
version "0.2.4"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
@@ -2847,7 +2920,7 @@ async@0.9.x:
resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=
-async@^2.6.2, async@~2.6.3:
+async@^2.6.2:
version "2.6.3"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
@@ -3045,13 +3118,6 @@ base-x@^1.1.0:
resolved "https://registry.yarnpkg.com/base-x/-/base-x-1.1.0.tgz#42d3d717474f9ea02207f6d1aa1f426913eeb7ac"
integrity sha1-QtPXF0dPnqAiB/bRqh9CaRPut6w=
-base-x@^3.0.2:
- version "3.0.8"
- resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d"
- integrity sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==
- dependencies:
- safe-buffer "^5.0.1"
-
base58check@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/base58check/-/base58check-2.0.0.tgz#8046652d14bc87f063bd16be94a39134d3b61173"
@@ -3064,11 +3130,6 @@ base64-js@^1.0.2:
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
-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"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
@@ -3099,11 +3160,6 @@ bcryptjs@2.4.3:
resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb"
integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms=
-bech32@^1.1.2:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9"
- integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==
-
bfj@^6.1.1:
version "6.1.2"
resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f"
@@ -3134,74 +3190,13 @@ binary-extensions@^2.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c"
integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==
-bindings@^1.3.0, bindings@^1.5.0:
+bindings@^1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
dependencies:
file-uri-to-path "1.0.0"
-bip174@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/bip174/-/bip174-1.0.1.tgz#858a587f9529e22ee9b0572fd884e5783696824d"
- integrity sha512-Mq2aFs1TdMfxBpYPg7uzjhsiXbAtoVq44TNjEWtvuZBiBgc3m7+n55orYMtTAxdg7jWbL4DtH0MKocJER4xERQ==
-
-bip32@^2.0.4:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.5.tgz#e3808a9e97a880dbafd0f5f09ca4a1e14ee275d2"
- integrity sha512-zVY4VvJV+b2fS0/dcap/5XLlpqtgwyN8oRkuGgAS1uLOeEp0Yo6Tw2yUTozTtlrMJO3G8n4g/KX/XGFHW6Pq3g==
- dependencies:
- "@types/node" "10.12.18"
- bs58check "^2.1.1"
- create-hash "^1.2.0"
- create-hmac "^1.1.7"
- tiny-secp256k1 "^1.1.3"
- typeforce "^1.11.5"
- wif "^2.0.6"
-
-bip39@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.2.tgz#2baf42ff3071fc9ddd5103de92e8f80d9257ee32"
- integrity sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ==
- dependencies:
- "@types/node" "11.11.6"
- create-hash "^1.1.0"
- pbkdf2 "^3.0.9"
- randombytes "^2.0.1"
-
-bip66@^1.1.0:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22"
- integrity sha1-AfqHSHhcpwlV1QESF9GzE5lpyiI=
- dependencies:
- safe-buffer "^5.0.1"
-
-bitcoin-ops@^1.3.0, bitcoin-ops@^1.4.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz#e45de620398e22fd4ca6023de43974ff42240278"
- integrity sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow==
-
-bitcoinjs-lib@^5.1.6:
- version "5.1.10"
- resolved "https://registry.yarnpkg.com/bitcoinjs-lib/-/bitcoinjs-lib-5.1.10.tgz#91ec7cde308007008b22ed9117c5f26970cbad54"
- integrity sha512-CesUqtBtnYc+SOMsYN9jWQWhdohW1MpklUkF7Ukn4HiAyN6yxykG+cIJogfRt6x5xcgH87K1Q+Mnoe/B+du1Iw==
- dependencies:
- bech32 "^1.1.2"
- bip174 "^1.0.1"
- bip32 "^2.0.4"
- bip66 "^1.1.0"
- bitcoin-ops "^1.4.0"
- bs58check "^2.0.0"
- create-hash "^1.1.0"
- create-hmac "^1.1.3"
- merkle-lib "^2.0.10"
- pushdata-bitcoin "^1.0.1"
- randombytes "^2.0.1"
- tiny-secp256k1 "^1.1.1"
- typeforce "^1.11.3"
- varuint-bitcoin "^1.0.4"
- wif "^2.0.1"
-
block-stream@*:
version "0.0.9"
resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
@@ -3209,32 +3204,6 @@ block-stream@*:
dependencies:
inherits "~2.0.0"
-blockstack@21.0.0-alpha.2:
- version "21.0.0-alpha.2"
- resolved "https://registry.yarnpkg.com/blockstack/-/blockstack-21.0.0-alpha.2.tgz#1f223387df24b5770d5e7ec4031df52b8014ca11"
- integrity sha512-I7FQTYU78H/Eok/is0G79dSaQ7tD0DuKGKRCihHDdAKHYGeiTIZyHQ8fyK3NL8yEoRzRoIlCPEefCQgh/no6hg==
- dependencies:
- "@types/cheerio" "^0.22.13"
- "@types/elliptic" "^6.4.10"
- "@types/node" "^12.7.12"
- "@types/randombytes" "^2.0.0"
- ajv "^4.11.5"
- bip39 "^3.0.2"
- bitcoinjs-lib "^5.1.6"
- bn.js "^4.11.8"
- cross-fetch "^3.0.4"
- elliptic "^6.5.1"
- form-data "^2.5.1"
- jsontokens "3.0.0-alpha.0"
- query-string "^6.8.3"
- randombytes "^2.1.0"
- request "^2.88.0"
- ripemd160-min "0.0.5"
- schema-inspector "^1.6.8"
- tslib "^1.10.0"
- uuid "^3.3.3"
- zone-file "^1.0.0"
-
bluebird-lst@^1.0.9:
version "1.0.9"
resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c"
@@ -3426,6 +3395,13 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5:
node-releases "^1.1.53"
pkg-up "^2.0.0"
+bs-logger@0.x:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
+ integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
+ dependencies:
+ fast-json-stable-stringify "2.x"
+
bs58@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/bs58/-/bs58-3.1.0.tgz#d4c26388bf4804cac714141b1945aa47e5eb248e"
@@ -3433,22 +3409,6 @@ bs58@^3.0.0:
dependencies:
base-x "^1.1.0"
-bs58@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a"
- integrity sha1-vhYedsNU9veIrkBx9j806MTwpCo=
- dependencies:
- base-x "^3.0.2"
-
-bs58check@<3.0.0, bs58check@^2.0.0, bs58check@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc"
- integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==
- dependencies:
- bs58 "^4.0.0"
- create-hash "^1.1.0"
- safe-buffer "^5.1.2"
-
bser@2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
@@ -3461,7 +3421,7 @@ buffer-crc32@~0.2.3:
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
-buffer-from@^1.0.0:
+buffer-from@1.x, buffer-from@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
@@ -3476,6 +3436,14 @@ buffer-xor@^1.0.3:
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
+buffer@5.6.0:
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786"
+ integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+
buffer@^4.3.0:
version "4.9.2"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
@@ -4016,7 +3984,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
-commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.3:
+commander@^2.18.0, commander@^2.19.0, commander@^2.20.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
@@ -4099,6 +4067,22 @@ concurrently@5.2.0:
tree-kill "^1.2.2"
yargs "^13.3.0"
+conf@^6.2.1:
+ version "6.2.4"
+ resolved "https://registry.yarnpkg.com/conf/-/conf-6.2.4.tgz#49d23c4e21ef2ac2860f7b5ed25b7b7e484f769f"
+ integrity sha512-GjgyPRLo1qK1LR9RWAdUagqo+DP18f5HWCFk4va7GS+wpxQTOzfuKTwKOvGW2c01/YXNicAyyoyuSddmdkBzZQ==
+ dependencies:
+ ajv "^6.10.2"
+ debounce-fn "^3.0.1"
+ dot-prop "^5.0.0"
+ env-paths "^2.2.0"
+ json-schema-typed "^7.0.1"
+ make-dir "^3.0.0"
+ onetime "^5.1.0"
+ pkg-up "^3.0.1"
+ semver "^6.2.0"
+ write-file-atomic "^3.0.0"
+
config-chain@^1.1.11:
version "1.1.12"
resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
@@ -4163,13 +4147,13 @@ content-type@~1.0.4:
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
-conventional-changelog-conventionalcommits@4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.1.tgz#d6cb2e2c5d7bfca044a08b9dba84b4082e1a1bd9"
- integrity sha512-vC02KucnkNNap+foDKFm7BVUSDAXktXrUJqGszUuYnt6T0J2azsbYz/w9TDc3VsrW2v6JOtiQWVcgZnporHr4Q==
+conventional-changelog-conventionalcommits@4.2.3:
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.3.tgz#22855b32d57d0328951c1c2dc01b172a5f24ea37"
+ integrity sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww==
dependencies:
compare-func "^1.3.1"
- lodash "^4.2.1"
+ lodash "^4.17.15"
q "^1.5.1"
convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
@@ -4269,7 +4253,7 @@ create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
ripemd160 "^2.0.1"
sha.js "^2.4.0"
-create-hmac@^1.1.0, create-hmac@^1.1.3, create-hmac@^1.1.4, create-hmac@^1.1.7:
+create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
@@ -4608,6 +4592,13 @@ date-fns@^2.0.1:
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.14.0.tgz#359a87a265bb34ef2e38f93ecf63ac453f9bc7ba"
integrity sha512-1zD+68jhFgDIM0rF05rcwYO8cExdNqxjq4xP1QKM60Q45mnO6zaMWB4tOzrIr4M4GSLntsKeE4c9Bdl2jhL/yw==
+debounce-fn@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-3.0.1.tgz#034afe8b904d985d1ec1aa589cd15f388741d680"
+ integrity sha512-aBoJh5AhpqlRoHZjHmOzZlRx+wz2xVwGL9rjs+Kj0EWUrL4/h4K7OD176thl2Tdoqui/AaA4xhHrNArGLAaI3Q==
+ dependencies:
+ mimic-fn "^2.1.0"
+
debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.5.1, debug@^2.6.0, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -4984,7 +4975,7 @@ dot-prop@^3.0.0:
dependencies:
is-obj "^1.0.0"
-dot-prop@^5.2.0:
+dot-prop@^5.0.0, dot-prop@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb"
integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==
@@ -5029,13 +5020,6 @@ ecc-jsbn@~0.1.1:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
-ecdsa-sig-formatter@^1.0.11:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
- integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
- dependencies:
- safe-buffer "^5.0.1"
-
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@@ -5144,6 +5128,14 @@ electron-rebuild@1.11.0:
spawn-rx "^3.0.0"
yargs "^14.2.0"
+electron-store@5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/electron-store/-/electron-store-5.2.0.tgz#a15718fc1fa21acfd07af55f9b94f9fa6a536665"
+ integrity sha512-iU3WDqEDAYNYR9XV7p0tJajq/zs9z7Nrn0sAoR5nDyn8h/9dr9kusKbTxD8NtVEBD1TB1pkGMqcbIt/y6knDwQ==
+ dependencies:
+ conf "^6.2.1"
+ type-fest "^0.7.1"
+
electron-to-chromium@^1.3.413:
version "1.3.465"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.465.tgz#d692e5c383317570c2bd82092a24a0308c6ccf29"
@@ -5171,7 +5163,7 @@ electron@8.3.1:
"@types/node" "^12.0.12"
extract-zip "^1.0.3"
-elliptic@^6.0.0, elliptic@^6.4.0, elliptic@^6.4.1, elliptic@^6.5.1, elliptic@^6.5.2:
+elliptic@^6.0.0, elliptic@^6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762"
integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==
@@ -5443,11 +5435,6 @@ eslint-module-utils@^2.6.0:
debug "^2.6.9"
pkg-dir "^2.0.0"
-eslint-plugin-import-helpers@1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import-helpers/-/eslint-plugin-import-helpers-1.0.2.tgz#ae0ab47c991c65e1b25b6370f49afa2cab4cbd9c"
- integrity sha512-aSoqeEEkJou/1NhbSO7Xr2SKSs8mI53qe8uFh9tMl4WCbrOwoel0eA3hRajlJ7MLCG44umf+mY3/dWuufneFzw==
-
eslint-plugin-import@>=2.20.2:
version "2.21.1"
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.21.1.tgz#3398318e5e4abbd23395c4964ce61538705154c8"
@@ -5507,7 +5494,7 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.2
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz#74415ac884874495f78ec2a97349525344c981fa"
integrity sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ==
-eslint@7.2.0, eslint@^7.1.0:
+eslint@^7.1.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.2.0.tgz#d41b2e47804b30dbabb093a967fb283d560082e6"
integrity sha512-B3BtEyaDKC5MlfDa2Ha8/D6DsS4fju95zs0hjS3HdGazw+LNayai38A25qMppK37wWGWNYSPOR6oYzlz5MHsRQ==
@@ -5818,7 +5805,7 @@ fast-diff@^1.1.2:
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:
+fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
@@ -6060,15 +6047,6 @@ forever-agent@~0.6.1:
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
-form-data@^2.5.1:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4"
- integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.6"
- mime-types "^2.1.12"
-
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
@@ -6811,23 +6789,6 @@ husky@4.2.5:
slash "^3.0.0"
which-pm-runs "^1.0.0"
-iced-error@>=0.0.9:
- version "0.0.13"
- resolved "https://registry.yarnpkg.com/iced-error/-/iced-error-0.0.13.tgz#a4a8a4f1461a59c7a2a380b4f745ffd80718f08b"
- integrity sha512-yEEaG8QfyyRL0SsbNNDw3rVgTyqwHFMCuV6jDvD43f/2shmdaFXkqvFLGhDlsYNSolzYHwVLM/CrXt9GygYopA==
-
-iced-lock@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/iced-lock/-/iced-lock-1.1.0.tgz#6116ef1cab3acd6e6b10893bb27ba622fd3fde72"
- integrity sha1-YRbvHKs6zW5rEIk7snumIv0/3nI=
- dependencies:
- iced-runtime "^1.0.0"
-
-iced-runtime@>=0.0.1, iced-runtime@^1.0.0, iced-runtime@^1.0.2:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/iced-runtime/-/iced-runtime-1.0.4.tgz#e9de26dfe98cd8621201f7f3dfb9f7f09c550990"
- integrity sha512-rgiJXNF6ZgF2Clh/TKUlBDW3q51YPDJUXmxGQXx1b8tbZpVpTn+1RX9q1sjNkujXIIaVxZByQzPHHORg7KV51g==
-
iconv-lite@0.4.24, iconv-lite@^0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
@@ -7946,6 +7907,11 @@ json-schema-traverse@^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-typed@^7.0.1:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz#23ff481b8b4eebcd2ca123b4fa0409e66469a2d9"
+ integrity sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==
+
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
@@ -7956,13 +7922,6 @@ json-stable-stringify-without-jsonify@^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"
- resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
- integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=
- dependencies:
- jsonify "~0.0.0"
-
json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@@ -7973,6 +7932,13 @@ json3@^3.3.2:
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"
integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==
+json5@2.x, json5@^2.1.2:
+ version "2.1.3"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
+ integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
+ dependencies:
+ minimist "^1.2.5"
+
json5@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
@@ -7980,13 +7946,6 @@ json5@^1.0.1:
dependencies:
minimist "^1.2.0"
-json5@^2.1.2:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
- integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
- dependencies:
- minimist "^1.2.5"
-
jsonfile@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
@@ -8003,35 +7962,6 @@ jsonfile@^6.0.1:
optionalDependencies:
graceful-fs "^4.1.6"
-jsonify@~0.0.0:
- version "0.0.0"
- resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
- integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=
-
-jsontokens@3.0.0-alpha.0:
- version "3.0.0-alpha.0"
- resolved "https://registry.yarnpkg.com/jsontokens/-/jsontokens-3.0.0-alpha.0.tgz#16d04a2019a6dbe2392e4eeb489ac47ec3d855d7"
- integrity sha512-+2JdFr2d3XBfamUnETQdv76u3AwBl8jmLp2Hgb/uK5NTys0FpoR5KbIIqv3QrXtjn0uIIPJz9JmhqDAnXd2Nhg==
- dependencies:
- "@types/elliptic" "^6.4.9"
- asn1.js "^5.0.1"
- base64url "^3.0.1"
- ecdsa-sig-formatter "^1.0.11"
- elliptic "^6.4.1"
- key-encoder "^2.0.3"
-
-jsontokens@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/jsontokens/-/jsontokens-3.0.0.tgz#629984d260a4081b11541313acdba708377314d3"
- integrity sha512-P0QZC5AjOkn3t1ej6OuI7+XqoEctYj83UK4pw0WpHY4/z6a5PpZCJSpp5NZodq94GFkw2PfB9DPFoDM5qpyp/g==
- dependencies:
- "@types/elliptic" "^6.4.9"
- asn1.js "^5.0.1"
- base64url "^3.0.1"
- ecdsa-sig-formatter "^1.0.11"
- elliptic "^6.4.1"
- sha.js "^2.4.11"
-
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
@@ -8057,16 +7987,6 @@ just-extend@^4.0.2:
resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.1.0.tgz#7278a4027d889601640ee0ce0e5a00b992467da4"
integrity sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA==
-key-encoder@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/key-encoder/-/key-encoder-2.0.3.tgz#77073bb48ff1fe2173bb2088b83b91152c8fa4ba"
- integrity sha512-fgBtpAGIr/Fy5/+ZLQZIPPhsZEcbSlYu/Wu96tNDFNSjSACw5lEIOFeaVdQ/iwrb8oxjlWi6wmWdH76hV6GZjg==
- dependencies:
- "@types/elliptic" "^6.4.9"
- asn1.js "^5.0.1"
- bn.js "^4.11.8"
- elliptic "^6.4.1"
-
keyboardevent-from-electron-accelerator@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/keyboardevent-from-electron-accelerator/-/keyboardevent-from-electron-accelerator-2.0.0.tgz#ace21b1aa4e47148815d160057f9edb66567c50c"
@@ -8326,7 +8246,7 @@ lodash.isequal@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA=
-lodash.memoize@^4.1.2:
+lodash.memoize@4.x, lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
@@ -8341,7 +8261,7 @@ lodash.uniq@^4.5.0:
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
-lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5, lodash@^4.2.1, lodash@~4.17.10:
+lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5, lodash@~4.17.10:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
@@ -8430,6 +8350,11 @@ make-dir@^3.0.0, make-dir@^3.0.2:
dependencies:
semver "^6.0.0"
+make-error@1.x:
+ version "1.3.6"
+ resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
+ integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
+
makeerror@1.0.x:
version "1.0.11"
resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
@@ -8543,16 +8468,19 @@ merge-stream@^2.0.0:
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-merkle-lib@^2.0.10:
- version "2.0.10"
- resolved "https://registry.yarnpkg.com/merkle-lib/-/merkle-lib-2.0.10.tgz#82b8dbae75e27a7785388b73f9d7725d0f6f3326"
- integrity sha1-grjbrnXieneFOItz+ddyXQ9vMyY=
-
methods@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
+micromatch@4.x, micromatch@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
+ integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
+ dependencies:
+ braces "^3.0.1"
+ picomatch "^2.0.5"
+
micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
@@ -8572,14 +8500,6 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4:
snapdragon "^0.8.1"
to-regex "^3.0.2"
-micromatch@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259"
- integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==
- dependencies:
- braces "^3.0.1"
- picomatch "^2.0.5"
-
miller-rabin@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
@@ -8747,6 +8667,11 @@ mixin-deep@^1.2.0:
for-in "^1.0.2"
is-extendable "^1.0.1"
+mkdirp@1.x, mkdirp@^1.0.3, mkdirp@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4, mkdirp@~0.5.1:
version "0.5.5"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
@@ -8754,23 +8679,11 @@ mixin-deep@^1.2.0:
dependencies:
minimist "^1.2.5"
-mkdirp@^1.0.3, mkdirp@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
- integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
-
moo@^0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/moo/-/moo-0.5.1.tgz#7aae7f384b9b09f620b6abf6f74ebbcd1b65dbc4"
integrity sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==
-more-entropy@>=0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/more-entropy/-/more-entropy-0.0.7.tgz#67bfc6f7a86f26fbc37aac83fd46d88c61d109b5"
- integrity sha1-Z7/G96hvJvvDeqyD/UbYjGHRCbU=
- dependencies:
- iced-runtime ">=0.0.1"
-
move-concurrently@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
@@ -9627,7 +9540,7 @@ path-type@^4.0.0:
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-pbkdf2@^3.0.3, pbkdf2@^3.0.9:
+pbkdf2@^3.0.3:
version "3.1.1"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94"
integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==
@@ -9715,6 +9628,13 @@ pkg-up@^2.0.0:
dependencies:
find-up "^2.1.0"
+pkg-up@^3.0.1:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5"
+ integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==
+ dependencies:
+ find-up "^3.0.0"
+
please-upgrade-node@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
@@ -10197,11 +10117,6 @@ progress@^2.0.0, progress@^2.0.3:
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-progress@~1.1.2:
- version "1.1.8"
- resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
- integrity sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=
-
promise-inflight@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
@@ -10320,13 +10235,6 @@ pupa@^2.0.1:
dependencies:
escape-goat "^2.0.0"
-pushdata-bitcoin@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz#15931d3cd967ade52206f523aa7331aef7d43af7"
- integrity sha1-FZMdPNlnreUiBvUjqnMxrvfUOvc=
- dependencies:
- bitcoin-ops "^1.3.0"
-
q@^1.1.2, q@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
@@ -10350,15 +10258,6 @@ query-string@^4.1.0:
object-assign "^4.1.0"
strict-uri-encode "^1.0.0"
-query-string@^6.8.3:
- version "6.13.1"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.1.tgz#d913ccfce3b4b3a713989fe6d39466d92e71ccad"
- integrity sha512-RfoButmcK+yCta1+FuU8REvisx1oEzhMKwhLUNcepQTPGcNMp1sIqjnfCtfnvGSQZQEhaBHvccujtWoUV3TTbA==
- dependencies:
- decode-uri-component "^0.2.0"
- split-on-first "^1.0.0"
- strict-uri-encode "^2.0.0"
-
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
@@ -10386,6 +10285,11 @@ railroad-diagrams@^1.0.0:
resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e"
integrity sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=
+ramda@0.27.0:
+ version "0.27.0"
+ resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.0.tgz#915dc29865c0800bf3f69b8fd6c279898b59de43"
+ integrity sha512-pVzZdDpWwWqEVVLshWUHjNwuVP7SfcmPraYuqocJp1yo2U1R7P+5QAfDhdItkuoGqIBnBYrtPp7rEPqDn9HlZA==
+
randexp@0.4.6:
version "0.4.6"
resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3"
@@ -10980,11 +10884,6 @@ rimraf@3.0.2, rimraf@^3.0.0, rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
-ripemd160-min@0.0.5:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/ripemd160-min/-/ripemd160-min-0.0.5.tgz#f76c95ce752947ca103116b65edf2d11ea612320"
- integrity sha512-lcz1Gkecuq0zvAeRZUIWE8bJA2PE8F7VfdmRUcIWhXuDtvLQJJJStHi9ZrDlb4mH8JPGDbNDBdDLtIsNrEYARg==
-
ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
@@ -11122,13 +11021,6 @@ scheduler@^0.19.0, scheduler@^0.19.1:
loose-envify "^1.1.0"
object-assign "^4.1.1"
-schema-inspector@^1.6.8:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/schema-inspector/-/schema-inspector-1.7.0.tgz#b3f8b97fc26ba930ef16cd7b8fcf77201ce468db"
- integrity sha512-Cj4XP6O3QfDhOq7bIPpz3Ev+sjR++nqFsIggBVIk/8axqFc2p+XSwNBWih9Ut/p8k36f1uCyXB+TzumZUsxVBQ==
- dependencies:
- async "~2.6.3"
-
schema-utils@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
@@ -11199,16 +11091,16 @@ semver@7.0.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
+semver@7.x, semver@^7.1.3, semver@^7.2.1, semver@^7.3.2:
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
+ integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
+
semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
-semver@^7.1.3, semver@^7.2.1, semver@^7.3.2:
- version "7.3.2"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
- integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
-
semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
@@ -11593,11 +11485,6 @@ spdy@^4.0.2:
select-hose "^2.0.0"
spdy-transport "^3.0.0"
-split-on-first@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
- integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
-
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
@@ -11723,11 +11610,6 @@ strict-uri-encode@^1.0.0:
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=
-strict-uri-encode@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
- integrity sha1-ucczDHBChi9rFC3CdLvMWGbONUY=
-
string-argv@0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
@@ -12224,17 +12106,6 @@ tiny-invariant@^1.0.2:
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875"
integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==
-tiny-secp256k1@^1.1.1, tiny-secp256k1@^1.1.3:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.4.tgz#772a7711baaa9e2bffa92708cafadc9d372907a3"
- integrity sha512-O7NfGzBdBy/jamehZ1ptutZsh2c+9pq2Pu+KPv75+yzk5/Q/6lppQGMUJucHdRGdkeBcAUeLAOdJInEAZgZ53A==
- dependencies:
- bindings "^1.3.0"
- bn.js "^4.11.8"
- create-hmac "^1.1.7"
- elliptic "^6.4.0"
- nan "^2.13.2"
-
tiny-warning@^1.0.0, tiny-warning@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
@@ -12338,18 +12209,6 @@ trim-newlines@^1.0.0:
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
-triplesec@^3.0.27:
- version "3.0.27"
- resolved "https://registry.yarnpkg.com/triplesec/-/triplesec-3.0.27.tgz#43ba5a9f0e11ebba20c7563ecca947b2f94e82c5"
- integrity sha512-FDhkxa3JYnPOerOd+8k+SBmm7cb7KkyX+xXwNFV3XV6dsQgHuRvjtbnzWfPJ2kimeR8ErjZfPd/6r7RH6epHDw==
- dependencies:
- iced-error ">=0.0.9"
- iced-lock "^1.0.1"
- iced-runtime "^1.0.2"
- more-entropy ">=0.0.7"
- progress "~1.1.2"
- uglify-js "^3.1.9"
-
"true-case-path@^1.0.2":
version "1.0.3"
resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d"
@@ -12369,6 +12228,27 @@ tryer@^1.0.1:
resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==
+ts-jest@26.1.1:
+ version "26.1.1"
+ resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.1.1.tgz#b98569b8a4d4025d966b3d40c81986dd1c510f8d"
+ integrity sha512-Lk/357quLg5jJFyBQLnSbhycnB3FPe+e9i7ahxokyXxAYoB0q1pPmqxxRPYr4smJic1Rjcf7MXDBhZWgxlli0A==
+ dependencies:
+ bs-logger "0.x"
+ buffer-from "1.x"
+ fast-json-stable-stringify "2.x"
+ json5 "2.x"
+ lodash.memoize "4.x"
+ make-error "1.x"
+ micromatch "4.x"
+ mkdirp "1.x"
+ semver "7.x"
+ yargs-parser "18.x"
+
+ts-toolbelt@^6.3.3:
+ version "6.9.9"
+ resolved "https://registry.yarnpkg.com/ts-toolbelt/-/ts-toolbelt-6.9.9.tgz#e6cfd8ec7d425d2a06bda3b4fe9577ceaf2abda8"
+ integrity sha512-5a8k6qfbrL54N4Dw+i7M6kldrbjgDWb5Vit8DnT+gwThhvqMg8KtxLE5Vmnft+geIgaSOfNJyAcnmmlflS+Vdg==
+
tsconfig-paths@^3.9.0:
version "3.9.0"
resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b"
@@ -12379,7 +12259,7 @@ tsconfig-paths@^3.9.0:
minimist "^1.2.0"
strip-bom "^3.0.0"
-tslib@^1.10.0, tslib@^1.11.2, tslib@^1.8.1, tslib@^1.9.0:
+tslib@^1.11.2, tslib@^1.8.1, tslib@^1.9.0:
version "1.13.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
@@ -12447,6 +12327,11 @@ type-fest@^0.6.0:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b"
integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==
+type-fest@^0.7.1:
+ version "0.7.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48"
+ integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==
+
type-fest@^0.8.1:
version "0.8.1"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
@@ -12497,23 +12382,11 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
-typeforce@^1.11.3, typeforce@^1.11.5:
- version "1.18.0"
- resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc"
- integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==
-
typescript@3.9.5:
version "3.9.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.5.tgz#586f0dba300cde8be52dd1ac4f7e1009c1b13f36"
integrity sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==
-uglify-js@^3.1.9:
- version "3.9.4"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.9.4.tgz#867402377e043c1fc7b102253a22b64e5862401b"
- integrity sha512-8RZBJq5smLOa7KslsNsVcSH+KOXf1uDU8yqLeNuVKwmT0T3FA0ZoXlinQfRad7SDcbZZRZE4ov+2v71EnxNyCA==
- dependencies:
- commander "~2.20.3"
-
unicode-canonical-property-names-ecmascript@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
@@ -12754,7 +12627,7 @@ utils-merge@1.0.1:
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
-uuid@^3.3.2, uuid@^3.3.3, uuid@^3.4.0:
+uuid@^3.3.2, uuid@^3.4.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
@@ -12796,13 +12669,6 @@ value-equal@^1.0.1:
resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c"
integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==
-varuint-bitcoin@^1.0.4:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz#e76c138249d06138b480d4c5b40ef53693e24e92"
- integrity sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==
- dependencies:
- safe-buffer "^5.1.1"
-
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
@@ -13128,13 +12994,6 @@ widest-line@^3.1.0:
dependencies:
string-width "^4.0.0"
-wif@^2.0.1, wif@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704"
- integrity sha1-CNP1IFbGZnkplyb63g1DKudLRwQ=
- dependencies:
- bs58check "<3.0.0"
-
word-wrap@^1.2.3, word-wrap@~1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
@@ -13249,6 +13108,14 @@ yaml@^1.7.2:
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
+yargs-parser@18.x, yargs-parser@^18.1.1:
+ version "18.1.3"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
+ integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
yargs-parser@^13.1.0, yargs-parser@^13.1.2:
version "13.1.2"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
@@ -13265,14 +13132,6 @@ yargs-parser@^15.0.1:
camelcase "^5.0.0"
decamelize "^1.2.0"
-yargs-parser@^18.1.1:
- version "18.1.3"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
- integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
yargs@13.2.4:
version "13.2.4"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83"
@@ -13353,11 +13212,6 @@ yauzl@^2.10.0:
buffer-crc32 "~0.2.3"
fd-slicer "~1.1.0"
-zone-file@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/zone-file/-/zone-file-1.0.0.tgz#93f4ae26d1a13974f8178f6dfff14b41466c6029"
- integrity sha512-dJynTf/5XCobE6diQBpNWQQRBzXE8d1QhHKemzrkffrZ36F9uKlbBVyIXXbG2CJoaTGZGh8zt2AHX/mG4txtqA==
-
zxcvbn@4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/zxcvbn/-/zxcvbn-4.4.2.tgz#28ec17cf09743edcab056ddd8b1b06262cc73c30"