From cbbcf1f4d11685d90a0e4ec65a8c428e1850c8ea Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Mon, 7 Jan 2019 15:36:47 +0100 Subject: [PATCH 001/219] Added loading state for acquire button --- src/components/Notification/index.js | 2 ++ src/views/Wallet/views/Acquire/index.js | 43 ++++++++++++------------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/components/Notification/index.js b/src/components/Notification/index.js index 34162047..6eade847 100644 --- a/src/components/Notification/index.js +++ b/src/components/Notification/index.js @@ -19,6 +19,7 @@ type Props = { className?: string; message?: ?string; actions?: Array; + isActionInProgress?: boolean; close?: typeof NotificationActions.close, loading?: boolean }; @@ -122,6 +123,7 @@ const Notification = (props: Props): React$Element => { { close(); action.callback(); }} >{action.label} diff --git a/src/views/Wallet/views/Acquire/index.js b/src/views/Wallet/views/Acquire/index.js index 1df45e01..4dfd980c 100644 --- a/src/views/Wallet/views/Acquire/index.js +++ b/src/views/Wallet/views/Acquire/index.js @@ -21,28 +21,27 @@ const Wrapper = styled.div` flex: 1; `; -const Acquire = (props: Props) => { - const actions = props.acquiring ? [] : [ - { - label: 'Acquire device', - callback: () => { - props.acquireDevice(); - }, - }, - ]; - - return ( - - - - ); -}; +const Acquire = (props: Props) => ( + + { + props.acquireDevice(); + }, + }, + ] + } + /> + +); export default connect( (state: State) => ({ From cc5d7a9b662ee7c0cabe6ae8a665e23aa5b5108d Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 8 Jan 2019 10:40:21 +0100 Subject: [PATCH 002/219] use faster toFixed() --- src/actions/ethereum/SendFormValidationActions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/actions/ethereum/SendFormValidationActions.js b/src/actions/ethereum/SendFormValidationActions.js index 46451fb5..9407c5ce 100644 --- a/src/actions/ethereum/SendFormValidationActions.js +++ b/src/actions/ethereum/SendFormValidationActions.js @@ -347,7 +347,7 @@ export const calculateFee = (gasPrice: string, gasLimit: string): string => { export const calculateTotal = (amount: string, gasPrice: string, gasLimit: string): string => { try { - return new BigNumber(amount).plus(calculateFee(gasPrice, gasLimit)).toString(10); + return new BigNumber(amount).plus(calculateFee(gasPrice, gasLimit)).toFixed(); } catch (error) { return '0'; } From 83abbd9ac3742e3326d81d5a25984164d9a900ed Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 8 Jan 2019 11:50:30 +0100 Subject: [PATCH 003/219] faster conversion to string for ripple --- src/actions/ripple/SendFormValidationActions.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/actions/ripple/SendFormValidationActions.js b/src/actions/ripple/SendFormValidationActions.js index db5131fa..1e529763 100644 --- a/src/actions/ripple/SendFormValidationActions.js +++ b/src/actions/ripple/SendFormValidationActions.js @@ -237,7 +237,7 @@ export const feeValidation = ($state: State): PayloadAction => (dispatch: const calculateTotal = (amount: string, fee: string): string => { try { - return new BigNumber(amount).plus(fee).toString(10); + return new BigNumber(amount).plus(fee).toFixed(); } catch (error) { return '0'; } @@ -248,7 +248,7 @@ const calculateMaxAmount = (balance: BigNumber, fee: string): string => { // TODO - minus pendings const max = balance.minus(fee); if (max.lessThan(0)) return '0'; - return max.toString(10); + return max.toFixed(); } catch (error) { return '0'; } From 8970f90d4573f6247c70d19ee6d58be608e93eca Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 8 Jan 2019 13:23:46 +0100 Subject: [PATCH 004/219] use toFixed for fees on eth --- src/actions/ethereum/SendFormValidationActions.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/actions/ethereum/SendFormValidationActions.js b/src/actions/ethereum/SendFormValidationActions.js index 9407c5ce..f5283ff6 100644 --- a/src/actions/ethereum/SendFormValidationActions.js +++ b/src/actions/ethereum/SendFormValidationActions.js @@ -115,7 +115,7 @@ export const recalculateTotalAmount = ($state: State): PayloadAction => ( if (isToken) { const token = findToken(tokens, account.descriptor, state.currency, account.deviceState); if (token) { - state.amount = new BigNumber(token.balance).minus(pendingAmount).toString(10); + state.amount = new BigNumber(token.balance).minus(pendingAmount).toFixed(); } } else { const b = new BigNumber(account.balance).minus(pendingAmount); @@ -359,7 +359,7 @@ export const calculateMaxAmount = (balance: BigNumber, gasPrice: string, gasLimi const fee = calculateFee(gasPrice, gasLimit); const max = balance.minus(fee); if (max.lessThan(0)) return '0'; - return max.toString(10); + return max.toFixed(); } catch (error) { return '0'; } @@ -368,8 +368,8 @@ export const calculateMaxAmount = (balance: BigNumber, gasPrice: string, gasLimi export const getFeeLevels = (symbol: string, gasPrice: BigNumber | string, gasLimit: string, selected?: FeeLevel): Array => { const price: BigNumber = typeof gasPrice === 'string' ? new BigNumber(gasPrice) : gasPrice; const quarter: BigNumber = price.dividedBy(4); - const high: string = price.plus(quarter.times(2)).toString(10); - const low: string = price.minus(quarter.times(2)).toString(10); + const high: string = price.plus(quarter.times(2)).toFixed(); + const low: string = price.minus(quarter.times(2)).toFixed(); const customLevel: FeeLevel = selected && selected.value === 'Custom' ? { value: 'Custom', @@ -391,7 +391,7 @@ export const getFeeLevels = (symbol: string, gasPrice: BigNumber | string, gasLi { value: 'Normal', gasPrice: gasPrice.toString(), - label: `${calculateFee(price.toString(10), gasLimit)} ${symbol}`, + label: `${calculateFee(price.toFixed(), gasLimit)} ${symbol}`, }, { value: 'Low', From bbfd3cafce88b10a12f80c65d715956c0bde4f17 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 8 Jan 2019 14:04:42 +0100 Subject: [PATCH 005/219] convert normal notation, converting exp notation will fail --- src/actions/ethereum/SendFormValidationActions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/actions/ethereum/SendFormValidationActions.js b/src/actions/ethereum/SendFormValidationActions.js index f5283ff6..16a30c7f 100644 --- a/src/actions/ethereum/SendFormValidationActions.js +++ b/src/actions/ethereum/SendFormValidationActions.js @@ -339,7 +339,7 @@ export const dataValidation = ($state: State): PayloadAction => (): State export const calculateFee = (gasPrice: string, gasLimit: string): string => { try { - return EthereumjsUnits.convert(new BigNumber(gasPrice).times(gasLimit), 'gwei', 'ether'); + return EthereumjsUnits.convert(new BigNumber(gasPrice).times(gasLimit).toFixed(), 'gwei', 'ether'); } catch (error) { return '0'; } From 1cfbae641570d0cbc96f8b38a34b38233ca1841a Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 8 Jan 2019 15:20:16 +0100 Subject: [PATCH 006/219] fix device status overflow --- src/components/DeviceHeader/index.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/DeviceHeader/index.js b/src/components/DeviceHeader/index.js index 079f9744..cdce9e46 100644 --- a/src/components/DeviceHeader/index.js +++ b/src/components/DeviceHeader/index.js @@ -48,8 +48,9 @@ const ClickWrapper = styled.div` `; const LabelWrapper = styled.div` - flex: 1; + flex: 1 1 auto; padding-left: 18px; + overflow: hidden; `; const Name = styled.div` @@ -73,6 +74,8 @@ const Status = styled.div` const IconWrapper = styled.div` padding-right: 25px; display: flex; + flex: 1 0 0; + justify-content: flex-end; `; const ImageWrapper = styled.div` @@ -122,7 +125,7 @@ const DeviceHeader = ({ {device.instanceLabel} - {getStatusName(status)} + {getStatusName(status)} {icon && !disabled && isAccessible && icon} From e59c3436bb6fc1fef81cac7f466297662e8684bf Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 9 Jan 2019 13:26:42 +0100 Subject: [PATCH 007/219] fix fee label overflow --- .../Wallet/views/Account/Send/ethereum/index.js | 17 +++++++++++++++-- .../Wallet/views/Account/Send/ripple/index.js | 17 +++++++++++++++-- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/views/Wallet/views/Account/Send/ethereum/index.js b/src/views/Wallet/views/Account/Send/ethereum/index.js index 6b88ff53..d6a74707 100644 --- a/src/views/Wallet/views/Account/Send/ethereum/index.js +++ b/src/views/Wallet/views/Account/Send/ethereum/index.js @@ -87,6 +87,19 @@ const FeeOptionWrapper = styled.div` justify-content: space-between; `; +const OptionValue = styled(P)` + flex: 0 0 0; + margin-right: 5px; +`; + +const OptionLabel = styled(P)` + flex: 0 1 auto; + overflow: hidden; + text-overflow: ellipsis; + text-align: right; + word-break: break-all; +`; + const FeeLabelWrapper = styled.div` display: flex; align-items: center; @@ -348,8 +361,8 @@ const AccountSend = (props: Props) => { options={feeLevels} formatOptionLabel={option => ( -

{option.value}

-

{option.label}

+ {option.value} + {option.label}
)} /> diff --git a/src/views/Wallet/views/Account/Send/ripple/index.js b/src/views/Wallet/views/Account/Send/ripple/index.js index cdc7fd3e..689c2cc4 100644 --- a/src/views/Wallet/views/Account/Send/ripple/index.js +++ b/src/views/Wallet/views/Account/Send/ripple/index.js @@ -74,6 +74,19 @@ const FeeOptionWrapper = styled.div` justify-content: space-between; `; +const OptionValue = styled(P)` + flex: 0 0 0; + margin-right: 5px; +`; + +const OptionLabel = styled(P)` + flex: 0 1 auto; + overflow: hidden; + text-overflow: ellipsis; + text-align: right; + word-break: break-all; +`; + const FeeLabelWrapper = styled.div` display: flex; align-items: center; @@ -302,8 +315,8 @@ const AccountSend = (props: Props) => { options={feeLevels} formatOptionLabel={option => ( -

{option.value}

-

{option.label}

+ {option.value} + {option.label}
)} /> From 41633bb7b805088a0049d8bc1bb0ac827aacfbdb Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 9 Jan 2019 13:59:19 +0100 Subject: [PATCH 008/219] set min-weight to make options look aligned --- src/views/Wallet/views/Account/Send/ethereum/index.js | 3 ++- src/views/Wallet/views/Account/Send/ripple/index.js | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/views/Wallet/views/Account/Send/ethereum/index.js b/src/views/Wallet/views/Account/Send/ethereum/index.js index d6a74707..4da01e1d 100644 --- a/src/views/Wallet/views/Account/Send/ethereum/index.js +++ b/src/views/Wallet/views/Account/Send/ethereum/index.js @@ -88,7 +88,8 @@ const FeeOptionWrapper = styled.div` `; const OptionValue = styled(P)` - flex: 0 0 0; + flex: 1 0 auto; + min-width: 70px; margin-right: 5px; `; diff --git a/src/views/Wallet/views/Account/Send/ripple/index.js b/src/views/Wallet/views/Account/Send/ripple/index.js index 689c2cc4..e9bc5e06 100644 --- a/src/views/Wallet/views/Account/Send/ripple/index.js +++ b/src/views/Wallet/views/Account/Send/ripple/index.js @@ -75,7 +75,8 @@ const FeeOptionWrapper = styled.div` `; const OptionValue = styled(P)` - flex: 0 0 0; + flex: 1 0 auto; + min-width: 70px; margin-right: 5px; `; From 33a9a281146338c143ffe3a5fe57a7ee554f7964 Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Wed, 9 Jan 2019 14:31:40 +0100 Subject: [PATCH 009/219] add destination tag to Ripple send form --- src/actions/ripple/SendFormActions.js | 19 ++++++ .../ripple/SendFormValidationActions.js | 14 +++++ src/reducers/SendFormRippleReducer.js | 2 + .../ripple/components/AdvancedForm/index.js | 59 +++++++++++++++++-- 4 files changed, 89 insertions(+), 5 deletions(-) diff --git a/src/actions/ripple/SendFormActions.js b/src/actions/ripple/SendFormActions.js index d737f53c..cb146d1b 100644 --- a/src/actions/ripple/SendFormActions.js +++ b/src/actions/ripple/SendFormActions.js @@ -244,6 +244,23 @@ export const onFeeChange = (fee: string): ThunkAction => (dispatch: Dispatch, ge }); }; +/* +* Called from UI on "advanced / destination tag" field change +*/ +export const onDestinationTagChange = (destinationTag: string): ThunkAction => (dispatch: Dispatch, getState: GetState): void => { + const state: State = getState().sendFormRipple; + dispatch({ + type: SEND.CHANGE, + networkType: 'ripple', + state: { + ...state, + untouched: false, + touched: { ...state.touched, destinationTag: true }, + destinationTag, + }, + }); +}; + /* * Called from UI from "send" button */ @@ -279,6 +296,7 @@ export const onSend = (): AsyncAction => async (dispatch: Dispatch, getState: Ge payment: { amount, destination: currentState.address, + destinationTag: currentState.destinationTag.length ? parseInt(currentState.destinationTag, 10) : undefined, }, }, }); @@ -346,5 +364,6 @@ export default { onFeeLevelChange, updateFeeLevels, onFeeChange, + onDestinationTagChange, onSend, }; \ No newline at end of file diff --git a/src/actions/ripple/SendFormValidationActions.js b/src/actions/ripple/SendFormValidationActions.js index db5131fa..b89bce95 100644 --- a/src/actions/ripple/SendFormValidationActions.js +++ b/src/actions/ripple/SendFormValidationActions.js @@ -73,6 +73,7 @@ export const validation = (): PayloadAction => (dispatch: Dispatch, getSt state = dispatch(addressLabel(state)); state = dispatch(amountValidation(state)); state = dispatch(feeValidation(state)); + state = dispatch(destinationTagValidation(state)); return state; }; @@ -229,6 +230,19 @@ export const feeValidation = ($state: State): PayloadAction => (dispatch: } return state; }; +/* +* Destination Tag value validation +*/ +export const destinationTagValidation = ($state: State): PayloadAction => (): State => { + const state = { ...$state }; + if (!state.touched.destinationTag) return state; + + const { destinationTag } = state; + if (destinationTag.length > 0 && !destinationTag.match(ABS_RE)) { + state.errors.destinationTag = 'Destination tag must be an absolute number'; + } + return state; +}; /* diff --git a/src/reducers/SendFormRippleReducer.js b/src/reducers/SendFormRippleReducer.js index eaedcfa1..f56083bc 100644 --- a/src/reducers/SendFormRippleReducer.js +++ b/src/reducers/SendFormRippleReducer.js @@ -27,6 +27,7 @@ export type State = { fee: string; feeNeedsUpdate: boolean; sequence: string; + destinationTag: string; total: string; errors: {[k: string]: string}; @@ -56,6 +57,7 @@ export const initialState: State = { fee: '0', feeNeedsUpdate: false, sequence: '0', + destinationTag: '', total: '0', errors: {}, diff --git a/src/views/Wallet/views/Account/Send/ripple/components/AdvancedForm/index.js b/src/views/Wallet/views/Account/Send/ripple/components/AdvancedForm/index.js index 578b0d2c..7890bac7 100644 --- a/src/views/Wallet/views/Account/Send/ripple/components/AdvancedForm/index.js +++ b/src/views/Wallet/views/Account/Send/ripple/components/AdvancedForm/index.js @@ -35,7 +35,7 @@ const AdvancedSettingsWrapper = styled.div` border-top: 1px solid ${colors.DIVIDER}; `; -const GasInputRow = styled.div` +const InputRow = styled.div` width: 100%; display: flex; @@ -44,7 +44,7 @@ const GasInputRow = styled.div` } `; -const GasInput = styled(Input)` +const StyledInput = styled(Input)` /* min-height: 85px; */ padding-bottom: 28px; &:first-child { @@ -75,6 +75,17 @@ const getFeeInputState = (feeErrors: string, feeWarnings: string): string => { return state; }; +const getDestinationTagInputState = (errors: string, warnings: string): string => { + let state = ''; + if (warnings && !errors) { + state = 'warning'; + } + if (errors) { + state = 'error'; + } + return state; +}; + const Left = styled.div` display: flex; align-items: center; @@ -91,15 +102,17 @@ const AdvancedForm = (props: Props) => { warnings, infos, fee, + destinationTag, } = props.sendForm; const { onFeeChange, + onDestinationTagChange, } = props.sendFormActions; return ( - - + { value={fee} onChange={event => onFeeChange(event.target.value)} /> - + + + + + + Destination tag + + An arbitrary unsigned 32-bit integer that identifies a reason for payment or a non-Ripple account. + + )} + maxWidth={410} + readMoreLink="https://developers.ripple.com/rippleapi-reference.html#payment" + placement="top" + > + + + + + )} + bottomText={errors.destinationTag || warnings.destinationTag || infos.destinationTag} + value={destinationTag} + onChange={event => onDestinationTagChange(event.target.value)} + /> + { props.children } From 0fe2ce7717548466de6be65478e6aa7392e0df5c Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Wed, 9 Jan 2019 14:32:20 +0100 Subject: [PATCH 010/219] rename rippleGetAccountInfo param --- src/actions/ripple/BlockchainActions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/actions/ripple/BlockchainActions.js b/src/actions/ripple/BlockchainActions.js index fbea7721..72d898e3 100644 --- a/src/actions/ripple/BlockchainActions.js +++ b/src/actions/ripple/BlockchainActions.js @@ -118,7 +118,7 @@ export const onNotification = (payload: $ElementType Date: Wed, 9 Jan 2019 14:32:57 +0100 Subject: [PATCH 011/219] set Ripple "reserve" in Discovery --- src/actions/ripple/DiscoveryActions.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/actions/ripple/DiscoveryActions.js b/src/actions/ripple/DiscoveryActions.js index 362d2ca2..1fc41b68 100644 --- a/src/actions/ripple/DiscoveryActions.js +++ b/src/actions/ripple/DiscoveryActions.js @@ -76,6 +76,7 @@ export const discoverAccount = (device: TrezorDevice, discoveryProcess: Discover networkType: 'ripple', sequence: account.sequence, - reserve: '0', + reserve: toDecimalAmount(account.reserve, network.decimals), + // reserve: '20', }; }; \ No newline at end of file From 75cfd44b3ce47febc3969b1fd6778744619bb6d7 Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Wed, 9 Jan 2019 14:33:19 +0100 Subject: [PATCH 012/219] getPendingAmount only for "send" transaction --- src/reducers/utils/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/reducers/utils/index.js b/src/reducers/utils/index.js index 4bab40c1..fc09c7b9 100644 --- a/src/reducers/utils/index.js +++ b/src/reducers/utils/index.js @@ -95,6 +95,7 @@ export const getPendingSequence = (pending: Array): number => pendi }, 0); export const getPendingAmount = (pending: Array, currency: string, token: boolean = false): BigNumber => pending.reduce((value: BigNumber, tx: Transaction): BigNumber => { + if (tx.type !== 'send') return value; if (!token) { // regular transactions // add fees from token txs and amount from regular txs From 5d5347a4e64efb3205b298fa362f2d82f9a5fa78 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Wed, 9 Jan 2019 14:47:53 +0100 Subject: [PATCH 013/219] Better button colors --- .../Notification/components/NotificationButton/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/Notification/components/NotificationButton/index.js b/src/components/Notification/components/NotificationButton/index.js index aaa1d707..c83647b3 100644 --- a/src/components/Notification/components/NotificationButton/index.js +++ b/src/components/Notification/components/NotificationButton/index.js @@ -5,7 +5,7 @@ import styled from 'styled-components'; import PropTypes from 'prop-types'; import Icon from 'components/Icon'; import colors from 'config/colors'; -import { getPrimaryColor, getSecondaryColor } from 'utils/notification'; +import { getPrimaryColor } from 'utils/notification'; import Loader from 'components/Loader'; import { TRANSITION, FONT_SIZE, FONT_WEIGHT } from 'config/variables'; @@ -31,7 +31,8 @@ const LoaderContent = styled.div` justify-content: center; align-items: center; cursor: default; - background: ${props => getSecondaryColor(props.type)}; + color: ${colors.WHITE}; + background: ${props => getPrimaryColor(props.type)}; `; const Wrapper = styled.button` From b5701cd8ae5bb65e049059f807ce5771746ad4e0 Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Wed, 9 Jan 2019 14:49:04 +0100 Subject: [PATCH 014/219] Ripple destinationTag as optional param --- src/actions/ripple/SendFormActions.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/actions/ripple/SendFormActions.js b/src/actions/ripple/SendFormActions.js index cb146d1b..ebe3fdc2 100644 --- a/src/actions/ripple/SendFormActions.js +++ b/src/actions/ripple/SendFormActions.js @@ -279,7 +279,13 @@ export const onSend = (): AsyncAction => async (dispatch: Dispatch, getState: Ge if (!blockchain) return; const currentState: State = getState().sendFormRipple; - const amount = fromDecimalAmount(currentState.amount, 6); + const payment: { amount: string, destination: string, destinationTag?: number } = { + amount: fromDecimalAmount(currentState.amount, network.decimals), + destination: currentState.address, + }; + if (currentState.destinationTag.length > 0) { + payment.destinationTag = parseInt(currentState.destinationTag, 10); + } const signedTransaction = await TrezorConnect.rippleSignTransaction({ device: { @@ -293,11 +299,7 @@ export const onSend = (): AsyncAction => async (dispatch: Dispatch, getState: Ge fee: currentState.selectedFeeLevel.fee, // Fee must be in the range of 10 to 10,000 drops flags: 0x80000000, sequence: account.sequence, - payment: { - amount, - destination: currentState.address, - destinationTag: currentState.destinationTag.length ? parseInt(currentState.destinationTag, 10) : undefined, - }, + payment, }, }); From ccdc1580e96bb922437895ec3503c48d1cdb3d44 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Wed, 9 Jan 2019 15:02:38 +0100 Subject: [PATCH 015/219] Pass loader color --- src/components/Loader/index.js | 6 ++++-- .../components/NotificationButton/index.js | 3 ++- src/config/animations.js | 15 +++++++++++++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/components/Loader/index.js b/src/components/Loader/index.js index 0767765b..3d6e839a 100644 --- a/src/components/Loader/index.js +++ b/src/components/Loader/index.js @@ -31,7 +31,7 @@ const CircleWrapper = styled.circle` ${props => props.isPath && css` stroke-dasharray: 1, 200; stroke-dashoffset: 0; - animation: ${DASH} 1.5s ease-in-out infinite, ${GREEN_COLOR} 6s ease-in-out infinite; + animation: ${DASH} 1.5s ease-in-out infinite, ${props.animationColor || GREEN_COLOR} 6s ease-in-out infinite; stroke-linecap: round; `}; `; @@ -42,12 +42,13 @@ const StyledParagraph = styled(Paragraph)` `; const Loader = ({ - className, text, isWhiteText = false, isSmallText, size = 100, + className, text, isWhiteText = false, isSmallText, size = 100, animationColor, }) => ( {text} {isLoading && ( - + )} {icon && ( diff --git a/src/config/animations.js b/src/config/animations.js index 866af919..e23ba206 100644 --- a/src/config/animations.js +++ b/src/config/animations.js @@ -49,6 +49,21 @@ export const GREEN_COLOR = keyframes` } `; +export const BLUE_COLOR = keyframes` + 100%, 0% { + stroke: ${colors.WHITE}; + } + 40% { + stroke: ${colors.BLUE_SECONDARY}; + } + 66% { + stroke: ${colors.WHITE}; + } + 80%, 90% { + stroke: ${colors.WHITE}; + } +`; + export const PULSATE = keyframes` 0%, 100% { opacity: 0.5; From 0e5300eeee01e8f4a21b0709bba04dfc5024a938 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 9 Jan 2019 15:57:59 +0100 Subject: [PATCH 016/219] fix animation color --- src/components/Loader/index.js | 11 +++++++---- .../components/NotificationButton/index.js | 4 ++-- src/config/animations.js | 15 +++------------ 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/components/Loader/index.js b/src/components/Loader/index.js index 3d6e839a..0cb29e98 100644 --- a/src/components/Loader/index.js +++ b/src/components/Loader/index.js @@ -25,10 +25,11 @@ const SvgWrapper = styled.svg` const CircleWrapper = styled.circle` ${props => props.isRoute && css` - stroke: ${colors.GRAY_LIGHT}; + stroke: ${props.transparentRoute ? 'transparent' : colors.GRAY_LIGHT}; `} ${props => props.isPath && css` + stroke-width: ${props.transparentRoute ? '2px' : '1px'}; stroke-dasharray: 1, 200; stroke-dashoffset: 0; animation: ${DASH} 1.5s ease-in-out infinite, ${props.animationColor || GREEN_COLOR} 6s ease-in-out infinite; @@ -42,7 +43,7 @@ const StyledParagraph = styled(Paragraph)` `; const Loader = ({ - className, text, isWhiteText = false, isSmallText, size = 100, animationColor, + className, text, isWhiteText = false, isSmallText, size = 100, animationColor, transparentRoute, }) => ( {text} @@ -54,18 +55,19 @@ const Loader = ({ r="20" fill="none" stroke="" - strokeWidth="1" strokeMiterlimit="10" isRoute + transparentRoute={transparentRoute} /> @@ -77,6 +79,7 @@ Loader.propTypes = { className: PropTypes.string, text: PropTypes.string, animationColor: PropTypes.string, + transparentRoute: PropTypes.bool, size: PropTypes.number, }; diff --git a/src/components/Notification/components/NotificationButton/index.js b/src/components/Notification/components/NotificationButton/index.js index 2ff20459..9d001380 100644 --- a/src/components/Notification/components/NotificationButton/index.js +++ b/src/components/Notification/components/NotificationButton/index.js @@ -5,7 +5,7 @@ import styled from 'styled-components'; import PropTypes from 'prop-types'; import Icon from 'components/Icon'; import colors from 'config/colors'; -import { BLUE_COLOR } from 'config/animations'; +import { WHITE_COLOR } from 'config/animations'; import { getPrimaryColor } from 'utils/notification'; import Loader from 'components/Loader'; import { TRANSITION, FONT_SIZE, FONT_WEIGHT } from 'config/variables'; @@ -68,7 +68,7 @@ const NotificationButton = ({ > {isLoading && ( - + )} {icon && ( diff --git a/src/config/animations.js b/src/config/animations.js index e23ba206..950ea9e2 100644 --- a/src/config/animations.js +++ b/src/config/animations.js @@ -49,18 +49,9 @@ export const GREEN_COLOR = keyframes` } `; -export const BLUE_COLOR = keyframes` - 100%, 0% { - stroke: ${colors.WHITE}; - } - 40% { - stroke: ${colors.BLUE_SECONDARY}; - } - 66% { - stroke: ${colors.WHITE}; - } - 80%, 90% { - stroke: ${colors.WHITE}; +export const WHITE_COLOR = keyframes` + 0%, 100% { + stroke: white; } `; From e5b704d3b88763dde35d943345a1f9f696c98679 Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Wed, 9 Jan 2019 17:35:47 +0100 Subject: [PATCH 017/219] bump trezor-connect --- package.json | 2 +- yarn.lock | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index c69fbe91..47b2fdaf 100644 --- a/package.json +++ b/package.json @@ -70,7 +70,7 @@ "rimraf": "^2.6.2", "styled-components": "^4.1.2", "styled-normalize": "^8.0.4", - "trezor-connect": "7.0.0-beta.1", + "trezor-connect": "7.0.0-beta.2", "wallet-address-validator": "^0.2.4", "web3": "1.0.0-beta.35", "webpack": "^4.16.3", diff --git a/yarn.lock b/yarn.lock index f203161f..7df2acf9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9790,9 +9790,9 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" -trezor-connect@7.0.0-beta.1: - version "7.0.0-beta.1" - resolved "https://registry.yarnpkg.com/trezor-connect/-/trezor-connect-7.0.0-beta.1.tgz#de87d8f1d9878101380f7b3198bf2531d7560a5c" +trezor-connect@7.0.0-beta.2: + version "7.0.0-beta.2" + resolved "https://registry.yarnpkg.com/trezor-connect/-/trezor-connect-7.0.0-beta.2.tgz#10dc04e1b60804263e9873cd503a4fc9d3e940d2" dependencies: babel-runtime "^6.26.0" events "^1.1.1" From bbd5420f15d846fcff2888311b1602df71f4de3b Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 9 Jan 2019 17:59:11 +0100 Subject: [PATCH 018/219] slightly redesigned modal --- src/components/modals/confirm/SignTx/index.js | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/components/modals/confirm/SignTx/index.js b/src/components/modals/confirm/SignTx/index.js index 245b14b7..4ece5a6f 100644 --- a/src/components/modals/confirm/SignTx/index.js +++ b/src/components/modals/confirm/SignTx/index.js @@ -6,7 +6,7 @@ import styled from 'styled-components'; import icons from 'config/icons'; import colors from 'config/colors'; -import { LINE_HEIGHT, FONT_SIZE } from 'config/variables'; +import { LINE_HEIGHT, FONT_SIZE, FONT_WEIGHT } from 'config/variables'; import P from 'components/Paragraph'; import Icon from 'components/Icon'; @@ -21,7 +21,6 @@ type Props = { const Wrapper = styled.div` width: 390px; - padding: 12px 10px; `; const Header = styled.div` @@ -32,16 +31,27 @@ const Content = styled.div` border-top: 1px solid ${colors.DIVIDER}; background: ${colors.MAIN}; padding: 24px 48px; + border-radius: 4px; `; const StyledP = styled(P)` + padding-bottom: 20px; + color: ${colors.TEXT}; + font-size: ${FONT_SIZE.BASE}; + &:last-child { + padding-bottom: 0px; + } +`; + +const Address = styled(StyledP)` word-wrap: break-word; - padding: 5px 0; + padding-bottom: 26px; line-height: ${LINE_HEIGHT.SMALL}; `; const Label = styled.div` - padding-top: 5px; + padding-bottom: 6px; + font-weight: ${FONT_WEIGHT.MEDIUM}; font-size: ${FONT_SIZE.SMALL}; color: ${colors.TEXT_SECONDARY}; `; @@ -64,11 +74,11 @@ const ConfirmSignTx = (props: Props) => { -

{`${amount} ${currency}` }

+ {`${amount} ${currency}` } - { address } +
{ address }
-

{ selectedFeeLevel.label }

+ { selectedFeeLevel.label }
); From 2f3872345d5c8b7b59196ae3fe0d930ce487370f Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 9 Jan 2019 18:00:18 +0100 Subject: [PATCH 019/219] show used fee level (low/normal/high...) --- src/components/modals/confirm/SignTx/index.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/components/modals/confirm/SignTx/index.js b/src/components/modals/confirm/SignTx/index.js index 4ece5a6f..75755c9c 100644 --- a/src/components/modals/confirm/SignTx/index.js +++ b/src/components/modals/confirm/SignTx/index.js @@ -56,6 +56,10 @@ const Label = styled.div` color: ${colors.TEXT_SECONDARY}; `; +const FeeLevelName = styled(StyledP)` + padding-bottom: 0px; +`; + const ConfirmSignTx = (props: Props) => { const { amount, @@ -78,6 +82,7 @@ const ConfirmSignTx = (props: Props) => {
{ address }
+ {selectedFeeLevel.value} { selectedFeeLevel.label } From cb2dff467b3306e9bdeaa4e5f544b02972793dbf Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 9 Jan 2019 18:04:24 +0100 Subject: [PATCH 020/219] cleanup --- src/components/modals/confirm/SignTx/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/modals/confirm/SignTx/index.js b/src/components/modals/confirm/SignTx/index.js index 75755c9c..69278370 100644 --- a/src/components/modals/confirm/SignTx/index.js +++ b/src/components/modals/confirm/SignTx/index.js @@ -45,7 +45,6 @@ const StyledP = styled(P)` const Address = styled(StyledP)` word-wrap: break-word; - padding-bottom: 26px; line-height: ${LINE_HEIGHT.SMALL}; `; From ecde81ca8680a087620dc0fe4cd199cabcb34234 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Mon, 7 Jan 2019 16:09:04 +0100 Subject: [PATCH 021/219] Added static notification for xrp --- .../Context/components/Static/index.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/components/notifications/Context/components/Static/index.js b/src/components/notifications/Context/components/Static/index.js index c4a6ae0d..e9606de9 100644 --- a/src/components/notifications/Context/components/Static/index.js +++ b/src/components/notifications/Context/components/Static/index.js @@ -10,10 +10,18 @@ export default (props: Props) => { if (!location) return null; const notifications: Array = []; - // Example: - // if (location.state.device) { - // notifications.push(); - // } + + if (location.pathname.includes('xrp')) { + notifications.push( + , + ); + } return ( From 35892652a8ad8407cbccb4b9f134663ae43ce5c2 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Mon, 7 Jan 2019 16:19:41 +0100 Subject: [PATCH 022/219] Remove notification if you have enough xrp --- .../notifications/Context/components/Static/index.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/notifications/Context/components/Static/index.js b/src/components/notifications/Context/components/Static/index.js index e9606de9..7f9b6ac7 100644 --- a/src/components/notifications/Context/components/Static/index.js +++ b/src/components/notifications/Context/components/Static/index.js @@ -6,19 +6,21 @@ import Notification from 'components/Notification'; import type { Props } from '../../index'; export default (props: Props) => { + const { selectedAccount } = props; + const { account } = selectedAccount; const { location } = props.router; - if (!location) return null; - const notifications: Array = []; - if (location.pathname.includes('xrp')) { + if (!location || !selectedAccount || !account) return null; + + // Ripple minimum reserve notification + if (location.pathname.includes('xrp') && parseInt(account.balance, 10) < 20) { notifications.push( , ); } From de0b2afde14351f3c673e09646b7387c79acc317 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Tue, 8 Jan 2019 15:26:55 +0100 Subject: [PATCH 023/219] review --- .../notifications/Context/components/Static/index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/notifications/Context/components/Static/index.js b/src/components/notifications/Context/components/Static/index.js index 7f9b6ac7..dc233619 100644 --- a/src/components/notifications/Context/components/Static/index.js +++ b/src/components/notifications/Context/components/Static/index.js @@ -2,6 +2,7 @@ import * as React from 'react'; import Notification from 'components/Notification'; +import Bignumber from 'bignumber.js'; import type { Props } from '../../index'; @@ -14,13 +15,16 @@ export default (props: Props) => { if (!location || !selectedAccount || !account) return null; // Ripple minimum reserve notification - if (location.pathname.includes('xrp') && parseInt(account.balance, 10) < 20) { + const { reserve, balance } = account; + const bigBalance = new Bignumber(balance); + const bigReserve = new Bignumber(reserve); + if (location.pathname.includes('xrp') && bigBalance.lessThan(bigReserve)) { notifications.push( , ); } From 0da4b0bdc91235553513792ae4fed02b92ade750 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Tue, 8 Jan 2019 15:31:16 +0100 Subject: [PATCH 024/219] Fixed variable --- src/components/notifications/Context/components/Static/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/notifications/Context/components/Static/index.js b/src/components/notifications/Context/components/Static/index.js index dc233619..bdc634a8 100644 --- a/src/components/notifications/Context/components/Static/index.js +++ b/src/components/notifications/Context/components/Static/index.js @@ -24,7 +24,7 @@ export default (props: Props) => { key="xrp-warning" type="warning" title="Minimum account reserve required" - message={`The Base Reserve is a minimum amount of XRP that is required for every address in the ledger. Currently, this is ${account.reserve.toString()} XRP.`} + message={`The Base Reserve is a minimum amount of XRP that is required for every address in the ledger. Currently, this is ${bigReserve.toString()} XRP.`} />, ); } From 2c24b75d4740154ea2576bf4bb362e4c5f1ffb10 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Wed, 9 Jan 2019 14:33:33 +0100 Subject: [PATCH 025/219] Add zero zero balance case for notification --- src/components/notifications/Context/components/Static/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/notifications/Context/components/Static/index.js b/src/components/notifications/Context/components/Static/index.js index bdc634a8..8973da5e 100644 --- a/src/components/notifications/Context/components/Static/index.js +++ b/src/components/notifications/Context/components/Static/index.js @@ -18,7 +18,7 @@ export default (props: Props) => { const { reserve, balance } = account; const bigBalance = new Bignumber(balance); const bigReserve = new Bignumber(reserve); - if (location.pathname.includes('xrp') && bigBalance.lessThan(bigReserve)) { + if (location.pathname.includes('xrp') && (bigBalance.lessThan(bigReserve) || bigBalance.lessThanOrEqualTo(new Bignumber(0)))) { notifications.push( Date: Wed, 9 Jan 2019 18:03:41 +0100 Subject: [PATCH 026/219] rewrite static notification condition (xrp || txrp) --- .../Context/components/Static/index.js | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/src/components/notifications/Context/components/Static/index.js b/src/components/notifications/Context/components/Static/index.js index 8973da5e..af8b09d5 100644 --- a/src/components/notifications/Context/components/Static/index.js +++ b/src/components/notifications/Context/components/Static/index.js @@ -15,18 +15,20 @@ export default (props: Props) => { if (!location || !selectedAccount || !account) return null; // Ripple minimum reserve notification - const { reserve, balance } = account; - const bigBalance = new Bignumber(balance); - const bigReserve = new Bignumber(reserve); - if (location.pathname.includes('xrp') && (bigBalance.lessThan(bigReserve) || bigBalance.lessThanOrEqualTo(new Bignumber(0)))) { - notifications.push( - , - ); + if (account.networkType === 'ripple') { + const { reserve, balance } = account; + const bigBalance = new Bignumber(balance); + const bigReserve = new Bignumber(reserve); + if (bigBalance.lessThan(bigReserve)) { + notifications.push( + , + ); + } } return ( From 21fcf6eb31eb5ba08d8e78bc1dcd5778f3a14d63 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Wed, 9 Jan 2019 18:28:41 +0100 Subject: [PATCH 027/219] Adjust tooltips width --- .../Account/Send/ripple/components/AdvancedForm/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/Wallet/views/Account/Send/ripple/components/AdvancedForm/index.js b/src/views/Wallet/views/Account/Send/ripple/components/AdvancedForm/index.js index 7890bac7..5f9af898 100644 --- a/src/views/Wallet/views/Account/Send/ripple/components/AdvancedForm/index.js +++ b/src/views/Wallet/views/Account/Send/ripple/components/AdvancedForm/index.js @@ -128,7 +128,7 @@ const AdvancedForm = (props: Props) => { Transfer cost in XRP drops )} - maxWidth={410} + maxWidth={100} readMoreLink="https://developers.ripple.com/transaction-cost.html" placement="top" > @@ -164,7 +164,7 @@ const AdvancedForm = (props: Props) => { An arbitrary unsigned 32-bit integer that identifies a reason for payment or a non-Ripple account. )} - maxWidth={410} + maxWidth={200} readMoreLink="https://developers.ripple.com/rippleapi-reference.html#payment" placement="top" > From 29e86c3b801b1ffbe94174743fd657cf02613e78 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 10 Jan 2019 11:32:40 +0100 Subject: [PATCH 028/219] fix proptypes for animationColor --- src/components/Loader/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Loader/index.js b/src/components/Loader/index.js index 0cb29e98..0c0707c4 100644 --- a/src/components/Loader/index.js +++ b/src/components/Loader/index.js @@ -78,7 +78,7 @@ Loader.propTypes = { isSmallText: PropTypes.bool, className: PropTypes.string, text: PropTypes.string, - animationColor: PropTypes.string, + animationColor: PropTypes.object, transparentRoute: PropTypes.bool, size: PropTypes.number, }; From 73f8902da35b508f6cb37ba9592dadb3e384709d Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 10 Jan 2019 16:41:54 +0100 Subject: [PATCH 029/219] fix condition for applying bigger padding --- src/components/inputs/Input/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/inputs/Input/index.js b/src/components/inputs/Input/index.js index a61c1dfb..5bda40dd 100644 --- a/src/components/inputs/Input/index.js +++ b/src/components/inputs/Input/index.js @@ -183,7 +183,7 @@ class Input extends PureComponent { autoComplete="off" height={this.props.height} trezorAction={this.props.trezorAction} - hasIcon={this.getIcon(this.props.state).length > 0} + hasIcon={this.props.icon || this.getIcon(this.props.state).length > 0} ref={this.props.innerRef} hasAddon={!!this.props.sideAddons} type={this.props.type} From 298bcdf54675a437a08a3f73287f651834ecc0cc Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 10 Jan 2019 17:28:39 +0100 Subject: [PATCH 030/219] generate lighter color for token icons --- .../Wallet/views/Account/Summary/components/Token/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/Wallet/views/Account/Summary/components/Token/index.js b/src/views/Wallet/views/Account/Summary/components/Token/index.js index 11c616a8..4c699325 100644 --- a/src/views/Wallet/views/Account/Summary/components/Token/index.js +++ b/src/views/Wallet/views/Account/Summary/components/Token/index.js @@ -58,8 +58,8 @@ class AddedToken extends PureComponent { } render() { - const bgColor = new ColorHash({ lightness: 0.16 }); - const textColor = new ColorHash(); + const bgColor = new ColorHash({ lightness: 0.9 }); + const textColor = new ColorHash({ lightness: 0.3, saturation: 1 }); return ( From 21c67c060ee397f2f2f019aed734d803ab89bb3d Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 10 Jan 2019 18:30:10 +0100 Subject: [PATCH 031/219] follow design guidelines --- .../Account/Summary/components/Token/index.js | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/views/Wallet/views/Account/Summary/components/Token/index.js b/src/views/Wallet/views/Account/Summary/components/Token/index.js index 4c699325..00736200 100644 --- a/src/views/Wallet/views/Account/Summary/components/Token/index.js +++ b/src/views/Wallet/views/Account/Summary/components/Token/index.js @@ -3,6 +3,7 @@ import styled from 'styled-components'; import ColorHash from 'color-hash'; import ScaleText from 'react-scale-text'; import colors from 'config/colors'; +import { FONT_WEIGHT } from 'config/variables'; import Button from 'components/Button'; import Icon from 'components/Icon'; import ICONS from 'config/icons'; @@ -39,12 +40,26 @@ const P = styled.p` color: inherit; `; -const TokenName = styled.div` - flex: 1; +const TokenText = styled.div` + font-weight: ${FONT_WEIGHT.MEDIUM}; color: ${colors.TEXT_SECONDARY}; `; -const TokenBalance = styled.div``; +const TokenName = styled(TokenText)` + flex: 0 0 0; + padding-right: 5px; +`; + +const TokenSymbol = styled(TokenText)` + flex: 0 0 0; +`; + +const TokenBalance = styled(TokenText)` + flex: 1 0 0; + overflow: hidden; + text-overflow: ellipsis; + text-align: right; +`; const RemoveTokenButton = styled(Button)` padding: 0 0 0 10px; @@ -73,7 +88,8 @@ class AddedToken extends PureComponent { {this.props.token.name} - {this.getTokenBalance(this.props.token)} {this.props.token.symbol} + {this.getTokenBalance(this.props.token)} +  {this.props.token.symbol} this.props.removeToken(this.props.token)} From 2ca219414aa4ad2ff80fb1bba643977eaceffeb7 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 10 Jan 2019 18:39:28 +0100 Subject: [PATCH 032/219] break token balance to more lines instead of truncating --- .../Wallet/views/Account/Summary/components/Token/index.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/views/Wallet/views/Account/Summary/components/Token/index.js b/src/views/Wallet/views/Account/Summary/components/Token/index.js index 00736200..8251e405 100644 --- a/src/views/Wallet/views/Account/Summary/components/Token/index.js +++ b/src/views/Wallet/views/Account/Summary/components/Token/index.js @@ -56,8 +56,7 @@ const TokenSymbol = styled(TokenText)` const TokenBalance = styled(TokenText)` flex: 1 0 0; - overflow: hidden; - text-overflow: ellipsis; + word-break: break-all; text-align: right; `; From fb0f0c0c6942ceed3fbd48bbc2ccdb9e21f3f320 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 10 Jan 2019 18:43:29 +0100 Subject: [PATCH 033/219] cleanup --- .../Wallet/views/Account/Summary/components/Token/index.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/views/Wallet/views/Account/Summary/components/Token/index.js b/src/views/Wallet/views/Account/Summary/components/Token/index.js index 8251e405..4999b447 100644 --- a/src/views/Wallet/views/Account/Summary/components/Token/index.js +++ b/src/views/Wallet/views/Account/Summary/components/Token/index.js @@ -50,10 +50,6 @@ const TokenName = styled(TokenText)` padding-right: 5px; `; -const TokenSymbol = styled(TokenText)` - flex: 0 0 0; -`; - const TokenBalance = styled(TokenText)` flex: 1 0 0; word-break: break-all; @@ -87,8 +83,7 @@ class AddedToken extends PureComponent { {this.props.token.name} - {this.getTokenBalance(this.props.token)} -  {this.props.token.symbol} + {this.getTokenBalance(this.props.token)} {this.props.token.symbol} this.props.removeToken(this.props.token)} From 616949ba473a907e0c3fd00d0846d802a1bed06b Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Fri, 11 Jan 2019 17:47:36 +0100 Subject: [PATCH 034/219] add minAmount to SendformRippleReducer --- src/reducers/SendFormRippleReducer.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/reducers/SendFormRippleReducer.js b/src/reducers/SendFormRippleReducer.js index f56083bc..f1c34ed3 100644 --- a/src/reducers/SendFormRippleReducer.js +++ b/src/reducers/SendFormRippleReducer.js @@ -21,6 +21,7 @@ export type State = { touched: {[k: string]: boolean}; address: string; amount: string; + minAmount: string; setMax: boolean; feeLevels: Array; selectedFeeLevel: FeeLevel; @@ -47,6 +48,7 @@ export const initialState: State = { touched: {}, address: '', amount: '', + minAmount: '0', setMax: false, feeLevels: [], selectedFeeLevel: { From aa87fa3b9f73d0f5f00986fa4118be8d9bd2c549 Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Fri, 11 Jan 2019 17:48:32 +0100 Subject: [PATCH 035/219] validate address balance and set minAmount for ripple transaction --- src/actions/ripple/SendFormActions.js | 2 +- .../ripple/SendFormValidationActions.js | 55 ++++++++++++++++++- 2 files changed, 53 insertions(+), 4 deletions(-) diff --git a/src/actions/ripple/SendFormActions.js b/src/actions/ripple/SendFormActions.js index ebe3fdc2..562326a4 100644 --- a/src/actions/ripple/SendFormActions.js +++ b/src/actions/ripple/SendFormActions.js @@ -60,7 +60,7 @@ export const observe = (prevState: ReducersState, action: Action): ThunkAction = } if (shouldUpdate) { - const validated = dispatch(ValidationActions.validation()); + const validated = dispatch(ValidationActions.validation(prevState.sendFormRipple)); dispatch({ type: SEND.VALIDATION, networkType: 'ripple', diff --git a/src/actions/ripple/SendFormValidationActions.js b/src/actions/ripple/SendFormValidationActions.js index 70ff0c54..4741ed49 100644 --- a/src/actions/ripple/SendFormValidationActions.js +++ b/src/actions/ripple/SendFormValidationActions.js @@ -1,5 +1,5 @@ /* @flow */ - +import TrezorConnect from 'trezor-connect'; import BigNumber from 'bignumber.js'; import * as SEND from 'actions/constants/send'; import { findDevice, getPendingAmount } from 'reducers/utils'; @@ -9,6 +9,7 @@ import type { Dispatch, GetState, PayloadAction, + PromiseAction, BlockchainFeeLevel, } from 'flowtype'; import type { State, FeeLevel } from 'reducers/SendFormRippleReducer'; @@ -59,7 +60,7 @@ export const onFeeUpdated = (network: string, feeLevels: Array => (dispatch: Dispatch, getState: GetState): State => { +export const validation = (prevState: State): PayloadAction => (dispatch: Dispatch, getState: GetState): State => { // clone deep nested object // to avoid overrides across state history let state: State = JSON.parse(JSON.stringify(getState().sendFormRipple)); @@ -74,6 +75,9 @@ export const validation = (): PayloadAction => (dispatch: Dispatch, getSt state = dispatch(amountValidation(state)); state = dispatch(feeValidation(state)); state = dispatch(destinationTagValidation(state)); + if (state.touched.address && prevState.address !== state.address) { + dispatch(addressBalanceValidation(state)); + } return state; }; @@ -135,6 +139,43 @@ const addressValidation = ($state: State): PayloadAction => (dispatch: Di return state; }; +/* +* Address balance validation +* Fetch data from trezor-connect and set minimum required amount in reducer +*/ +const addressBalanceValidation = ($state: State): PromiseAction => async (dispatch: Dispatch, getState: GetState): Promise => { + const { network } = getState().selectedAccount; + if (!network) return; + + let minAmount: string = '0'; + const response = await TrezorConnect.rippleGetAccountInfo({ + account: { + descriptor: $state.address, + }, + coin: network.shortcut, + }); + if (response.success) { + const empty = response.payload.sequence <= 0 && response.payload.balance === '0'; + if (empty) { + minAmount = toDecimalAmount(response.payload.reserve, network.decimals); + } + } + + // TODO: consider checking local (known) accounts reserve instead of async fetching + + // a2 (not empty): rJX2KwzaLJDyFhhtXKi3htaLfaUH2tptEX + // a4 (empty): r9skfe7kZkvqss7oMB3tuj4a59PXD5wRa2 + + dispatch({ + type: SEND.CHANGE, + networkType: 'ripple', + state: { + ...getState().sendFormRipple, + minAmount, + }, + }); +}; + /* * Address label assignation */ @@ -193,13 +234,21 @@ const amountValidation = ($state: State): PayloadAction => (dispatch: Dis state.errors.amount = 'Amount is not a number'; } else { const pendingAmount: BigNumber = getPendingAmount(pending, state.networkSymbol); - if (!state.amount.match(XRP_6_RE)) { state.errors.amount = 'Maximum 6 decimals allowed'; } else if (new BigNumber(state.total).greaterThan(new BigNumber(account.balance).minus(pendingAmount))) { state.errors.amount = 'Not enough funds'; } } + + if (!state.errors.amount && new BigNumber(account.balance).minus(state.total).lt(account.reserve)) { + state.errors.amount = `Not enough funds. Reserved amount for this account is ${account.reserve} ${state.networkSymbol}`; + } + + if (!state.errors.amount && new BigNumber(state.amount).lt(state.minAmount)) { + state.errors.amount = `Amount is too low. Minimum amount for creating a new account is ${state.minAmount} ${state.networkSymbol}`; + } + return state; }; From 155f794bcb04da36baebccda49eaa21d2411629b Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Fri, 11 Jan 2019 17:48:44 +0100 Subject: [PATCH 036/219] remove comment --- src/actions/ripple/DiscoveryActions.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/actions/ripple/DiscoveryActions.js b/src/actions/ripple/DiscoveryActions.js index 1fc41b68..01ef9288 100644 --- a/src/actions/ripple/DiscoveryActions.js +++ b/src/actions/ripple/DiscoveryActions.js @@ -77,6 +77,5 @@ export const discoverAccount = (device: TrezorDevice, discoveryProcess: Discover networkType: 'ripple', sequence: account.sequence, reserve: toDecimalAmount(account.reserve, network.decimals), - // reserve: '20', }; }; \ No newline at end of file From 9d325fb13940b899278c243258815437d5efbf5b Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Fri, 11 Jan 2019 17:55:36 +0100 Subject: [PATCH 037/219] flowtype fix --- src/actions/ripple/SendFormValidationActions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/actions/ripple/SendFormValidationActions.js b/src/actions/ripple/SendFormValidationActions.js index 4741ed49..bef1642d 100644 --- a/src/actions/ripple/SendFormValidationActions.js +++ b/src/actions/ripple/SendFormValidationActions.js @@ -225,7 +225,7 @@ const amountValidation = ($state: State): PayloadAction => (dispatch: Dis account, pending, } = getState().selectedAccount; - if (!account) return state; + if (!account || account.networkType !== 'ripple') return state; const { amount } = state; if (amount.length < 1) { From 11efd69a21f69f30a6a75968e34af6d85e3bbc3c Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Fri, 11 Jan 2019 18:27:38 +0100 Subject: [PATCH 038/219] add reserve to Account Summary --- .../ripple/components/Balance/index.js | 161 ++++++++++++++++++ .../views/Account/Summary/ripple/index.js | 4 +- 2 files changed, 164 insertions(+), 1 deletion(-) create mode 100644 src/views/Wallet/views/Account/Summary/ripple/components/Balance/index.js diff --git a/src/views/Wallet/views/Account/Summary/ripple/components/Balance/index.js b/src/views/Wallet/views/Account/Summary/ripple/components/Balance/index.js new file mode 100644 index 00000000..f31a9c5e --- /dev/null +++ b/src/views/Wallet/views/Account/Summary/ripple/components/Balance/index.js @@ -0,0 +1,161 @@ +/* @flow */ +import React, { PureComponent } from 'react'; +import BigNumber from 'bignumber.js'; +import styled from 'styled-components'; +import Icon from 'components/Icon'; +import colors from 'config/colors'; +import ICONS from 'config/icons'; +import { FONT_SIZE, FONT_WEIGHT } from 'config/variables'; + +import type { Network, State as ReducersState } from 'flowtype'; + +type Props = { + network: Network, + balance: string, + reserve: string, + fiat: $ElementType, +} + +type State = { + isHidden: boolean, + canAnimateHideBalanceIcon: boolean, +}; + +const Wrapper = styled.div` + padding-bottom: 28px; + position: relative; + display: flex; + + border-bottom: 1px solid ${colors.DIVIDER}; +`; + +const HideBalanceIconWrapper = styled.div` + display: flex; + align-items: center; + justify-content: center; + + width: 40px; + height: 40px; + position: absolute; + margin-left: -20px; + left: 50%; + bottom: -20px; + + cursor: pointer; + background: ${colors.WHITE}; + box-shadow: 0 3px 8px rgba(0, 0, 0, 0.04); + border-radius: 50%; + transition: all 0.3s; + &:hover { + background: ${colors.DIVIDER}; + } +`; + +const FiatValue = styled.div` + font-weight: ${FONT_WEIGHT.SEMIBOLD}; + font-size: ${FONT_SIZE.BIGGER}; + margin: 7px 0; + min-height: 25px; + color: ${colors.TEXT_PRIMARY}; +`; + +const FiatValueRate = styled.div` + font-weight: ${FONT_WEIGHT.SEMIBOLD}; + font-size: ${FONT_SIZE.BIG}; + min-height: 25px; + margin: 7px 0; + display: flex; + align-items: center; + color: ${colors.TEXT_PRIMARY}; +`; + +const BalanceWrapper = styled.div` + margin-right: 48px; +`; + +const BalanceRateWrapper = styled(BalanceWrapper)` + padding-left: 50px; +`; + +const CoinBalance = styled.div` + font-size: ${FONT_SIZE.SMALL}; + color: ${colors.TEXT_SECONDARY}; +`; + +const Label = styled.div` + font-size: ${FONT_SIZE.SMALL}; + color: ${colors.TEXT_SECONDARY}; +`; + + +class AccountBalance extends PureComponent { + constructor(props: Props) { + super(props); + this.state = { + isHidden: false, + canAnimateHideBalanceIcon: false, + }; + } + + handleHideBalanceIconClick() { + this.setState(previousState => ({ + isHidden: !previousState.isHidden, + canAnimateHideBalanceIcon: true, + })); + } + + render() { + const { network } = this.props; + const fiatRate = this.props.fiat.find(f => f.network === network.shortcut); + let accountBalance = ''; + let fiatRateValue = ''; + let fiat = ''; + if (fiatRate) { + accountBalance = new BigNumber(this.props.balance); + fiatRateValue = new BigNumber(fiatRate.value).toFixed(2); + fiat = accountBalance.times(fiatRateValue).toFixed(2); + } + + return ( + + this.handleHideBalanceIconClick()} + > + + + {!this.state.isHidden && ( + + + + {fiatRate && ( + ${fiat} + )} + {this.props.balance} {network.symbol} + + {this.props.reserve !== '0' && ( + + + {this.props.reserve} {network.symbol} + + )} + {fiatRate && ( + + + ${fiatRateValue} + 1.00 {network.symbol} + + )} + + )} + + ); + } +} + +export default AccountBalance; diff --git a/src/views/Wallet/views/Account/Summary/ripple/index.js b/src/views/Wallet/views/Account/Summary/ripple/index.js index dc8e4070..01242056 100644 --- a/src/views/Wallet/views/Account/Summary/ripple/index.js +++ b/src/views/Wallet/views/Account/Summary/ripple/index.js @@ -13,7 +13,7 @@ import CoinLogo from 'components/images/CoinLogo'; import * as stateUtils from 'reducers/utils'; import Link from 'components/Link'; import { FONT_WEIGHT, FONT_SIZE } from 'config/variables'; -import AccountBalance from '../components/Balance'; +import AccountBalance from './components/Balance'; import type { Props } from './Container'; @@ -77,6 +77,7 @@ const AccountSummary = (props: Props) => { const explorerLink: string = `${network.explorer.address}${account.descriptor}`; const pendingAmount: BigNumber = stateUtils.getPendingAmount(pending, network.symbol); const balance: string = new BigNumber(account.balance).minus(pendingAmount).toString(10); + const reserve: string = account.networkType === 'ripple' && !account.empty ? account.reserve : '0'; const TMP_SHOW_HISTORY = false; @@ -93,6 +94,7 @@ const AccountSummary = (props: Props) => { { TMP_SHOW_HISTORY && ( From 249e5f98761748c94898b35cc21a551c4cd107af Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Sat, 12 Jan 2019 19:31:42 +0100 Subject: [PATCH 039/219] recalculate reserve while "setMax" --- src/actions/ripple/SendFormValidationActions.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/actions/ripple/SendFormValidationActions.js b/src/actions/ripple/SendFormValidationActions.js index bef1642d..4ee3a2f9 100644 --- a/src/actions/ripple/SendFormValidationActions.js +++ b/src/actions/ripple/SendFormValidationActions.js @@ -87,14 +87,14 @@ const recalculateTotalAmount = ($state: State): PayloadAction => (dispatc network, pending, } = getState().selectedAccount; - if (!account || !network) return $state; + if (!account || account.networkType !== 'ripple' || !network) return $state; const state = { ...$state }; const fee = toDecimalAmount(state.selectedFeeLevel.fee, network.decimals); if (state.setMax) { const pendingAmount = getPendingAmount(pending, state.networkSymbol, false); - const availableBalance = new BigNumber(account.balance).minus(pendingAmount); + const availableBalance = new BigNumber(account.balance).minus(account.reserve).minus(pendingAmount); state.amount = calculateMaxAmount(availableBalance, fee); } From 7eb1527c393da793425dfd57d781326995323735 Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Sat, 12 Jan 2019 19:41:52 +0100 Subject: [PATCH 040/219] display reserve in RippleSendForm --- .../Wallet/views/Account/Send/ripple/index.js | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/views/Wallet/views/Account/Send/ripple/index.js b/src/views/Wallet/views/Account/Send/ripple/index.js index e9bc5e06..f6582587 100644 --- a/src/views/Wallet/views/Account/Send/ripple/index.js +++ b/src/views/Wallet/views/Account/Send/ripple/index.js @@ -22,6 +22,16 @@ import type { Props } from './Container'; // and put it inside config/variables.js const SmallScreenWidth = '850px'; +const AmountInputLabelWrapper = styled.div` + display: flex; + justify-content: space-between; +`; + +const AmountInputLabel = styled.span` + text-align: right; + color: ${colors.TEXT_SECONDARY}; +`; + const InputRow = styled.div` padding-bottom: 28px; `; @@ -228,6 +238,7 @@ const AccountSend = (props: Props) => { const tokensSelectData: Array<{ value: string, label: string }> = [{ value: network.symbol, label: network.symbol }]; const tokensSelectValue = tokensSelectData[0]; const isAdvancedSettingsHidden = !advanced; + const accountReserve: ?string = account.networkType === 'ripple' && !account.empty ? account.reserve : null; return ( @@ -252,7 +263,14 @@ const AccountSend = (props: Props) => { autoCorrect="off" autoCapitalize="off" spellCheck="false" - topLabel="Amount" + topLabel={( + + Amount + {accountReserve && ( + Reserve: {accountReserve} {network.symbol} + )} + + )} value={amount} onChange={event => onAmountChange(event.target.value)} bottomText={errors.amount || warnings.amount || infos.amount} From 1b1fbb45f5053dc63b52bc4ed0735d515e0a1262 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 14 Jan 2019 02:46:41 +0100 Subject: [PATCH 041/219] add connecting flag to blockchain's state --- src/actions/BlockchainActions.js | 8 ++++++++ src/actions/constants/blockchain.js | 1 + src/reducers/BlockchainReducer.js | 28 ++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/src/actions/BlockchainActions.js b/src/actions/BlockchainActions.js index c3a5a0b1..f3e31755 100644 --- a/src/actions/BlockchainActions.js +++ b/src/actions/BlockchainActions.js @@ -19,6 +19,9 @@ export type BlockchainAction = { type: typeof BLOCKCHAIN.UPDATE_FEE, shortcut: string, feeLevels: Array, +} | { + type: typeof BLOCKCHAIN.START_SUBSCRIBE, + shortcut: string, } // Conditionally subscribe to blockchain backend @@ -52,6 +55,11 @@ export const subscribe = (networkName: string): PromiseAction => async (di const network = config.networks.find(c => c.shortcut === networkName); if (!network) return; + dispatch({ + type: BLOCKCHAIN.START_SUBSCRIBE, + shortcut: network.shortcut, + }); + switch (network.type) { case 'ethereum': await dispatch(EthereumBlockchainActions.subscribe(networkName)); diff --git a/src/actions/constants/blockchain.js b/src/actions/constants/blockchain.js index 9e19d3e3..7e1baeab 100644 --- a/src/actions/constants/blockchain.js +++ b/src/actions/constants/blockchain.js @@ -1,4 +1,5 @@ /* @flow */ +export const START_SUBSCRIBE: 'blockchain__start_subscribe' = 'blockchain__start_subscribe'; export const READY: 'blockchain__ready' = 'blockchain__ready'; export const UPDATE_FEE: 'blockchain__update_fee' = 'blockchain__update_fee'; \ No newline at end of file diff --git a/src/reducers/BlockchainReducer.js b/src/reducers/BlockchainReducer.js index 3831eb51..c5cc44ab 100644 --- a/src/reducers/BlockchainReducer.js +++ b/src/reducers/BlockchainReducer.js @@ -16,6 +16,7 @@ export type BlockchainNetwork = { feeTimestamp: number, feeLevels: Array, connected: boolean, + connecting: boolean, block: number, }; @@ -23,6 +24,26 @@ export type State = Array; export const initialState: State = []; +const onStartSubscribe = (state: State, shortcut: string): State => { + const network = state.find(b => b.shortcut === shortcut); + if (network) { + const others = state.filter(b => b !== network); + return others.concat([{ + ...network, + connecting: true, + }]); + } + + return state.concat([{ + shortcut, + connected: false, + connecting: true, + block: 0, + feeTimestamp: 0, + feeLevels: [], + }]); +}; + const onConnect = (state: State, action: BlockchainConnect): State => { const shortcut = action.payload.coin.shortcut.toLowerCase(); const network = state.find(b => b.shortcut === shortcut); @@ -31,13 +52,16 @@ const onConnect = (state: State, action: BlockchainConnect): State => { const others = state.filter(b => b !== network); return others.concat([{ ...network, + block: info.block, connected: true, + connecting: false, }]); } return state.concat([{ shortcut, connected: true, + connecting: false, block: info.block, feeTimestamp: 0, feeLevels: [], @@ -52,12 +76,14 @@ const onError = (state: State, action: BlockchainError): State => { return others.concat([{ ...network, connected: false, + connecting: false, }]); } return state.concat([{ shortcut, connected: false, + connecting: false, block: 0, feeTimestamp: 0, feeLevels: [], @@ -93,6 +119,8 @@ const updateFee = (state: State, shortcut: string, feeLevels: Array { switch (action.type) { + case BLOCKCHAIN_ACTION.START_SUBSCRIBE: + return onStartSubscribe(state, action.shortcut); case BLOCKCHAIN_EVENT.CONNECT: return onConnect(state, action); case BLOCKCHAIN_EVENT.ERROR: From 472d1cd453daf9883266a0d12e28b45785d6e963 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 14 Jan 2019 02:48:06 +0100 Subject: [PATCH 042/219] add loading state to a connect button when connecting to backend --- .../notifications/Context/components/Account/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/notifications/Context/components/Account/index.js b/src/components/notifications/Context/components/Account/index.js index a4924900..59d87299 100644 --- a/src/components/notifications/Context/components/Account/index.js +++ b/src/components/notifications/Context/components/Account/index.js @@ -8,6 +8,7 @@ import type { Props } from '../../index'; export default (props: Props) => { const { network, notification } = props.selectedAccount; if (!network || !notification) return null; + const blockchain = props.blockchain.find(b => b.shortcut === network.shortcut); if (notification.type === 'backend') { // special case: backend is down @@ -17,6 +18,7 @@ export default (props: Props) => { type="error" title={notification.title} message={notification.message} + isActionInProgress={blockchain && blockchain.connecting} actions={ [{ label: 'Connect', From 224337c4979de4a57c0d2fde49b1750e2a39bfb5 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 14 Jan 2019 12:08:21 +0100 Subject: [PATCH 043/219] disable add account button when device is not connected --- .../components/AccountMenu/index.js | 52 ++++++++----------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.js b/src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.js index 202632b5..a89f980a 100644 --- a/src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/AccountMenu/index.js @@ -71,24 +71,6 @@ const AddAccountIconWrapper = styled.div` margin-right: 12px; `; -const DiscoveryStatusWrapper = styled.div` - display: flex; - flex-direction: column; - width: 100%; - font-size: ${FONT_SIZE.BASE}; - padding: ${LEFT_NAVIGATION_ROW.PADDING}; - white-space: nowrap; - border-top: 1px solid ${colors.DIVIDER}; -`; - -const DiscoveryStatusText = styled.div` - display: block; - font-size: ${FONT_SIZE.SMALL}; - color: ${colors.TEXT_SECONDARY}; - overflow: hidden; - text-overflow: ellipsis; -`; - const DiscoveryLoadingWrapper = styled.div` display: flex; align-items: center; @@ -162,7 +144,28 @@ const AccountMenu = (props: Props) => { if (discovery && discovery.completed) { const lastAccount = deviceAccounts[deviceAccounts.length - 1]; - if (lastAccount && !lastAccount.empty) { + if (!selected.connected) { + discoveryStatus = ( + + + + + + + Add account + + + + ); + } else if (lastAccount && !lastAccount.empty) { discoveryStatus = ( @@ -199,17 +202,6 @@ const AccountMenu = (props: Props) => { ); } - } else if (!selected.connected) { - discoveryStatus = ( - - - Accounts could not be loaded - - {`Connect ${selected.instanceLabel} device`} - - - - ); } else { discoveryStatus = ( From ea804969cd21ca90c4ecbfb716df1b9f703255b7 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 14 Jan 2019 13:11:26 +0100 Subject: [PATCH 044/219] fix notification layout --- src/components/Notification/index.js | 94 +++++++++++++++------------- 1 file changed, 51 insertions(+), 43 deletions(-) diff --git a/src/components/Notification/index.js b/src/components/Notification/index.js index 6eade847..a8622de7 100644 --- a/src/components/Notification/index.js +++ b/src/components/Notification/index.js @@ -27,22 +27,27 @@ type Props = { const Wrapper = styled.div` width: 100%; position: relative; - padding: 24px 48px 9px 24px; display: flex; - flex-direction: row; - text-align: left; justify-content: center; - align-items: center; color: ${props => getPrimaryColor(props.type)}; background: ${props => getSecondaryColor(props.type)}; `; +const Content = styled.div` + width: 100%; + max-width: 1170px; + padding: 24px; + display: flex; + flex-direction: row; + text-align: left; + align-items: center; +`; + const Body = styled.div` display: flex; `; const Message = styled.div` - padding-bottom: 13px; font-size: ${FONT_SIZE.SMALL}; `; @@ -56,7 +61,9 @@ const CloseClick = styled.div` position: absolute; right: 0; top: 0; - padding: 20px 10px 0 0; + padding-right: inherit; + padding-top: inherit; + cursor: pointer; `; const StyledIcon = styled(Icon)` @@ -86,7 +93,6 @@ const ActionContent = styled.div` display: flex; justify-content: right; align-items: flex-end; - padding-bottom: 14px; `; const Notification = (props: Props): React$Element => { @@ -94,43 +100,45 @@ const Notification = (props: Props): React$Element => { return ( - {props.loading && } - {props.cancelable && ( - close()}> - - - )} - - - - - - { props.title } - { props.message ? {props.message} : '' } - - - - {props.actions && props.actions.length > 0 && ( - - {props.actions.map(action => ( - { close(); action.callback(); }} - >{action.label} - - ))} - + + {props.loading && } + {props.cancelable && ( + close()}> + + )} - + + + + + + { props.title } + { props.message ? {props.message} : '' } + + + + {props.actions && props.actions.length > 0 && ( + + {props.actions.map(action => ( + { close(); action.callback(); }} + >{action.label} + + ))} + + )} + + ); }; From c77cd10f03fd928816377d5922817df03b964722 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 15 Jan 2019 13:54:34 +0100 Subject: [PATCH 045/219] send form clear button for ripple and eth --- src/actions/SendFormActions.js | 2 + src/actions/constants/send.js | 1 + src/actions/ethereum/SendFormActions.js | 19 ++++++ src/actions/ripple/SendFormActions.js | 20 ++++++ .../views/Account/Send/ethereum/index.js | 65 ++++++++++++++----- .../Wallet/views/Account/Send/ripple/index.js | 65 ++++++++++++++----- 6 files changed, 140 insertions(+), 32 deletions(-) diff --git a/src/actions/SendFormActions.js b/src/actions/SendFormActions.js index 16c6230a..84d8fcf8 100644 --- a/src/actions/SendFormActions.js +++ b/src/actions/SendFormActions.js @@ -29,6 +29,8 @@ export type SendFormAction = { type: typeof SEND.TOGGLE_ADVANCED | typeof SEND.TX_SENDING | typeof SEND.TX_ERROR, } | { type: typeof SEND.TX_COMPLETE, +} | { + type: typeof SEND.CLEAR, }; diff --git a/src/actions/constants/send.js b/src/actions/constants/send.js index a5d12906..577bdac2 100644 --- a/src/actions/constants/send.js +++ b/src/actions/constants/send.js @@ -7,3 +7,4 @@ export const TX_SENDING: 'send__tx_sending' = 'send__tx_sending'; export const TX_COMPLETE: 'send__tx_complete' = 'send__tx_complete'; export const TX_ERROR: 'send__tx_error' = 'send__tx_error'; export const TOGGLE_ADVANCED: 'send__toggle_advanced' = 'send__toggle_advanced'; +export const CLEAR: 'send__clear' = 'send__clear'; \ No newline at end of file diff --git a/src/actions/ethereum/SendFormActions.js b/src/actions/ethereum/SendFormActions.js index 82f4a25d..c2fde3bd 100644 --- a/src/actions/ethereum/SendFormActions.js +++ b/src/actions/ethereum/SendFormActions.js @@ -53,6 +53,13 @@ export const observe = (prevState: ReducersState, action: Action): ThunkAction = return; } + // clear transaction draft from session storage and reinitialize send form + if (action.type === SEND.CLEAR) { + dispatch(SessionStorageActions.clear()); + dispatch(init()); + return; + } + // if send form was not initialized if (currentState.sendFormEthereum.currency === '') { dispatch(init()); @@ -109,6 +116,8 @@ export const init = (): AsyncAction => async (dispatch: Dispatch, getState: GetS network, } = getState().selectedAccount; + const { advanced } = getState().sendFormEthereum; + if (!account || !network) return; const stateFromStorage = dispatch(SessionStorageActions.loadEthereumDraftTransaction()); @@ -140,6 +149,7 @@ export const init = (): AsyncAction => async (dispatch: Dispatch, getState: GetS recommendedGasPrice: gasPrice.toString(), gasLimit, gasPrice: gasPrice.toString(), + advanced, }, }); }; @@ -152,6 +162,14 @@ export const toggleAdvanced = (): Action => ({ networkType: 'ethereum', }); +/* +* Called from UI from "clear" button +*/ +export const onClear = (): Action => ({ + type: SEND.CLEAR, + networkType: 'ethereum', +}); + /* * Called from UI on "address" field change */ @@ -613,4 +631,5 @@ export default { onNonceChange, onDataChange, onSend, + onClear, }; \ No newline at end of file diff --git a/src/actions/ripple/SendFormActions.js b/src/actions/ripple/SendFormActions.js index ebe3fdc2..f763882e 100644 --- a/src/actions/ripple/SendFormActions.js +++ b/src/actions/ripple/SendFormActions.js @@ -35,6 +35,13 @@ export const observe = (prevState: ReducersState, action: Action): ThunkAction = return; } + // clear transaction draft from session storage and reinitialize send form + if (action.type === SEND.CLEAR) { + dispatch(SessionStorageActions.clear()); + dispatch(init()); + return; + } + // if send form was not initialized if (currentState.sendFormRipple.networkSymbol === '') { dispatch(init()); @@ -80,6 +87,8 @@ export const init = (): AsyncAction => async (dispatch: Dispatch, getState: GetS network, } = getState().selectedAccount; + const { advanced } = getState().sendFormEthereum; + if (!account || account.networkType !== 'ripple' || !network) return; const stateFromStorage = dispatch(SessionStorageActions.loadRippleDraftTransaction()); @@ -107,6 +116,7 @@ export const init = (): AsyncAction => async (dispatch: Dispatch, getState: GetS selectedFeeLevel, fee: network.fee.defaultFee, sequence: '1', + advanced, }, }); }; @@ -119,6 +129,15 @@ export const toggleAdvanced = (): Action => ({ networkType: 'ripple', }); +/* +* Called from UI from "clear" button +*/ +export const onClear = (): Action => ({ + type: SEND.CLEAR, + networkType: 'ripple', +}); + + /* * Called from UI on "address" field change */ @@ -368,4 +387,5 @@ export default { onFeeChange, onDestinationTagChange, onSend, + onClear, }; \ No newline at end of file diff --git a/src/views/Wallet/views/Account/Send/ethereum/index.js b/src/views/Wallet/views/Account/Send/ethereum/index.js index 4da01e1d..5a6df22f 100644 --- a/src/views/Wallet/views/Account/Send/ethereum/index.js +++ b/src/views/Wallet/views/Account/Send/ethereum/index.js @@ -142,17 +142,33 @@ const ToggleAdvancedSettingsButton = styled(Button)` min-height: 40px; padding: 0; display: flex; + flex: 1 1 0; align-items: center; font-weight: ${FONT_WEIGHT.SEMIBOLD}; `; -const SendButton = styled(Button)` - min-width: ${props => (props.isAdvancedSettingsHidden ? '50%' : '100%')}; - word-break: break-all; +const FormButtons = styled.div` + display: flex; + flex: 1 1; + @media screen and (max-width: ${SmallScreenWidth}) { margin-top: ${props => (props.isAdvancedSettingsHidden ? '10px' : 0)}; } + + Button + Button { + margin-left: 5px; + } +`; + +const SendButton = styled(Button)` + word-break: break-all; + flex: 1; + +`; + +const ClearButton = styled(Button)` + `; const AdvancedSettingsIcon = styled(Icon)` @@ -228,6 +244,7 @@ const AccountSend = (props: Props) => { onFeeLevelChange, updateFeeLevels, onSend, + onClear, } = props.sendFormActions; if (!device || !account || !discovery || !network || !shouldRender) { @@ -387,24 +404,40 @@ const AccountSend = (props: Props) => { {isAdvancedSettingsHidden && ( - onSend()} - > - {sendButtonText} - + + onClear()} + > + Clear + + onSend()} + > + {sendButtonText} + + )} {advanced && ( - onSend()} - > - {sendButtonText} - + + onClear()} + > + Clear + + onSend()} + > + {sendButtonText} + + )} diff --git a/src/views/Wallet/views/Account/Send/ripple/index.js b/src/views/Wallet/views/Account/Send/ripple/index.js index e9bc5e06..7ed90ced 100644 --- a/src/views/Wallet/views/Account/Send/ripple/index.js +++ b/src/views/Wallet/views/Account/Send/ripple/index.js @@ -129,17 +129,33 @@ const ToggleAdvancedSettingsButton = styled(Button)` min-height: 40px; padding: 0; display: flex; + flex: 1 1 0; align-items: center; font-weight: ${FONT_WEIGHT.SEMIBOLD}; `; -const SendButton = styled(Button)` - min-width: ${props => (props.isAdvancedSettingsHidden ? '50%' : '100%')}; - word-break: break-all; +const FormButtons = styled.div` + display: flex; + flex: 1 1; + @media screen and (max-width: ${SmallScreenWidth}) { margin-top: ${props => (props.isAdvancedSettingsHidden ? '10px' : 0)}; } + + Button + Button { + margin-left: 5px; + } +`; + +const SendButton = styled(Button)` + word-break: break-all; + flex: 1; + +`; + +const ClearButton = styled(Button)` + `; const AdvancedSettingsIcon = styled(Icon)` @@ -204,6 +220,7 @@ const AccountSend = (props: Props) => { onFeeLevelChange, updateFeeLevels, onSend, + onClear, } = props.sendFormActions; if (!device || !account || !discovery || !network || !shouldRender) { @@ -341,24 +358,40 @@ const AccountSend = (props: Props) => { {isAdvancedSettingsHidden && ( - onSend()} - > - {sendButtonText} - + + onClear()} + > + Clear + + onSend()} + > + {sendButtonText} + + )} {advanced && ( - onSend()} - > - {sendButtonText} - + + onClear()} + > + Clear + + onSend()} + > + {sendButtonText} + + )} From a8d39d95c2256cb7aa3c35e42e39fa4ba278b0cf Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 15 Jan 2019 15:24:41 +0100 Subject: [PATCH 046/219] separate clear from init function --- src/actions/SendFormActions.js | 6 ++-- src/actions/ethereum/SendFormActions.js | 45 +++++++++++++++++-------- src/actions/ripple/SendFormActions.js | 41 ++++++++++++++-------- src/reducers/SendFormEthereumReducer.js | 1 + src/reducers/SendFormRippleReducer.js | 1 + 5 files changed, 62 insertions(+), 32 deletions(-) diff --git a/src/actions/SendFormActions.js b/src/actions/SendFormActions.js index 84d8fcf8..6116c403 100644 --- a/src/actions/SendFormActions.js +++ b/src/actions/SendFormActions.js @@ -18,19 +18,17 @@ import * as EthereumSendFormActions from './ethereum/SendFormActions'; import * as RippleSendFormActions from './ripple/SendFormActions'; export type SendFormAction = { - type: typeof SEND.INIT | typeof SEND.VALIDATION | typeof SEND.CHANGE, + type: typeof SEND.INIT | typeof SEND.VALIDATION | typeof SEND.CHANGE | typeof SEND.CLEAR, networkType: 'ethereum', state: EthereumState, } | { - type: typeof SEND.INIT | typeof SEND.VALIDATION | typeof SEND.CHANGE, + type: typeof SEND.INIT | typeof SEND.VALIDATION | typeof SEND.CHANGE | typeof SEND.CLEAR, networkType: 'ripple', state: RippleState, } | { type: typeof SEND.TOGGLE_ADVANCED | typeof SEND.TX_SENDING | typeof SEND.TX_ERROR, } | { type: typeof SEND.TX_COMPLETE, -} | { - type: typeof SEND.CLEAR, }; diff --git a/src/actions/ethereum/SendFormActions.js b/src/actions/ethereum/SendFormActions.js index c2fde3bd..52894fd0 100644 --- a/src/actions/ethereum/SendFormActions.js +++ b/src/actions/ethereum/SendFormActions.js @@ -53,13 +53,6 @@ export const observe = (prevState: ReducersState, action: Action): ThunkAction = return; } - // clear transaction draft from session storage and reinitialize send form - if (action.type === SEND.CLEAR) { - dispatch(SessionStorageActions.clear()); - dispatch(init()); - return; - } - // if send form was not initialized if (currentState.sendFormEthereum.currency === '') { dispatch(init()); @@ -116,8 +109,6 @@ export const init = (): AsyncAction => async (dispatch: Dispatch, getState: GetS network, } = getState().selectedAccount; - const { advanced } = getState().sendFormEthereum; - if (!account || !network) return; const stateFromStorage = dispatch(SessionStorageActions.loadEthereumDraftTransaction()); @@ -149,7 +140,6 @@ export const init = (): AsyncAction => async (dispatch: Dispatch, getState: GetS recommendedGasPrice: gasPrice.toString(), gasLimit, gasPrice: gasPrice.toString(), - advanced, }, }); }; @@ -165,10 +155,37 @@ export const toggleAdvanced = (): Action => ({ /* * Called from UI from "clear" button */ -export const onClear = (): Action => ({ - type: SEND.CLEAR, - networkType: 'ethereum', -}); +export const onClear = (): AsyncAction => async (dispatch: Dispatch, getState: GetState): Promise => { + const { network } = getState().selectedAccount; + const { advanced } = getState().sendFormEthereum; + + if (!network) return; + + // clear transaction draft from session storage + dispatch(SessionStorageActions.clear()); + + const gasPrice: BigNumber = await dispatch(BlockchainActions.getGasPrice(network.shortcut, network.defaultGasPrice)); + const gasLimit = network.defaultGasLimit.toString(); + const feeLevels = ValidationActions.getFeeLevels(network.symbol, gasPrice, gasLimit); + const selectedFeeLevel = ValidationActions.getSelectedFeeLevel(feeLevels, initialState.selectedFeeLevel); + + dispatch({ + type: SEND.CLEAR, + networkType: 'ethereum', + state: { + ...initialState, + networkName: network.shortcut, + networkSymbol: network.symbol, + currency: network.symbol, + feeLevels, + selectedFeeLevel, + recommendedGasPrice: gasPrice.toString(), + gasLimit, + gasPrice: gasPrice.toString(), + advanced, + }, + }); +}; /* * Called from UI on "address" field change diff --git a/src/actions/ripple/SendFormActions.js b/src/actions/ripple/SendFormActions.js index f763882e..90e78eec 100644 --- a/src/actions/ripple/SendFormActions.js +++ b/src/actions/ripple/SendFormActions.js @@ -35,13 +35,6 @@ export const observe = (prevState: ReducersState, action: Action): ThunkAction = return; } - // clear transaction draft from session storage and reinitialize send form - if (action.type === SEND.CLEAR) { - dispatch(SessionStorageActions.clear()); - dispatch(init()); - return; - } - // if send form was not initialized if (currentState.sendFormRipple.networkSymbol === '') { dispatch(init()); @@ -87,8 +80,6 @@ export const init = (): AsyncAction => async (dispatch: Dispatch, getState: GetS network, } = getState().selectedAccount; - const { advanced } = getState().sendFormEthereum; - if (!account || account.networkType !== 'ripple' || !network) return; const stateFromStorage = dispatch(SessionStorageActions.loadRippleDraftTransaction()); @@ -116,7 +107,6 @@ export const init = (): AsyncAction => async (dispatch: Dispatch, getState: GetS selectedFeeLevel, fee: network.fee.defaultFee, sequence: '1', - advanced, }, }); }; @@ -132,11 +122,34 @@ export const toggleAdvanced = (): Action => ({ /* * Called from UI from "clear" button */ -export const onClear = (): Action => ({ - type: SEND.CLEAR, - networkType: 'ripple', -}); +export const onClear = (): AsyncAction => async (dispatch: Dispatch, getState: GetState): Promise => { + const { network } = getState().selectedAccount; + const { advanced } = getState().sendFormRipple; + + if (!network) return; + + // clear transaction draft from session storage + dispatch(SessionStorageActions.clear()); + const blockchainFeeLevels = dispatch(BlockchainActions.getFeeLevels(network)); + const feeLevels = dispatch(ValidationActions.getFeeLevels(blockchainFeeLevels)); + const selectedFeeLevel = ValidationActions.getSelectedFeeLevel(feeLevels, initialState.selectedFeeLevel); + + dispatch({ + type: SEND.CLEAR, + networkType: 'ripple', + state: { + ...initialState, + networkName: network.shortcut, + networkSymbol: network.symbol, + feeLevels, + selectedFeeLevel, + fee: network.fee.defaultFee, + sequence: '1', + advanced, + }, + }); +}; /* * Called from UI on "address" field change diff --git a/src/reducers/SendFormEthereumReducer.js b/src/reducers/SendFormEthereumReducer.js index 5053f673..58b8e11d 100644 --- a/src/reducers/SendFormEthereumReducer.js +++ b/src/reducers/SendFormEthereumReducer.js @@ -82,6 +82,7 @@ export default (state: State = initialState, action: Action): State => { case SEND.INIT: case SEND.CHANGE: case SEND.VALIDATION: + case SEND.CLEAR: return action.state; case SEND.TOGGLE_ADVANCED: diff --git a/src/reducers/SendFormRippleReducer.js b/src/reducers/SendFormRippleReducer.js index f56083bc..63a1a717 100644 --- a/src/reducers/SendFormRippleReducer.js +++ b/src/reducers/SendFormRippleReducer.js @@ -75,6 +75,7 @@ export default (state: State = initialState, action: Action): State => { case SEND.INIT: case SEND.CHANGE: case SEND.VALIDATION: + case SEND.CLEAR: return action.state; case SEND.TOGGLE_ADVANCED: From 12d6113b9cc8345ca1d79ff64dfbb081efdc27a8 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 15 Jan 2019 15:35:31 +0100 Subject: [PATCH 047/219] fix paddings on small screens --- src/views/Wallet/views/Account/Send/ethereum/index.js | 9 ++++++--- src/views/Wallet/views/Account/Send/ripple/index.js | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/views/Wallet/views/Account/Send/ethereum/index.js b/src/views/Wallet/views/Account/Send/ethereum/index.js index 5a6df22f..7ce67e11 100644 --- a/src/views/Wallet/views/Account/Send/ethereum/index.js +++ b/src/views/Wallet/views/Account/Send/ethereum/index.js @@ -404,7 +404,9 @@ const AccountSend = (props: Props) => { {isAdvancedSettingsHidden && ( - + onClear()} @@ -413,7 +415,6 @@ const AccountSend = (props: Props) => { onSend()} > {sendButtonText} @@ -424,7 +425,9 @@ const AccountSend = (props: Props) => { {advanced && ( - + onClear()} diff --git a/src/views/Wallet/views/Account/Send/ripple/index.js b/src/views/Wallet/views/Account/Send/ripple/index.js index 7ed90ced..58650148 100644 --- a/src/views/Wallet/views/Account/Send/ripple/index.js +++ b/src/views/Wallet/views/Account/Send/ripple/index.js @@ -358,7 +358,9 @@ const AccountSend = (props: Props) => { {isAdvancedSettingsHidden && ( - + onClear()} @@ -367,7 +369,6 @@ const AccountSend = (props: Props) => { onSend()} > {sendButtonText} @@ -378,7 +379,9 @@ const AccountSend = (props: Props) => { {advanced && ( - + onClear()} From 479a379b8e854329649b45dbc40f7bc35cfc01d7 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 15 Jan 2019 17:15:47 +0100 Subject: [PATCH 048/219] hide wallet type icon (standard/hidden) when passphrase feature is disabled --- src/views/Wallet/components/LeftNavigation/index.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/views/Wallet/components/LeftNavigation/index.js b/src/views/Wallet/components/LeftNavigation/index.js index cca5eab1..96660a38 100644 --- a/src/views/Wallet/components/LeftNavigation/index.js +++ b/src/views/Wallet/components/LeftNavigation/index.js @@ -184,6 +184,8 @@ class LeftNavigation extends React.PureComponent { const { selectedDevice } = props.wallet; const isDeviceAccessible = deviceUtils.isDeviceAccessible(selectedDevice); + const walletType = selectedDevice && !selectedDevice.useEmptyPassphrase ? 'hidden' : 'standard'; + return ( { isOpen={this.props.wallet.dropdownOpened} icon={( - + {selectedDevice && selectedDevice.features.passphrase_protection ? ( + ) : null + } {this.props.devices.length > 1 && ( {this.props.devices.length} )} From d07488146a497de0103b17ee9dd983f73d46cd22 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 16 Jan 2019 00:41:42 +0100 Subject: [PATCH 049/219] fix device header padding --- src/components/DeviceHeader/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/DeviceHeader/index.js b/src/components/DeviceHeader/index.js index cdce9e46..cba457cc 100644 --- a/src/components/DeviceHeader/index.js +++ b/src/components/DeviceHeader/index.js @@ -38,6 +38,7 @@ const ClickWrapper = styled.div` width: 100%; display: flex; padding-left: 25px; + padding-right: 25px; height: 100%; align-items: center; cursor: pointer; @@ -72,7 +73,6 @@ const Status = styled.div` `; const IconWrapper = styled.div` - padding-right: 25px; display: flex; flex: 1 0 0; justify-content: flex-end; From 0efcc2c5beeca8b923eebc57de66c7597f94882f Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 16 Jan 2019 10:40:56 +0100 Subject: [PATCH 050/219] add prop delayed to Tooltip component --- src/components/Tooltip/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/Tooltip/index.js b/src/components/Tooltip/index.js index 32f504b3..6650a62a 100644 --- a/src/components/Tooltip/index.js +++ b/src/components/Tooltip/index.js @@ -31,11 +31,13 @@ const Tooltip = ({ content, readMoreLink, children, + delayed, }) => ( } placement={placement} + mouseEnterDelay={delayed ? 1.5 : 0} overlay={() => ( {content} @@ -65,6 +67,7 @@ Tooltip.propTypes = { PropTypes.string, ]), readMoreLink: PropTypes.string, + delayed: PropTypes.bool, }; export default Tooltip; From 740661b4c623ec01979ddde29f3a71548448526f Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 16 Jan 2019 10:43:38 +0100 Subject: [PATCH 051/219] move forget device menu item to the bottom --- .../DeviceMenu/components/MenuItems/index.js | 44 ++++++++----------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js index 53fc615b..1d1d3235 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js @@ -27,19 +27,6 @@ const Label = styled.div` `; class MenuItems extends PureComponent { - onDeviceMenuClick(action, device) { - if (action === 'reload') { - this.props.acquireDevice(); - } else if (action === 'forget') { - this.props.forgetDevice(device); - } else if (action === 'clone') { - this.props.duplicateDevice(device); - } else if (action === 'settings') { - this.props.toggleDeviceDropdown(false); - this.props.gotoDeviceSettings(device); - } - } - showDeviceMenu() { const { device } = this.props; return device && device.mode === 'normal'; @@ -55,9 +42,14 @@ class MenuItems extends PureComponent { render() { if (!this.showDeviceMenu()) return null; + const { device } = this.props; return ( - {/* this.onDeviceMenuClick('settings', this.props.device)}> + {/* { + this.props.toggleDeviceDropdown(false); + this.props.gotoDeviceSettings(device); + }} + > */} - this.onDeviceMenuClick('forget', this.props.device)}> - - - {this.showClone() && ( - this.onDeviceMenuClick('clone', this.props.device)}> + this.props.duplicateDevice(device)}> this.onDeviceMenuClick('reload')} + onClick={() => this.props.acquireDevice()} > )} + this.props.forgetDevice(device)}> + + + ); } @@ -101,8 +93,8 @@ MenuItems.propTypes = { acquireDevice: PropTypes.func.isRequired, forgetDevice: PropTypes.func.isRequired, duplicateDevice: PropTypes.func.isRequired, - toggleDeviceDropdown: PropTypes.func.isRequired, - gotoDeviceSettings: PropTypes.func.isRequired, + // toggleDeviceDropdown: PropTypes.func.isRequired, + // gotoDeviceSettings: PropTypes.func.isRequired, }; export default MenuItems; \ No newline at end of file From 0a0d1e7715ab05c6db47013734b4435b4de0446f Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 16 Jan 2019 10:51:50 +0100 Subject: [PATCH 052/219] added tooltips to device header's icons, wallet btn now clickable --- .../Wallet/components/LeftNavigation/index.js | 43 ++++++++++++++++--- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/src/views/Wallet/components/LeftNavigation/index.js b/src/views/Wallet/components/LeftNavigation/index.js index 96660a38..007e6122 100644 --- a/src/views/Wallet/components/LeftNavigation/index.js +++ b/src/views/Wallet/components/LeftNavigation/index.js @@ -12,6 +12,7 @@ import styled from 'styled-components'; import DeviceHeader from 'components/DeviceHeader'; import * as deviceUtils from 'utils/device'; +import Tooltip from 'components/Tooltip'; import AccountMenu from './components/AccountMenu'; import CoinMenu from './components/CoinMenu'; import DeviceMenu from './components/DeviceMenu'; @@ -23,6 +24,9 @@ const Header = styled(DeviceHeader)` border-right: 1px solid ${colors.BACKGROUND}; `; +const WalletTypeIconWrapper = styled.div` +`; + const Counter = styled.div` border: 1px solid ${colors.DIVIDER}; border-radius: 50%; @@ -185,6 +189,7 @@ class LeftNavigation extends React.PureComponent { const { selectedDevice } = props.wallet; const isDeviceAccessible = deviceUtils.isDeviceAccessible(selectedDevice); const walletType = selectedDevice && !selectedDevice.useEmptyPassphrase ? 'hidden' : 'standard'; + const passphraseEnabled = selectedDevice && selectedDevice.features && selectedDevice.features.passphrase_protection; return ( { isOpen={this.props.wallet.dropdownOpened} icon={( - {selectedDevice && selectedDevice.features.passphrase_protection ? ( - ) : null + {passphraseEnabled ? ( + ) : null } {this.props.devices.length > 1 && ( - {this.props.devices.length} + + {this.props.devices.length} + )} Date: Wed, 16 Jan 2019 11:16:18 +0100 Subject: [PATCH 053/219] remove dead code --- .../components/DeviceMenu/index.js | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js index 9cdc96be..3b87b8d9 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js @@ -2,7 +2,6 @@ import React, { PureComponent } from 'react'; import styled from 'styled-components'; import TrezorConnect from 'trezor-connect'; -import type { TrezorDevice } from 'flowtype'; import Button from 'components/Button'; import * as deviceUtils from 'utils/device'; import MenuItems from './components/MenuItems'; @@ -22,11 +21,6 @@ const StyledButton = styled(Button)` flex: 1; `; -type DeviceMenuItem = { - type: string; - label: string; -} - class DeviceMenu extends PureComponent { constructor(props: Props) { super(props); @@ -50,19 +44,6 @@ class DeviceMenu extends PureComponent { window.removeEventListener('mousedown', this.mouseDownHandler, false); } - onDeviceMenuClick(item: DeviceMenuItem, device: TrezorDevice): void { - if (item.type === 'reload') { - this.props.acquireDevice(); - } else if (item.type === 'forget') { - this.props.forgetDevice(device); - } else if (item.type === 'clone') { - this.props.duplicateDevice(device); - } else if (item.type === 'settings') { - this.props.toggleDeviceDropdown(false); - this.props.gotoDeviceSettings(device); - } - } - blurHandler(): void { this.props.toggleDeviceDropdown(false); } From c0f794aaad4608b3d6be735b8c4224814b70656c Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 16 Jan 2019 14:09:30 +0100 Subject: [PATCH 054/219] move wallet icons to icons file --- src/components/images/WalletType/index.js | 6 ++---- src/config/icons.js | 6 ++++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/components/images/WalletType/index.js b/src/components/images/WalletType/index.js index 81eeacfb..5663f3e6 100644 --- a/src/components/images/WalletType/index.js +++ b/src/components/images/WalletType/index.js @@ -2,6 +2,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import colors from 'config/colors'; import styled from 'styled-components'; +import ICONS from 'config/icons'; const SvgWrapper = styled.svg` :hover { @@ -15,9 +16,6 @@ const Path = styled.path` fill: ${props => props.color}; `; -export const HIDDEN = 'M25.421,17.28l-3.167-8.8C22.175,8.24,21.858,8,21.542,8h-2.375c-0.475,0-0.792,0.32-0.792,0.8c0,0.48,0.317,0.8,0.792,0.8h1.821l2.612,7.2h-6.017h-3.167H8.4l2.613-7.2h1.821c0.475,0,0.792-0.32,0.792-0.8c0-0.48-0.317-0.8-0.792-0.8h-2.375c-0.317,0-0.633,0.24-0.712,0.56l-3.167,8.8C6.5,17.36,6.5,17.52,6.5,17.6l0,0l0,0l0,0v4c0,1.36,1.029,2.4,2.375,2.4h3.958c1.346,0,2.375-1.04,2.375-2.4v-3.2h1.583v3.2c0,1.36,1.029,2.4,2.375,2.4h3.958c1.346,0,2.375-1.04,2.375-2.4v-4l0,0l0,0l0,0C25.5,17.52,25.5,17.36,25.421,17.28z'; -export const STANDARD = 'M23.333,10.667H10.667H10c-0.367,0-0.667-0.299-0.667-0.667S9.633,9.333,10,9.333h10V10h1.333V8.667C21.333,8.299,21.035,8,20.667,8H10c-1.105,0-2,0.895-2,2v11.333C8,22.806,9.194,24,10.667,24h12.667C23.701,24,24,23.701,24,23.333v-12C24,10.965,23.701,10.667,23.333,10.667z M20,18.667c-0.737,0-1.333-0.597-1.333-1.333C18.667,16.597,19.263,16,20,16s1.333,0.597,1.333,1.333C21.333,18.07,20.737,18.667,20,18.667z'; - const Icon = ({ type = 'standard', size = 24, @@ -35,7 +33,7 @@ const Icon = ({ ); diff --git a/src/components/modals/device/Duplicate/index.js b/src/components/modals/device/Duplicate/index.js index 735c208e..75aebb38 100644 --- a/src/components/modals/device/Duplicate/index.js +++ b/src/components/modals/device/Duplicate/index.js @@ -41,7 +41,7 @@ const StyledLink = styled(Link)` const Wrapper = styled.div` width: 360px; - padding: 24px 48px; + padding: 30px 48px; `; const Column = styled.div` diff --git a/src/components/modals/device/Remember/index.js b/src/components/modals/device/Remember/index.js index 38de9115..02dde355 100644 --- a/src/components/modals/device/Remember/index.js +++ b/src/components/modals/device/Remember/index.js @@ -31,12 +31,12 @@ const ButtonContent = styled.div` `; const StyledP = styled(P)` - padding: 10px 0; + padding: 20px 0; `; const Wrapper = styled.div` width: 360px; - padding: 24px 48px; + padding: 30px 48px; `; const Text = styled.div` @@ -46,10 +46,10 @@ const Text = styled.div` const Column = styled.div` display: flex; flex-direction: column; -`; -const StyledButton = styled(Button)` - margin: 5px 0; + Button + Button { + margin-top: 10px; + } `; const StyledLoader = styled(Loader)` @@ -128,7 +128,7 @@ class RememberDevice extends PureComponent {

Forget {label}?

Would you like Trezor Wallet to forget your { devicePlural }, so that it is still visible even while disconnected? - this.forget()}> + ); diff --git a/src/components/modals/device/WalletType/index.js b/src/components/modals/device/WalletType/index.js index 13b6fcdd..ca91bc99 100644 --- a/src/components/modals/device/WalletType/index.js +++ b/src/components/modals/device/WalletType/index.js @@ -37,7 +37,7 @@ const Header = styled.div` `; const StyledHeading = styled(H2)` - padding-top: 30px; + padding: 30px 48px 10px 48px; `; const StyledLink = styled(Link)` diff --git a/src/components/modals/external/Cardano/index.js b/src/components/modals/external/Cardano/index.js index 376d41b1..645be885 100644 --- a/src/components/modals/external/Cardano/index.js +++ b/src/components/modals/external/Cardano/index.js @@ -26,7 +26,7 @@ const Wrapper = styled.div` `; const StyledButton = styled(Button)` - margin: 10px 0 10px 0; + margin-top: 10px; width: 100%; `; diff --git a/src/components/modals/external/Nem/index.js b/src/components/modals/external/Nem/index.js index ff852709..993e097f 100644 --- a/src/components/modals/external/Nem/index.js +++ b/src/components/modals/external/Nem/index.js @@ -22,11 +22,11 @@ type Props = { const Wrapper = styled.div` width: 100%; max-width: 620px; - padding: 24px 48px; + padding: 30px 48px; `; const StyledButton = styled(Button)` - margin: 0 0 10px 0; + margin-top: 10px; width: 100%; `; diff --git a/src/components/modals/external/Stellar/index.js b/src/components/modals/external/Stellar/index.js index 040b3f6f..2ba4a863 100644 --- a/src/components/modals/external/Stellar/index.js +++ b/src/components/modals/external/Stellar/index.js @@ -26,7 +26,7 @@ const Wrapper = styled.div` `; const StyledButton = styled(Button)` - margin: 10px 0 10px 0; + margin-top: 10px; width: 100%; `; diff --git a/src/components/modals/passphrase/Passphrase/index.js b/src/components/modals/passphrase/Passphrase/index.js index 0ad3a3f4..553be60e 100644 --- a/src/components/modals/passphrase/Passphrase/index.js +++ b/src/components/modals/passphrase/Passphrase/index.js @@ -31,7 +31,7 @@ type State = { }; const Wrapper = styled.div` - padding: 24px 48px; + padding: 30px 48px; max-width: 390px; `; diff --git a/src/components/modals/passphrase/Type/index.js b/src/components/modals/passphrase/Type/index.js index ce659800..fa44d5b1 100644 --- a/src/components/modals/passphrase/Type/index.js +++ b/src/components/modals/passphrase/Type/index.js @@ -19,7 +19,7 @@ type Props = { const Wrapper = styled.div` width: 360px; - padding: 24px 48px; + padding: 30px 48px; `; const Header = styled.div``; diff --git a/src/components/modals/pin/Invalid/index.js b/src/components/modals/pin/Invalid/index.js index e69d7554..a69bbd64 100644 --- a/src/components/modals/pin/Invalid/index.js +++ b/src/components/modals/pin/Invalid/index.js @@ -14,7 +14,7 @@ type Props = { } const Wrapper = styled.div` - padding: 24px 48px; + padding: 30px 48px; `; const InvalidPin = (props: Props) => ( diff --git a/src/components/modals/pin/Pin/index.js b/src/components/modals/pin/Pin/index.js index ed74e834..31cf42d3 100644 --- a/src/components/modals/pin/Pin/index.js +++ b/src/components/modals/pin/Pin/index.js @@ -25,7 +25,7 @@ type State = { } const Wrapper = styled.div` - padding: 24px 48px; + padding: 30px 48px; `; const InputRow = styled.div` diff --git a/src/views/Landing/components/BetaDisclaimer/index.js b/src/views/Landing/components/BetaDisclaimer/index.js index 61c54570..d9dfd824 100644 --- a/src/views/Landing/components/BetaDisclaimer/index.js +++ b/src/views/Landing/components/BetaDisclaimer/index.js @@ -36,7 +36,7 @@ const ModalWindow = styled.div` text-align: center; width: 100%; max-width: 620px; - padding: 24px 48px; + padding: 30px 48px; `; const StyledP = styled(P)` From f49a202da668e162cd79a996f0e77581d4c2868c Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Sat, 19 Jan 2019 20:51:43 +0100 Subject: [PATCH 082/219] change padding --- src/components/modals/QrModal/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/modals/QrModal/index.js b/src/components/modals/QrModal/index.js index ce5fc998..d581a8ea 100644 --- a/src/components/modals/QrModal/index.js +++ b/src/components/modals/QrModal/index.js @@ -20,7 +20,7 @@ import type { Props as BaseProps } from '../Container'; const Wrapper = styled.div` width: 90vw; max-width: 450px; - padding: 40px 0px 20px 0px; + padding: 30px 0px; `; const Padding = styled.div` From 454410fd5c024f7b51807d01e9ba39f7c7d21dee Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Sat, 19 Jan 2019 23:05:16 +0100 Subject: [PATCH 083/219] improved styling of device menu --- .../components/DeviceMenu/components/MenuItems/index.js | 2 +- .../components/LeftNavigation/components/DeviceMenu/index.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js index 53fc615b..0abfb858 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js @@ -9,7 +9,7 @@ import { FONT_SIZE } from 'config/variables'; const Wrapper = styled.div` padding: 0px 24px 8px 19px; - border-bottom: 1px solid ${colors.DIVIDER}; + box-shadow: 0 3px 8px rgba(0,0,0,0.06); background: ${colors.WHITE}; `; diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js index 9cdc96be..8899072f 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js @@ -10,7 +10,7 @@ import DeviceList from './components/DeviceList'; import type { Props } from '../common'; -import AsideDivider from '../Divider'; +import Divider from '../Divider'; const Wrapper = styled.div``; const ButtonWrapper = styled.div` @@ -104,7 +104,7 @@ class DeviceMenu extends PureComponent { return ( {this.showMenuItems() && } - {this.showDivider() && } + {this.showDivider() && } Date: Sat, 19 Jan 2019 23:11:44 +0100 Subject: [PATCH 084/219] add missing wallet border radius --- .../LeftNavigation/components/StickyContainer/index.js | 5 +++++ src/views/Wallet/index.js | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/views/Wallet/components/LeftNavigation/components/StickyContainer/index.js b/src/views/Wallet/components/LeftNavigation/components/StickyContainer/index.js index 4d10baef..2362ac81 100644 --- a/src/views/Wallet/components/LeftNavigation/components/StickyContainer/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/StickyContainer/index.js @@ -30,6 +30,11 @@ const AsideWrapper = styled.aside.attrs(props => ({ overflow: hidden; background: ${colors.MAIN}; border-right: 1px solid ${colors.DIVIDER}; + border-top-left-radius: 4px; + + @media screen and (max-width: 1170px) { + border-top-left-radius: 0px; + } `; const StickyContainerWrapper = styled.div.attrs(props => ({ diff --git a/src/views/Wallet/index.js b/src/views/Wallet/index.js index 1a63e5f5..f6063eb9 100644 --- a/src/views/Wallet/index.js +++ b/src/views/Wallet/index.js @@ -66,6 +66,11 @@ const MainContent = styled.article` display: flex; flex-direction: column; overflow: auto; + border-top-right-radius: 4px; + + @media screen and (max-width: 1170px) { + border-top-right-radius: 0px; + } `; const Navigation = styled.nav` From 7f07564ab65eed1271c37866e148afbf27bc537a Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Sat, 19 Jan 2019 23:30:22 +0100 Subject: [PATCH 085/219] fix font weight in Divider to match design guidelines --- .../components/LeftNavigation/components/Divider/index.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/views/Wallet/components/LeftNavigation/components/Divider/index.js b/src/views/Wallet/components/LeftNavigation/components/Divider/index.js index 8f29337e..4b722a7d 100644 --- a/src/views/Wallet/components/LeftNavigation/components/Divider/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/Divider/index.js @@ -3,7 +3,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import colors from 'config/colors'; -import { FONT_SIZE } from 'config/variables'; +import { FONT_SIZE, FONT_WEIGHT } from 'config/variables'; const Wrapper = styled.div` display: flex; @@ -18,13 +18,17 @@ const Wrapper = styled.div` `} `; +const TextLeft = styled.p` + font-weight: ${FONT_WEIGHT.MEDIUM}; +`; + const Divider = ({ textLeft, textRight, hasBorder = false, }) => ( -

{textLeft}

+ {textLeft}

{textRight}

); From 1280800c91bea2f503dab643b8f9e9e203c19137 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Sun, 20 Jan 2019 00:15:54 +0100 Subject: [PATCH 086/219] cursor pointer on buttons in Pin modal --- src/components/modals/pin/Pin/components/Button/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/modals/pin/Pin/components/Button/index.js b/src/components/modals/pin/Pin/components/Button/index.js index 5b592dc6..65b8c0a4 100644 --- a/src/components/modals/pin/Pin/components/Button/index.js +++ b/src/components/modals/pin/Pin/components/Button/index.js @@ -22,6 +22,7 @@ const Wrapper = styled.button` border: 1px solid ${colors.DIVIDER}; background: ${colors.WHITE}; transition: all 0.3s; + cursor: pointer; &:first-child { margin-left: 0px; From 97918224a2b31948b138e1499e01702d5f1a2c73 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Sun, 20 Jan 2019 19:08:36 +0100 Subject: [PATCH 087/219] fix device header ux --- .../DeviceMenu/components/MenuItems/index.js | 1 - .../components/DeviceMenu/index.js | 33 ++++++++++++++----- .../components/Divider/index.js | 4 ++- .../Wallet/components/LeftNavigation/index.js | 12 ++++--- 4 files changed, 35 insertions(+), 15 deletions(-) diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js index 53fc615b..9099248d 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js @@ -9,7 +9,6 @@ import { FONT_SIZE } from 'config/variables'; const Wrapper = styled.div` padding: 0px 24px 8px 19px; - border-bottom: 1px solid ${colors.DIVIDER}; background: ${colors.WHITE}; `; diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js index 9cdc96be..9c251a71 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js @@ -3,6 +3,10 @@ import React, { PureComponent } from 'react'; import styled from 'styled-components'; import TrezorConnect from 'trezor-connect'; import type { TrezorDevice } from 'flowtype'; + +import COLORS from 'config/colors'; +import { FONT_SIZE, FONT_WEIGHT } from 'config/variables'; + import Button from 'components/Button'; import * as deviceUtils from 'utils/device'; import MenuItems from './components/MenuItems'; @@ -10,11 +14,16 @@ import DeviceList from './components/DeviceList'; import type { Props } from '../common'; -import AsideDivider from '../Divider'; +import Divider from '../Divider'; + +const Wrapper = styled.div` + border-bottom: 1px solid #E3E3E3; + background: white; + box-shadow: 0 3px 8px rgba(0,0,0,0.06); +`; -const Wrapper = styled.div``; const ButtonWrapper = styled.div` - margin-top: 10px; + margin: 10px 0; padding: 0 10px; display: flex; `; @@ -22,6 +31,14 @@ const StyledButton = styled(Button)` flex: 1; `; +const StyledDivider = styled(Divider)` + background: #fff; + color: ${COLORS.TEXT_PRIMARY}; + font-weight: ${FONT_WEIGHT.MEDIUM}; + font-size: ${FONT_SIZE.BASE}; + border: none; +`; + type DeviceMenuItem = { type: string; label: string; @@ -104,18 +121,18 @@ class DeviceMenu extends PureComponent { return ( {this.showMenuItems() && } - {this.showDivider() && } + {this.showDivider() && } - - {deviceUtils.isWebUSB(transport) && ( + {deviceUtils.isWebUSB(transport) && ( + Check for devices - )} - + + )} ); } diff --git a/src/views/Wallet/components/LeftNavigation/components/Divider/index.js b/src/views/Wallet/components/LeftNavigation/components/Divider/index.js index 8f29337e..0a46446f 100644 --- a/src/views/Wallet/components/LeftNavigation/components/Divider/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/Divider/index.js @@ -19,10 +19,11 @@ const Wrapper = styled.div` `; const Divider = ({ - textLeft, textRight, hasBorder = false, + textLeft, textRight, hasBorder = false, className, }) => (

{textLeft}

{textRight}

@@ -30,6 +31,7 @@ const Divider = ({ ); Divider.propTypes = { + className: PropTypes.string, textLeft: PropTypes.string, textRight: PropTypes.string, hasBorder: PropTypes.bool, diff --git a/src/views/Wallet/components/LeftNavigation/index.js b/src/views/Wallet/components/LeftNavigation/index.js index cca5eab1..5b4801ce 100644 --- a/src/views/Wallet/components/LeftNavigation/index.js +++ b/src/views/Wallet/components/LeftNavigation/index.js @@ -132,14 +132,17 @@ class LeftNavigation extends React.PureComponent { const deviceReady = selectedDevice && selectedDevice.features && selectedDevice.mode === 'normal'; if (dropdownOpened) { this.setState({ shouldRenderDeviceSelection: true }); - } else if (hasNetwork) { + } else { + this.setState({ shouldRenderDeviceSelection: false }); + } + if (hasNetwork) { this.setState({ - shouldRenderDeviceSelection: false, + // shouldRenderDeviceSelection: false, animationType: 'slide-left', }); } else { this.setState({ - shouldRenderDeviceSelection: false, + // shouldRenderDeviceSelection: false, animationType: deviceReady ? 'slide-right' : null, }); } @@ -152,7 +155,6 @@ class LeftNavigation extends React.PureComponent { && location && location.state && location.state.network - && !this.state.shouldRenderDeviceSelection && this.state.animationType === 'slide-left'; } @@ -162,7 +164,7 @@ class LeftNavigation extends React.PureComponent { } shouldRenderCoins() { - return !this.state.shouldRenderDeviceSelection && this.state.animationType !== 'slide-left'; + return this.state.animationType !== 'slide-left'; } render() { From 6662c705bcb386450d00885b35ea22550cc03c4c Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 21 Jan 2019 14:43:56 +0100 Subject: [PATCH 088/219] hover for menu items --- .../components/DeviceMenu/components/MenuItems/index.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js index 9099248d..c39de5a8 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js @@ -8,17 +8,20 @@ import colors from 'config/colors'; import { FONT_SIZE } from 'config/variables'; const Wrapper = styled.div` - padding: 0px 24px 8px 19px; background: ${colors.WHITE}; `; const Item = styled.div` - padding: 4px 2px; + padding: 6px 24px; display: flex; align-items: center; font-size: ${FONT_SIZE.BASE}; cursor: pointer; - color: ${colors.TEXT_SECONDARY}; + color: ${colors.TEXT_SECONDARY}; + + &:hover { + background: ${colors.GRAY_LIGHT}; + } `; const Label = styled.div` From 67a1b6af4ef871e9c03099dca89a991da165cbec Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 21 Jan 2019 15:42:48 +0100 Subject: [PATCH 089/219] fix overlap of action button and close button in notification layout --- src/components/Notification/index.js | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/src/components/Notification/index.js b/src/components/Notification/index.js index a8622de7..721a7463 100644 --- a/src/components/Notification/index.js +++ b/src/components/Notification/index.js @@ -58,11 +58,8 @@ const Title = styled.div` `; const CloseClick = styled.div` - position: absolute; - right: 0; - top: 0; - padding-right: inherit; - padding-top: inherit; + margin-left: 24px; + align-self: flex-start; cursor: pointer; `; @@ -102,15 +99,6 @@ const Notification = (props: Props): React$Element => { {props.loading && } - {props.cancelable && ( - close()}> - - - )} => { )} + {props.cancelable && ( + close()}> + + + )} ); From 59c4e69ab4430e4a747c246dc659176d0559f1db Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 21 Jan 2019 16:20:05 +0100 Subject: [PATCH 090/219] missing position absolute --- .../components/LeftNavigation/components/DeviceMenu/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js index 9c251a71..f49f1764 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js @@ -17,6 +17,7 @@ import type { Props } from '../common'; import Divider from '../Divider'; const Wrapper = styled.div` + position: absolute; border-bottom: 1px solid #E3E3E3; background: white; box-shadow: 0 3px 8px rgba(0,0,0,0.06); From 251eb61177dc3de9580f609ff5c3deb40b70b266 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 21 Jan 2019 16:51:52 +0100 Subject: [PATCH 091/219] add slide down animation for device menu --- src/components/DeviceHeader/index.js | 1 + src/config/animations.js | 9 +++++++++ .../LeftNavigation/components/DeviceMenu/index.js | 2 ++ 3 files changed, 12 insertions(+) diff --git a/src/components/DeviceHeader/index.js b/src/components/DeviceHeader/index.js index cdce9e46..0742e4e3 100644 --- a/src/components/DeviceHeader/index.js +++ b/src/components/DeviceHeader/index.js @@ -15,6 +15,7 @@ const Wrapper = styled.div` position: relative; height: 70px; width: 320px; + z-index: 10; display: flex; align-items: center; background: ${props => (props.disabled ? colors.GRAY_LIGHT : 'transparent')}; diff --git a/src/config/animations.js b/src/config/animations.js index 950ea9e2..c7fee813 100644 --- a/src/config/animations.js +++ b/src/config/animations.js @@ -71,4 +71,13 @@ export const FADE_IN = keyframes` 100% { opacity: 1; } +`; + +export const SLIDE_DOWN = keyframes` + 0% { + transform: translateY(-100%); + } + 100% { + transform: translateY(0%); + } `; \ No newline at end of file diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js index f49f1764..5879fc79 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js @@ -6,6 +6,7 @@ import type { TrezorDevice } from 'flowtype'; import COLORS from 'config/colors'; import { FONT_SIZE, FONT_WEIGHT } from 'config/variables'; +import { SLIDE_DOWN } from 'config/animations'; import Button from 'components/Button'; import * as deviceUtils from 'utils/device'; @@ -21,6 +22,7 @@ const Wrapper = styled.div` border-bottom: 1px solid #E3E3E3; background: white; box-shadow: 0 3px 8px rgba(0,0,0,0.06); + animation: ${SLIDE_DOWN} 0.25s cubic-bezier(0.17, 0.04, 0.03, 0.94) forwards; `; const ButtonWrapper = styled.div` From 9f190dc993a85b58605d96ad60670da843720b7f Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 21 Jan 2019 17:12:17 +0100 Subject: [PATCH 092/219] strech device menu width to its parent's width --- .../components/LeftNavigation/components/DeviceMenu/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js index 5879fc79..cb4f36d9 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js @@ -19,6 +19,8 @@ import Divider from '../Divider'; const Wrapper = styled.div` position: absolute; + width: 100%; + padding-bottom: 8px; border-bottom: 1px solid #E3E3E3; background: white; box-shadow: 0 3px 8px rgba(0,0,0,0.06); From cc41a963cd8df85e7d62e074b4abbb4c4bcbd769 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 22 Jan 2019 12:57:10 +0100 Subject: [PATCH 093/219] set minHeight to fix rendering of devicemenu for unitialized device --- .../components/DeviceMenu/index.js | 9 ++++- .../Wallet/components/LeftNavigation/index.js | 40 +++++++++++++------ 2 files changed, 35 insertions(+), 14 deletions(-) diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js index cb4f36d9..4797b422 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js @@ -54,6 +54,7 @@ class DeviceMenu extends PureComponent { super(props); this.mouseDownHandler = this.mouseDownHandler.bind(this); this.blurHandler = this.blurHandler.bind(this); + this.myRef = React.createRef(); } componentDidMount(): void { @@ -85,6 +86,10 @@ class DeviceMenu extends PureComponent { } } + getMenuHeight(): number { + return this.myRef.current ? this.myRef.current.getBoundingClientRect().height : 0; + } + blurHandler(): void { this.props.toggleDeviceDropdown(false); } @@ -118,13 +123,15 @@ class DeviceMenu extends PureComponent { return deviceUtils.isDeviceAccessible(this.props.wallet.selectedDevice); } + myRef: { current: ?HTMLDivElement } + render() { const { devices, onSelectDevice, forgetDevice } = this.props; const { transport } = this.props.connect; const { selectedDevice } = this.props.wallet; return ( - + {this.showMenuItems() && } {this.showDivider() && } ({ const Body = styled.div` width: 320px; + min-height: ${props => (props.minHeight ? `${props.minHeight}px` : '0px')}; `; const Help = styled.div` @@ -109,45 +110,48 @@ const TransitionMenu = (props: TransitionMenuProps): React$Element { constructor(props: Props) { super(props); + this.deviceMenuRef = React.createRef(); const { location } = this.props.router; const hasNetwork = location && location.state && location.state.network; this.state = { animationType: hasNetwork ? 'slide-left' : null, - shouldRenderDeviceSelection: false, clicked: false, + bodyMinHeight: 0, }; } + componentDidMount() { + this.recalculateBodyMinHeight(); + } + componentWillReceiveProps(nextProps: Props) { - const { dropdownOpened, selectedDevice } = nextProps.wallet; + const { selectedDevice } = nextProps.wallet; const { location } = nextProps.router; const hasNetwork = location && location.state.network; const deviceReady = selectedDevice && selectedDevice.features && selectedDevice.mode === 'normal'; - if (dropdownOpened) { - this.setState({ shouldRenderDeviceSelection: true }); - } else { - this.setState({ shouldRenderDeviceSelection: false }); - } + if (hasNetwork) { this.setState({ - // shouldRenderDeviceSelection: false, animationType: 'slide-left', }); } else { this.setState({ - // shouldRenderDeviceSelection: false, animationType: deviceReady ? 'slide-right' : null, }); } } + componentDidUpdate() { + this.recalculateBodyMinHeight(); + } + shouldRenderAccounts() { const { selectedDevice } = this.props.wallet; const { location } = this.props.router; @@ -167,6 +171,16 @@ class LeftNavigation extends React.PureComponent { return this.state.animationType !== 'slide-left'; } + recalculateBodyMinHeight() { + if (this.deviceMenuRef.current) { + this.setState({ + bodyMinHeight: this.deviceMenuRef.current.getMenuHeight(), + }); + } + } + + deviceMenuRef: { current: any }; + render() { const { props } = this; let menu; @@ -184,7 +198,7 @@ class LeftNavigation extends React.PureComponent { ); } - const { selectedDevice } = props.wallet; + const { selectedDevice, dropdownOpened } = props.wallet; const isDeviceAccessible = deviceUtils.isDeviceAccessible(selectedDevice); return ( { )} {...this.props} /> - - {this.state.shouldRenderDeviceSelection && } + + {dropdownOpened && } {isDeviceAccessible && menu}
From d623dc133cdbb7a53496ef35a5b7c68e316358ae Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 22 Jan 2019 15:47:50 +0100 Subject: [PATCH 094/219] remove shadow from menu items --- .../components/DeviceMenu/components/MenuItems/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js index e3792143..c39de5a8 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js @@ -9,7 +9,6 @@ import { FONT_SIZE } from 'config/variables'; const Wrapper = styled.div` background: ${colors.WHITE}; - box-shadow: 0 3px 8px rgba(0,0,0,0.06); `; const Item = styled.div` From 717c8ba000f2c806171d4d79625fb906b233c493 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 23 Jan 2019 14:57:41 +0100 Subject: [PATCH 095/219] cursor pointer for tooltip icons in the Send tab --- .../Send/ethereum/components/AdvancedForm/index.js | 10 +++++++--- .../Send/ripple/components/AdvancedForm/index.js | 8 ++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.js b/src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.js index 5c565db5..86612377 100644 --- a/src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.js +++ b/src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.js @@ -124,6 +124,10 @@ const StyledLink = styled(Link)` white-space: nowrap; `; +const StyledIcon = styled(Icon)` + cursor: pointer; +`; + // stateless component const AdvancedForm = (props: Props) => { const { @@ -186,7 +190,7 @@ const AdvancedForm = (props: Props) => { readMoreLink="https://wiki.trezor.io/Ethereum_Wallet#Gas_limit" placement="top" > - { readMoreLink="https://wiki.trezor.io/Ethereum_Wallet#Gas_price" placement="top" > - { )} placement="top" > - { let state = ''; if (feeWarnings && !feeErrors) { @@ -132,7 +136,7 @@ const AdvancedForm = (props: Props) => { readMoreLink="https://developers.ripple.com/transaction-cost.html" placement="top" > - { readMoreLink="https://developers.ripple.com/rippleapi-reference.html#payment" placement="top" > - Date: Wed, 23 Jan 2019 16:03:15 +0100 Subject: [PATCH 096/219] add T2 icon --- src/config/icons.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/config/icons.js b/src/config/icons.js index c96de6ea..db572638 100644 --- a/src/config/icons.js +++ b/src/config/icons.js @@ -24,6 +24,9 @@ export default { T1: [ 'M603.2 265.6h-6.4c-25.494-5.341-54.79-8.398-84.8-8.398s-59.305 3.058-87.592 8.879l2.792-0.48h-6.72c-30.053 5.643-52.489 31.68-52.489 62.956 0 0.367 0.003 0.733 0.009 1.099l-0.001-0.055v234.88c0.075 40.921 11.238 79.22 30.643 112.071l-0.563-1.031 35.2 60.48c11.655 19.297 32.515 32.001 56.342 32.001 0.105 0 0.209 0 0.314-0.001h44.144c0.359 0.007 0.783 0.011 1.208 0.011 23.569 0 44.162-12.74 55.269-31.709l0.164-0.302 36.16-64c18.232-31.447 29.027-69.173 29.12-109.413v-232.987c0.005-0.293 0.008-0.639 0.008-0.986 0-31.391-22.599-57.503-52.416-62.954l-0.392-0.059zM629.76 563.2c-0.193 35.364-9.792 68.446-26.418 96.923l0.498-0.923-35.84 64c-6.868 11.865-19.463 19.742-33.906 19.84h-44.174c-0.073 0-0.159 0.001-0.246 0.001-14.427 0-27.041-7.762-33.894-19.338l-0.1-0.183-34.88-59.84c-16.656-28.155-26.515-62.042-26.56-98.227v-235.853c0.133-19.025 13.742-34.833 31.751-38.359l0.249-0.041h6.72c24.050-5.126 51.682-8.062 80-8.062s55.949 2.936 82.608 8.519l-2.608-0.457h6.72c18.258 3.568 31.867 19.375 32 38.386v0.014zM422.4 353.92h179.2c3.535 0 6.4 2.865 6.4 6.4v99.2c0 3.535-2.865 6.4-6.4 6.4h-179.2c-3.535 0-6.4-2.865-6.4-6.4v-99.2c0-3.535 2.865-6.4 6.4-6.4z', ], + T2: [ + 'M 625.28 546.304 c 0 4.512 -3.84 8 -8.32 8 l -209.92 0 c -4.48 0 -8.32 -3.488 -8.32 -8 l 0 -202.208 c 0 -4.512 3.84 -8.32 8.32 -8.32 l 209.92 0 c 4.48 0 8.32 3.808 8.32 8.32 l 0 202.208 Z m 18.56 -304.32 l -263.68 0 c -23.04 0 -41.92 18.56 -41.92 41.28 l 0 233.952 c 0 55.04 16 108.768 46.72 155.168 l 64.64 96.992 c 5.12 8 13.76 12.448 23.36 12.448 l 78.4 0 c 9.28 0 17.92 -4.448 23.04 -11.84 l 60.16 -86.048 c 33.6 -47.68 51.2 -103.392 51.2 -161.28 l 0 -239.392 c 0 -22.72 -18.88 -41.28 -41.92 -41.28', + ], COG: [ 'M739.552 462.144h-71.328c-4.256-13.664-10.208-26.56-17.472-38.56l47.264-47.424c11.2-11.008 11.2-29.056 0-40.192l-20.064-20.032c-11.136-11.104-29.152-11.040-40.192 0l-48.128 48.032c-12.992-7.392-27.072-13.152-42.080-16.992v-62.496c0-15.68-12.672-28.48-28.448-28.48h-28.448c-15.68 0-28.416 12.8-28.416 28.48v62.464c-16.352 4.128-31.68 10.656-45.728 19.2l-40.288-40.224c-11.072-11.040-29.184-11.104-40.288 0l-20.096 20.096c-11.104 11.072-10.976 29.152 0.064 40.288l40.992 40.992c-8.672 15.136-15.168 31.648-18.88 49.152h-53.504c-15.776 0-28.544 12.736-28.544 28.48v28.416c0 15.68 12.768 28.416 28.544 28.416h57.152c5.184 17.152 12.992 32.928 23.008 47.328l-38.656 38.656c-11.136 11.136-11.136 29.216-0.064 40.288l20.064 20.096c11.2 11.040 29.248 11.040 40.32-0.032l43.232-43.2c14.528 7.232 30.336 12.48 46.944 15.2v59.488c0 15.68 12.736 28.448 28.448 28.48h28.448c15.68-0.032 28.448-12.8 28.448-28.48v-66.816c14.336-5.088 27.904-11.872 40.224-20.544l45.76 45.888c11.104 11.072 29.12 11.072 40.224 0l20.096-20.128c11.168-11.072 11.168-29.056-0.096-40.288l-50.144-50.24c6.144-12.512 10.944-25.792 13.92-39.904h67.776c15.744 0 28.448-12.672 28.48-28.448v-28.448c-0.096-15.68-12.8-28.512-28.544-28.512zM504.928 583.072c-39.264 0-71.072-31.776-71.072-71.104 0-39.264 31.808-71.040 71.072-71.040 39.296 0 71.136 31.776 71.136 71.040 0 39.328-31.84 71.104-71.136 71.104z', ], From 46bced2fddad95066bc047e5c9aede7a5f7105aa Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 23 Jan 2019 16:04:00 +0100 Subject: [PATCH 097/219] add DeviceIcon component --- src/components/images/DeviceIcon/index.js | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 src/components/images/DeviceIcon/index.js diff --git a/src/components/images/DeviceIcon/index.js b/src/components/images/DeviceIcon/index.js new file mode 100644 index 00000000..4a1b7cc8 --- /dev/null +++ b/src/components/images/DeviceIcon/index.js @@ -0,0 +1,74 @@ +/* @flow */ + +import React from 'react'; +import PropTypes from 'prop-types'; +import COLORS from 'config/colors'; +import ICONS from 'config/icons'; +import styled from 'styled-components'; +import type { TrezorDevice } from 'flowtype'; + +type Props = { + device: TrezorDevice, + size?: number, + color?: string, + hoverColor?: string, + onClick?: any, +} + +const SvgWrapper = styled.svg` + :hover { + path { + fill: ${props => props.hoverColor} + } + } +`; + +const Path = styled.path` + fill: ${props => props.color}; +`; + +const getDeviceIcon = (majorVersion: number) => { + switch (majorVersion) { + case 1: + return ICONS.T1; + case 2: + return ICONS.T2; + default: + return ICONS.T2; + } +}; + +const DeviceIcon = ({ + device, + size = 32, + color = COLORS.TEXT_SECONDARY, + hoverColor, + onClick, +}: Props) => { + const majorVersion = device.features ? device.features.major_version : 2; + return ( + + + + ); +}; + +DeviceIcon.propTypes = { + device: PropTypes.object, + size: PropTypes.number, + color: PropTypes.string, + hoverColor: PropTypes.string, + onClick: PropTypes.func, +}; + +export default DeviceIcon; \ No newline at end of file From b09b5f854da507265205045244ec8eae3d7a774e Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 23 Jan 2019 16:05:24 +0100 Subject: [PATCH 098/219] swtich hardcoded T1 icons to DeviceIcon component --- src/components/modals/confirm/Action/index.js | 18 ++++++++++++++---- src/components/modals/confirm/SignTx/index.js | 5 ++--- src/components/modals/index.js | 4 ++-- src/components/modals/passphrase/Type/index.js | 5 ++--- .../DeviceMenu/components/MenuItems/index.js | 9 +++------ .../views/Account/Receive/ethereum/index.js | 6 ++---- .../views/Account/Receive/ripple/index.js | 6 ++---- 7 files changed, 27 insertions(+), 26 deletions(-) diff --git a/src/components/modals/confirm/Action/index.js b/src/components/modals/confirm/Action/index.js index f08427ad..ea510457 100644 --- a/src/components/modals/confirm/Action/index.js +++ b/src/components/modals/confirm/Action/index.js @@ -1,10 +1,15 @@ /* @flow */ import React from 'react'; +import PropTypes from 'prop-types'; import styled from 'styled-components'; import { H3 } from 'components/Heading'; -import ICONS from 'config/icons'; -import Icon from 'components/Icon'; +import DeviceIcon from 'components/images/DeviceIcon'; +import type { TrezorDevice } from 'flowtype'; + +type Props = { + device: TrezorDevice; +} const Wrapper = styled.div``; @@ -12,13 +17,18 @@ const Header = styled.div` padding: 48px; `; -const ConfirmAction = () => ( +const ConfirmAction = (props: Props) => (
- +

Confirm action on your Trezor

); +ConfirmAction.propTypes = { + device: PropTypes.object.isRequired, +}; + + export default ConfirmAction; \ No newline at end of file diff --git a/src/components/modals/confirm/SignTx/index.js b/src/components/modals/confirm/SignTx/index.js index ad9ccd86..8b12d2a8 100644 --- a/src/components/modals/confirm/SignTx/index.js +++ b/src/components/modals/confirm/SignTx/index.js @@ -4,12 +4,11 @@ import React from 'react'; import PropTypes from 'prop-types'; import styled from 'styled-components'; -import icons from 'config/icons'; import colors from 'config/colors'; import { LINE_HEIGHT, FONT_SIZE, FONT_WEIGHT } from 'config/variables'; import P from 'components/Paragraph'; -import Icon from 'components/Icon'; +import DeviceIcon from 'components/images/DeviceIcon'; import { H3 } from 'components/Heading'; import type { TrezorDevice, State } from 'flowtype'; @@ -71,7 +70,7 @@ const ConfirmSignTx = (props: Props) => { return (
- +

Confirm transaction on { props.device.label } device

Details are shown on display

diff --git a/src/components/modals/index.js b/src/components/modals/index.js index cd7edba8..519fc314 100644 --- a/src/components/modals/index.js +++ b/src/components/modals/index.js @@ -96,11 +96,11 @@ const getDeviceContextModal = (props: Props) => { } case 'ButtonRequest_ProtectCall': - return ; + return ; case 'ButtonRequest_Other': case 'ButtonRequest_ConfirmOutput': - return ; + return ; case RECEIVE.REQUEST_UNVERIFIED: return ( diff --git a/src/components/modals/passphrase/Type/index.js b/src/components/modals/passphrase/Type/index.js index fa44d5b1..0e62debb 100644 --- a/src/components/modals/passphrase/Type/index.js +++ b/src/components/modals/passphrase/Type/index.js @@ -4,10 +4,9 @@ import React from 'react'; import PropTypes from 'prop-types'; import styled from 'styled-components'; -import icons from 'config/icons'; import colors from 'config/colors'; -import Icon from 'components/Icon'; +import DeviceIcon from 'components/images/DeviceIcon'; import { H3 } from 'components/Heading'; import P from 'components/Paragraph'; @@ -27,7 +26,7 @@ const Header = styled.div``; const PassphraseType = (props: Props) => (
- +

Complete the action on { props.device.label } device

If you enter a wrong passphrase, you will not unlock the desired hidden wallet.

diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js index c39de5a8..e18bedfe 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/components/MenuItems/index.js @@ -2,6 +2,7 @@ import React, { PureComponent } from 'react'; import styled from 'styled-components'; import PropTypes from 'prop-types'; import Icon from 'components/Icon'; +import DeviceIcon from 'components/images/DeviceIcon'; import icons from 'config/icons'; import colors from 'config/colors'; @@ -77,11 +78,7 @@ class MenuItems extends PureComponent { {this.showClone() && ( this.onDeviceMenuClick('clone', this.props.device)}> - + )} @@ -89,7 +86,7 @@ class MenuItems extends PureComponent { this.onDeviceMenuClick('reload')} > - + )} diff --git a/src/views/Wallet/views/Account/Receive/ethereum/index.js b/src/views/Wallet/views/Account/Receive/ethereum/index.js index 34109886..f700b1a9 100644 --- a/src/views/Wallet/views/Account/Receive/ethereum/index.js +++ b/src/views/Wallet/views/Account/Receive/ethereum/index.js @@ -8,6 +8,7 @@ import Button from 'components/Button'; import Icon from 'components/Icon'; import Tooltip from 'components/Tooltip'; import Input from 'components/inputs/Input'; +import DeviceIcon from 'components/images/DeviceIcon'; import ICONS from 'config/icons'; import colors from 'config/colors'; @@ -131,10 +132,7 @@ const AccountReceive = (props: Props) => { isPartiallyHidden={isAddressHidden} trezorAction={isAddressVerifying ? ( - + Check address on your Trezor ) : null} diff --git a/src/views/Wallet/views/Account/Receive/ripple/index.js b/src/views/Wallet/views/Account/Receive/ripple/index.js index e439466a..dd59de81 100644 --- a/src/views/Wallet/views/Account/Receive/ripple/index.js +++ b/src/views/Wallet/views/Account/Receive/ripple/index.js @@ -8,6 +8,7 @@ import Button from 'components/Button'; import Icon from 'components/Icon'; import Tooltip from 'components/Tooltip'; import Input from 'components/inputs/Input'; +import DeviceIcon from 'components/images/DeviceIcon'; import ICONS from 'config/icons'; import colors from 'config/colors'; @@ -131,10 +132,7 @@ const AccountReceive = (props: Props) => { isPartiallyHidden={isAddressHidden} trezorAction={isAddressVerifying ? ( - + Check address on your Trezor ) : null} From 9df5e1c04e289be5466e3fc891d1a1f140ece7d7 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 18:43:58 +0100 Subject: [PATCH 099/219] add SCREEN_SIZE const --- src/config/variables.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/config/variables.js b/src/config/variables.js index 9ec9aa0a..48a7f1a3 100644 --- a/src/config/variables.js +++ b/src/config/variables.js @@ -1,3 +1,15 @@ +// Bootstrap 3 breakpoints +/* XS - Extra Small Devices, Phones */ +/* SM - Small Devices, Tablets */ +/* MD - Medium Devices, Desktops */ +/* LG - Large Devices, Wide Screens */ +export const SCREEN_SIZE = { + XS: '480px', + SM: '768px', + MD: '992px', + LG: '1170px', +}; + // OLD UNITS // SMALLEST: '10px', // SMALLER: '12px', @@ -13,7 +25,6 @@ // H3: '14px', // H4: '12px', // COUNTER: '11px', - export const FONT_SIZE = { SMALL: '0.8571rem', BASE: '1rem', From 99af843c801e20955ab113d390669a2bf9b0819a Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 18:44:25 +0100 Subject: [PATCH 100/219] add Backdrop component --- src/components/Backdrop/index.js | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/components/Backdrop/index.js diff --git a/src/components/Backdrop/index.js b/src/components/Backdrop/index.js new file mode 100644 index 00000000..328a7a40 --- /dev/null +++ b/src/components/Backdrop/index.js @@ -0,0 +1,37 @@ +import React from 'react'; +import styled, { css } from 'styled-components'; +import PropTypes from 'prop-types'; +import { FADE_IN } from 'config/animations'; + + +const StyledBackdrop = styled.div` + width: 100%; + height: 100%; + position: fixed; + z-index: 100; + left: 0; + top: 0; + background-color: rgba(0,0,0,0.5); + + ${props => props.animated && css` + animation: ${FADE_IN} 0.3s; + `}; +`; + +const Backdrop = ({ + className, + show, + animated, + onClick, +}) => ( + show ? : null +); + +Backdrop.propTypes = { + show: PropTypes.bool.isRequired, + className: PropTypes.string, + animated: PropTypes.bool, + onClick: PropTypes.func, +}; + +export default Backdrop; From 850ea18250512f882dde76f426929d0a692ceb46 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 18:44:43 +0100 Subject: [PATCH 101/219] add slide left/right animations --- src/config/animations.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/config/animations.js b/src/config/animations.js index c7fee813..29144b1c 100644 --- a/src/config/animations.js +++ b/src/config/animations.js @@ -80,4 +80,22 @@ export const SLIDE_DOWN = keyframes` 100% { transform: translateY(0%); } +`; + +export const SLIDE_RIGHT = keyframes` + 0% { + transform: translateX(-100%); + } + 100% { + transform: translateX(0%); + } +`; + +export const SLIDE_LEFT = keyframes` + 0% { + transform: translateX(0%); + } + 100% { + transform: translateX(-100%); + } `; \ No newline at end of file From 889ba4d0879d9a06d18aceaaa89f2a7ef07aedd8 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 18:45:05 +0100 Subject: [PATCH 102/219] fix padding for browser not supported page --- src/views/Landing/components/BrowserNotSupported/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/views/Landing/components/BrowserNotSupported/index.js b/src/views/Landing/components/BrowserNotSupported/index.js index 7e0b2d86..5ba7904a 100644 --- a/src/views/Landing/components/BrowserNotSupported/index.js +++ b/src/views/Landing/components/BrowserNotSupported/index.js @@ -8,7 +8,9 @@ import { H2 } from 'components/Heading'; import ChromeImage from 'images/browser-chrome.png'; import FirefoxImage from 'images/browser-firefox.png'; -const Wrapper = styled.div``; +const Wrapper = styled.div` + padding: 24px 0px; +`; const ChooseBrowserWrapper = styled.div` display: flex; From e29bfb3e78b96e0ed9ea5c07bb6bf8b8aaa8a45d Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 18:45:34 +0100 Subject: [PATCH 103/219] proper text-decoration instead of border-bottom on links --- src/components/Link/index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/Link/index.js b/src/components/Link/index.js index f6a62b84..49278e3a 100644 --- a/src/components/Link/index.js +++ b/src/components/Link/index.js @@ -12,10 +12,12 @@ const A = styled.a` font-size: ${FONT_SIZE.SMALL}; ${props => props.isGreen && css` - border-bottom: 1px solid ${colors.GREEN_PRIMARY}; + text-decoration: underline; + text-decoration-color: ${colors.GREEN_PRIMARY}; `} ${props => props.isGray && css` - border-bottom: 1px solid ${colors.TEXT_SECONDARY}; + text-decoration: underline; + text-decoration-color: ${colors.TEXT_SECONDARY}; `} &, From 4a60403fab2cd4d35a7082f884d7e8432957c40b Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 18:46:18 +0100 Subject: [PATCH 104/219] removed unnecessary wrapper in DeviceHeader --- src/components/DeviceHeader/index.js | 48 +++++++++++----------------- 1 file changed, 18 insertions(+), 30 deletions(-) diff --git a/src/components/DeviceHeader/index.js b/src/components/DeviceHeader/index.js index 0742e4e3..bd3e6b4e 100644 --- a/src/components/DeviceHeader/index.js +++ b/src/components/DeviceHeader/index.js @@ -18,8 +18,10 @@ const Wrapper = styled.div` z-index: 10; display: flex; align-items: center; + padding: 0px 25px; background: ${props => (props.disabled ? colors.GRAY_LIGHT : 'transparent')}; background: ${props => (props.isSelected ? colors.WHITE : 'transparent')}; + cursor: pointer; border-radius: 4px 0 0 0; box-shadow: ${props => (props.disabled ? 'none' : '0 3px 8px rgba(0, 0, 0, 0.04)')}; @@ -28,6 +30,10 @@ const Wrapper = styled.div` box-shadow: none; `} + ${props => props.disabled && css` + cursor: default; + `} + ${props => props.isHoverable && !props.disabled && css` &:hover { background: ${colors.GRAY_LIGHT}; @@ -35,19 +41,6 @@ const Wrapper = styled.div` `} `; -const ClickWrapper = styled.div` - width: 100%; - display: flex; - padding-left: 25px; - height: 100%; - align-items: center; - cursor: pointer; - - ${props => props.disabled && css` - cursor: default; - `} -`; - const LabelWrapper = styled.div` flex: 1 1 auto; padding-left: 18px; @@ -73,7 +66,6 @@ const Status = styled.div` `; const IconWrapper = styled.div` - padding-right: 25px; display: flex; flex: 1 0 0; justify-content: flex-end; @@ -115,23 +107,19 @@ const DeviceHeader = ({ isHoverable={isHoverable} disabled={disabled} className={className} + onClick={onClickWrapper} > - - - - - - - {device.instanceLabel} - {getStatusName(status)} - - - {icon && !disabled && isAccessible && icon} - - + + + + + + {device.instanceLabel} + {getStatusName(status)} + + + {icon && !disabled && isAccessible && icon} +
); }; From 8b8b22e95217d7e0c0447cfd239e4b5d9a68a02f Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 18:47:25 +0100 Subject: [PATCH 105/219] more responsive sign n verify component --- src/views/Wallet/views/Account/SignVerify/index.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/views/Wallet/views/Account/SignVerify/index.js b/src/views/Wallet/views/Account/SignVerify/index.js index 11e9b0fe..9b0c2516 100644 --- a/src/views/Wallet/views/Account/SignVerify/index.js +++ b/src/views/Wallet/views/Account/SignVerify/index.js @@ -7,6 +7,8 @@ import Title from 'views/Wallet/components/Title'; import Button from 'components/Button'; import Content from 'views/Wallet/components/Content'; import colors from 'config/colors'; +import { SCREEN_SIZE } from 'config/variables'; + import type { Props } from './Container'; @@ -14,6 +16,7 @@ const Wrapper = styled.div` display: flex; flex: 1; flex-direction: row; + flex-wrap: wrap; background: ${colors.WHITE}; `; @@ -52,14 +55,22 @@ const StyledButton = styled(Button)` const Column = styled.div` display: flex; - flex: 1; + flex: 1 1 50%; flex-direction: column; + + @media screen and (max-width: ${SCREEN_SIZE.XS}) { + flex: 1 1 100%; + } `; const Sign = styled(Column)``; const Verify = styled(Column)` padding-left: 20px; + + @media screen and (max-width: ${SCREEN_SIZE.XS}) { + padding-left: 0px; + } `; class SignVerify extends Component { From 782956b230e3028f3f0e99184160f90440d90884 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 18:47:42 +0100 Subject: [PATCH 106/219] responsive landing wrapper --- src/views/Landing/components/LandingWrapper/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/views/Landing/components/LandingWrapper/index.js b/src/views/Landing/components/LandingWrapper/index.js index 7b6dccd5..f1e00613 100644 --- a/src/views/Landing/components/LandingWrapper/index.js +++ b/src/views/Landing/components/LandingWrapper/index.js @@ -19,7 +19,6 @@ type Props = { const Wrapper = styled.div` min-height: 100%; - min-width: 720px; display: flex; flex-direction: column; From 4724e35b0451e03c2def59ea4dc70f6ea73867cb Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 18:48:01 +0100 Subject: [PATCH 107/219] responsive modals --- src/components/modals/confirm/Address/index.js | 2 +- src/components/modals/confirm/SignTx/index.js | 2 +- src/components/modals/confirm/UnverifiedAddress/index.js | 2 +- src/components/modals/device/WalletType/index.js | 1 - src/components/modals/passphrase/Type/index.js | 2 +- src/components/modals/pin/Pin/components/Button/index.js | 7 ++++++- 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/components/modals/confirm/Address/index.js b/src/components/modals/confirm/Address/index.js index 93c49404..568784cf 100644 --- a/src/components/modals/confirm/Address/index.js +++ b/src/components/modals/confirm/Address/index.js @@ -13,7 +13,7 @@ import P from 'components/Paragraph'; import type { Props } from '../../Container'; const Wrapper = styled.div` - width: 390px; + max-width: 390px; `; const Header = styled.div` diff --git a/src/components/modals/confirm/SignTx/index.js b/src/components/modals/confirm/SignTx/index.js index ad9ccd86..a5bbdf2b 100644 --- a/src/components/modals/confirm/SignTx/index.js +++ b/src/components/modals/confirm/SignTx/index.js @@ -20,7 +20,7 @@ type Props = { } const Wrapper = styled.div` - width: 390px; + max-width: 390px; `; const Header = styled.div` diff --git a/src/components/modals/confirm/UnverifiedAddress/index.js b/src/components/modals/confirm/UnverifiedAddress/index.js index 871068c0..e6f26592 100644 --- a/src/components/modals/confirm/UnverifiedAddress/index.js +++ b/src/components/modals/confirm/UnverifiedAddress/index.js @@ -30,7 +30,7 @@ const StyledLink = styled(Link)` `; const Wrapper = styled.div` - width: 370px; + max-width: 370px; padding: 30px 48px; `; diff --git a/src/components/modals/device/WalletType/index.js b/src/components/modals/device/WalletType/index.js index ca91bc99..349c7e1a 100644 --- a/src/components/modals/device/WalletType/index.js +++ b/src/components/modals/device/WalletType/index.js @@ -25,7 +25,6 @@ type Props = { } const Wrapper = styled.div` - width: 360px; `; const Header = styled.div` diff --git a/src/components/modals/passphrase/Type/index.js b/src/components/modals/passphrase/Type/index.js index fa44d5b1..422bb065 100644 --- a/src/components/modals/passphrase/Type/index.js +++ b/src/components/modals/passphrase/Type/index.js @@ -18,7 +18,7 @@ type Props = { } const Wrapper = styled.div` - width: 360px; + max-width: 360px; padding: 30px 48px; `; diff --git a/src/components/modals/pin/Pin/components/Button/index.js b/src/components/modals/pin/Pin/components/Button/index.js index 65b8c0a4..9f73ff6d 100644 --- a/src/components/modals/pin/Pin/components/Button/index.js +++ b/src/components/modals/pin/Pin/components/Button/index.js @@ -4,7 +4,7 @@ import * as React from 'react'; import styled from 'styled-components'; import PropTypes from 'prop-types'; import colors from 'config/colors'; -import { FONT_SIZE, FONT_WEIGHT } from 'config/variables'; +import { FONT_SIZE, FONT_WEIGHT, SCREEN_SIZE } from 'config/variables'; type Props = { onClick: () => void; @@ -24,6 +24,11 @@ const Wrapper = styled.button` transition: all 0.3s; cursor: pointer; + @media screen and (max-width: ${SCREEN_SIZE.XS}) { + width: 50px; + height: 50px; + } + &:first-child { margin-left: 0px; } From 81766f0a8f74a35b4299bcb777386171b2d99b67 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 18:48:37 +0100 Subject: [PATCH 108/219] more responsive top navigation --- .../components/TopNavigationAccount/index.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/views/Wallet/components/TopNavigationAccount/index.js b/src/views/Wallet/components/TopNavigationAccount/index.js index 5f9ae7cc..862ca5e3 100644 --- a/src/views/Wallet/components/TopNavigationAccount/index.js +++ b/src/views/Wallet/components/TopNavigationAccount/index.js @@ -2,7 +2,7 @@ import styled from 'styled-components'; import React from 'react'; -import { FONT_SIZE, FONT_WEIGHT } from 'config/variables'; +import { FONT_SIZE, FONT_WEIGHT, SCREEN_SIZE } from 'config/variables'; import { NavLink } from 'react-router-dom'; import { connect } from 'react-redux'; import colors from 'config/colors'; @@ -24,6 +24,11 @@ const Wrapper = styled.div` padding: 0px 30px 0 35px; overflow-y: hidden; overflow-x: auto; + + @media screen and (max-width: ${SCREEN_SIZE.SM}) { + justify-content: space-between; + padding: 0px 16px; + } `; const StyledNavLink = styled(NavLink)` @@ -34,6 +39,15 @@ const StyledNavLink = styled(NavLink)` padding: 20px 35px; white-space: nowrap; + @media screen and (max-width: ${SCREEN_SIZE.SM}) { + padding: 20px 10px; + } + + @media screen and (max-width: ${SCREEN_SIZE.XS}) { + font-size: ${FONT_SIZE.BASE}; + padding: 20px 10px; + } + &.active, &:hover { transition: all 0.3s ease-in-out; From bc38fd3ade5b67e5c757f46eb0b1b83bc39a4867 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 18:49:19 +0100 Subject: [PATCH 109/219] responsive ConnectDevice component --- src/views/Landing/components/ConnectDevice/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/views/Landing/components/ConnectDevice/index.js b/src/views/Landing/components/ConnectDevice/index.js index 450c9f3f..223317c2 100644 --- a/src/views/Landing/components/ConnectDevice/index.js +++ b/src/views/Landing/components/ConnectDevice/index.js @@ -26,7 +26,6 @@ const Wrapper = styled.div` display: flex; justify-content: space-around; align-items: center; - width: 400px; margin: 0 auto; padding: 36px 0; `; @@ -41,8 +40,9 @@ const ConnectTrezorWrapper = styled.div` `; const Image = styled.img` - width: 777px; - min-height: 500px; + width: 100%; + max-width: 777px; + height: auto; margin: auto; background-repeat: no-repeat; background-position: center 0px; From d80e10875400777d4a05732b9ad9fdf4f9970316 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 18:49:33 +0100 Subject: [PATCH 110/219] add responsive sidebar --- src/actions/WalletActions.js | 6 ++ src/actions/constants/wallet.js | 4 +- src/components/Header/index.js | 71 +++++++++++++++---- src/reducers/WalletReducer.js | 14 ++++ src/views/Wallet/components/Content/index.js | 6 +- .../components/MobileSidebar/index.js | 69 ++++++++++++++++++ .../Wallet/components/LeftNavigation/index.js | 10 ++- src/views/Wallet/index.js | 46 ++++++++---- 8 files changed, 197 insertions(+), 29 deletions(-) create mode 100644 src/views/Wallet/components/LeftNavigation/components/MobileSidebar/index.js diff --git a/src/actions/WalletActions.js b/src/actions/WalletActions.js index 9e5ea9f9..cfc23b12 100644 --- a/src/actions/WalletActions.js +++ b/src/actions/WalletActions.js @@ -40,6 +40,8 @@ export type WalletAction = { devices: Array } | { type: typeof WALLET.SHOW_BETA_DISCLAIMER | typeof WALLET.HIDE_BETA_DISCLAIMER | typeof WALLET.SET_FIRST_LOCATION_CHANGE, +} | { + type: typeof WALLET.TOGGLE_SIDEBAR, } export const init = (): ThunkAction => (dispatch: Dispatch): void => { @@ -62,6 +64,10 @@ export const toggleDeviceDropdown = (opened: boolean): WalletAction => ({ opened, }); +export const toggleSidebar = (): WalletAction => ({ + type: WALLET.TOGGLE_SIDEBAR, +}); + // This method will be called after each DEVICE.CONNECT action // if connected device has different "passphrase_protection" settings than saved instances // all saved instances will be removed immediately inside DevicesReducer diff --git a/src/actions/constants/wallet.js b/src/actions/constants/wallet.js index 04615371..40f0e914 100644 --- a/src/actions/constants/wallet.js +++ b/src/actions/constants/wallet.js @@ -10,4 +10,6 @@ export const UPDATE_SELECTED_DEVICE: 'wallet__update_selected_device' = 'wallet_ export const SHOW_BETA_DISCLAIMER: 'wallet__show_beta_disclaimer' = 'wallet__show_beta_disclaimer'; export const HIDE_BETA_DISCLAIMER: 'wallet__hide_beta_disclaimer' = 'wallet__hide_beta_disclaimer'; -export const CLEAR_UNAVAILABLE_DEVICE_DATA: 'wallet__clear_unavailable_device_data' = 'wallet__clear_unavailable_device_data'; \ No newline at end of file +export const CLEAR_UNAVAILABLE_DEVICE_DATA: 'wallet__clear_unavailable_device_data' = 'wallet__clear_unavailable_device_data'; + +export const TOGGLE_SIDEBAR: 'wallet__toggle_sidebar' = 'wallet__toggle_sidebar'; \ No newline at end of file diff --git a/src/components/Header/index.js b/src/components/Header/index.js index 823701a7..6c23f9f7 100644 --- a/src/components/Header/index.js +++ b/src/components/Header/index.js @@ -3,11 +3,15 @@ import React from 'react'; import styled from 'styled-components'; import { NavLink } from 'react-router-dom'; import colors from 'config/colors'; +import { SCREEN_SIZE } from 'config/variables'; +import type { toggleSidebar as toggleSidebarType } from 'actions/WalletActions'; const Wrapper = styled.header` width: 100%; height: 52px; background: ${colors.HEADER}; + overflow: hidden; + z-index: 200; svg { fill: ${colors.WHITE}; @@ -30,13 +34,47 @@ const LayoutWrapper = styled.div` } `; -const Left = styled.div` +const MenuToggler = styled.div` + display: none; + flex: 0 0 33%; + white-space: nowrap; + color: ${colors.WHITE}; + align-self: center; + cursor: pointer; + user-select: none; + padding: 10px 0px; + transition: all .1s ease-in; + + @media screen and (max-width: ${SCREEN_SIZE.SM}) { + display: initial; + } +`; + +const Logo = styled.div` flex: 1; - display: flex; justify-content: flex-start; + display: flex; + + @media screen and (max-width: ${SCREEN_SIZE.SM}) { + flex: 1 0 33%; + justify-content: center; + } `; -const Right = styled.div``; +const MenuLinks = styled.div` + flex: 0; + + @media screen and (max-width: ${SCREEN_SIZE.SM}) { + flex: 0 1 33%; + } +`; + +const Projects = styled.div` + + @media screen and (max-width: ${SCREEN_SIZE.SM}) { + display: none; + } +`; const A = styled.a` color: ${colors.WHITE}; @@ -58,10 +96,17 @@ const A = styled.a` } `; -const Header = (): React$Element => ( +type Props = { + sidebarOpened?: boolean, + toggleSidebar?: toggleSidebarType, + +}; + +const Header = ({ sidebarOpened, toggleSidebar }: Props) => ( - + {sidebarOpened ? '✕ Close' : '☰ Menu'} + @@ -73,13 +118,15 @@ const Header = (): React$Element => ( - - - Trezor - Wiki - Blog - Support - + + + + Trezor + Wiki + Blog + Support + + ); diff --git a/src/reducers/WalletReducer.js b/src/reducers/WalletReducer.js index 8f07dc6e..35df8b18 100644 --- a/src/reducers/WalletReducer.js +++ b/src/reducers/WalletReducer.js @@ -6,6 +6,7 @@ import { DEVICE, TRANSPORT } from 'trezor-connect'; import * as MODAL from 'actions/constants/modal'; import * as WALLET from 'actions/constants/wallet'; import * as CONNECT from 'actions/constants/TrezorConnect'; +import * as ACCOUNT from 'actions/constants/account'; import type { Action, RouterLocationState, TrezorDevice } from 'flowtype'; @@ -14,6 +15,7 @@ type State = { online: boolean; dropdownOpened: boolean; showBetaDisclaimer: boolean; + showSidebar: boolean; initialParams: ?RouterLocationState; initialPathname: ?string; firstLocationChange: boolean; @@ -27,6 +29,7 @@ const initialState: State = { dropdownOpened: false, firstLocationChange: true, showBetaDisclaimer: false, + showSidebar: true, initialParams: null, initialPathname: null, disconnectRequest: null, @@ -71,6 +74,11 @@ export default function wallet(state: State = initialState, action: Action): Sta ...state, dropdownOpened: false, }; + case ACCOUNT.UPDATE_SELECTED_ACCOUNT: + return { + ...state, + showSidebar: false, + }; case CONNECT.DISCONNECT_REQUEST: return { @@ -94,6 +102,12 @@ export default function wallet(state: State = initialState, action: Action): Sta selectedDevice: action.device, }; + case WALLET.TOGGLE_SIDEBAR: + return { + ...state, + showSidebar: !state.showSidebar, + }; + case WALLET.SHOW_BETA_DISCLAIMER: return { ...state, diff --git a/src/views/Wallet/components/Content/index.js b/src/views/Wallet/components/Content/index.js index 150b84ff..62e0bbcb 100644 --- a/src/views/Wallet/components/Content/index.js +++ b/src/views/Wallet/components/Content/index.js @@ -4,7 +4,7 @@ import * as React from 'react'; import PropTypes from 'prop-types'; import styled from 'styled-components'; import Loader from 'components/Loader'; -import { FONT_SIZE, FONT_WEIGHT } from 'config/variables'; +import { FONT_SIZE, FONT_WEIGHT, SCREEN_SIZE } from 'config/variables'; import { H1 } from 'components/Heading'; import P from 'components/Paragraph'; import colors from 'config/colors'; @@ -26,6 +26,10 @@ const Wrapper = styled.div` flex: 1; flex-direction: column; padding: 40px 35px 40px 35px; + + @media screen and (max-width: ${SCREEN_SIZE.SM}){ + padding: 20px 35px; + } `; const Loading = styled.div` diff --git a/src/views/Wallet/components/LeftNavigation/components/MobileSidebar/index.js b/src/views/Wallet/components/LeftNavigation/components/MobileSidebar/index.js new file mode 100644 index 00000000..7b9a0954 --- /dev/null +++ b/src/views/Wallet/components/LeftNavigation/components/MobileSidebar/index.js @@ -0,0 +1,69 @@ +/* @flow */ + +import * as React from 'react'; +import styled from 'styled-components'; +import colors from 'config/colors'; +import { SCREEN_SIZE } from 'config/variables'; +import { SLIDE_RIGHT, SLIDE_LEFT } from 'config/animations'; + + +type Props = { + children?: React.Node, + isOpen: boolean, +} + +type State = { + footerFixed: boolean, +} + +const AbsoluteWrapper = styled.aside` + width: 320px; + position: relative; + overflow-y: auto; + + background: ${colors.MAIN}; + border-top-left-radius: 4px; + border-right: 1px solid ${colors.DIVIDER}; + + @media screen and (max-width: ${SCREEN_SIZE.SM}) { + position: absolute; + height: calc(100% - 52px); + z-index: 200; + top: 52px; + animation: ${props => (props.isOpen ? SLIDE_RIGHT : SLIDE_LEFT)} 0.25s cubic-bezier(0.17, 0.04, 0.03, 0.94) forwards; + } + + @media screen and (max-width: ${SCREEN_SIZE.LG}) { + border-top-left-radius: 0px; + } + +`; + +const MobileSidebarWrapper = styled.div` + height: 100%; + display: flex; + flex-direction: column; +`; + +export default class MobileSidebar extends React.PureComponent { + constructor(props: Props) { + super(props); + this.state = { + footerFixed: false, + }; + } + + render() { + return ( + + + {React.Children.map(this.props.children, (child) => { // eslint-disable-line arrow-body-style + return child.key === 'sticky-footer' ? React.cloneElement(child, { + position: this.state.footerFixed ? 'fixed' : 'relative', + }) : child; + })} + + + ); + } +} \ No newline at end of file diff --git a/src/views/Wallet/components/LeftNavigation/index.js b/src/views/Wallet/components/LeftNavigation/index.js index 5a2e7e83..e2139098 100644 --- a/src/views/Wallet/components/LeftNavigation/index.js +++ b/src/views/Wallet/components/LeftNavigation/index.js @@ -15,12 +15,13 @@ import * as deviceUtils from 'utils/device'; import AccountMenu from './components/AccountMenu'; import CoinMenu from './components/CoinMenu'; import DeviceMenu from './components/DeviceMenu'; -import StickyContainer from './components/StickyContainer'; +import MobileSidebar from './components/MobileSidebar'; import type { Props } from './components/common'; const Header = styled(DeviceHeader)` border-right: 1px solid ${colors.BACKGROUND}; + flex: 0 0 auto; `; const Counter = styled.div` @@ -56,6 +57,7 @@ const Footer = styled.div.attrs(props => ({ `; const Body = styled.div` + flex: 1 0 auto; width: 320px; min-height: ${props => (props.minHeight ? `${props.minHeight}px` : '0px')}; `; @@ -201,8 +203,10 @@ class LeftNavigation extends React.PureComponent { const { selectedDevice, dropdownOpened } = props.wallet; const isDeviceAccessible = deviceUtils.isDeviceAccessible(selectedDevice); + const SidebarComponent = MobileSidebar; return ( - @@ -249,7 +253,7 @@ class LeftNavigation extends React.PureComponent {
-
+ ); } } diff --git a/src/views/Wallet/index.js b/src/views/Wallet/index.js index f6063eb9..36888d8e 100644 --- a/src/views/Wallet/index.js +++ b/src/views/Wallet/index.js @@ -6,35 +6,44 @@ import styled from 'styled-components'; import { connect } from 'react-redux'; import { Route, withRouter } from 'react-router-dom'; -import type { MapStateToProps } from 'react-redux'; +import type { MapStateToProps, MapDispatchToProps } from 'react-redux'; import type { State } from 'flowtype'; +import type { WalletAction } from 'actions/WalletActions'; +import { toggleSidebar } from 'actions/WalletActions'; +import { bindActionCreators } from 'redux'; + import Header from 'components/Header'; import Footer from 'components/Footer'; import ModalContainer from 'components/modals/Container'; import AppNotifications from 'components/notifications/App'; import ContextNotifications from 'components/notifications/Context'; +import { SCREEN_SIZE } from 'config/variables'; + import Log from 'components/Log'; +import Backdrop from 'components/Backdrop'; import LeftNavigation from './components/LeftNavigation/Container'; import TopNavigationAccount from './components/TopNavigationAccount'; import TopNavigationDeviceSettings from './components/TopNavigationDeviceSettings'; - -type WalletContainerProps = { +type StateProps = { wallet: $ElementType, - children?: React.Node + children?: React.Node, } -// type ContentProps = { -// children?: React.Node -// } +type DispatchProps = { + toggleSidebar: WalletAction, +}; + +type OwnProps = {}; + +export type Props = StateProps & DispatchProps; const AppWrapper = styled.div` position: relative; min-height: 100%; - min-width: 720px; display: flex; flex-direction: column; background: ${colors.BACKGROUND}; @@ -87,11 +96,20 @@ const Body = styled.div` flex-direction: column; `; -const Wallet = (props: WalletContainerProps) => ( +const StyledBackdrop = styled(Backdrop)` + display: none; + + @media screen and (max-width: ${SCREEN_SIZE.SM}) { + display: initial; + } +`; + +const Wallet = (props: Props) => ( -
+
+ {props.wallet.selectedDevice && } @@ -110,10 +128,14 @@ const Wallet = (props: WalletContainerProps) => ( ); -const mapStateToProps: MapStateToProps = (state: State): WalletContainerProps => ({ +const mapStateToProps: MapStateToProps = (state: State): StateProps => ({ wallet: state.wallet, }); +const mapDispatchToProps: MapDispatchToProps = (dispatch: Dispatch): DispatchProps => ({ + toggleSidebar: bindActionCreators(toggleSidebar, dispatch), +}); + export default withRouter( - connect(mapStateToProps, null)(Wallet), + connect(mapStateToProps, mapDispatchToProps)(Wallet), ); From cac5b730729329a257d717b14b6f2f91f9539101 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 24 Jan 2019 22:46:23 +0100 Subject: [PATCH 111/219] dont show menu toggler on landing page, fix padding --- src/components/Header/index.js | 17 ++++++++++++++--- .../Landing/components/ConnectDevice/index.js | 8 ++++++-- src/views/Wallet/index.js | 2 +- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/components/Header/index.js b/src/components/Header/index.js index 6c23f9f7..ec5a767f 100644 --- a/src/components/Header/index.js +++ b/src/components/Header/index.js @@ -34,9 +34,17 @@ const LayoutWrapper = styled.div` } `; -const MenuToggler = styled.div` +const Left = styled.div` display: none; flex: 0 0 33%; + + @media screen and (max-width: ${SCREEN_SIZE.SM}) { + display: initial; + } +`; + +const MenuToggler = styled.div` + display: none; white-space: nowrap; color: ${colors.WHITE}; align-self: center; @@ -97,15 +105,18 @@ const A = styled.a` `; type Props = { + sidebarEnabled?: boolean, sidebarOpened?: boolean, toggleSidebar?: toggleSidebarType, }; -const Header = ({ sidebarOpened, toggleSidebar }: Props) => ( +const Header = ({ sidebarEnabled, sidebarOpened, toggleSidebar }: Props) => ( - {sidebarOpened ? '✕ Close' : '☰ Menu'} + + { sidebarEnabled && {sidebarOpened ? '✕ Close' : '☰ Menu'}} + diff --git a/src/views/Landing/components/ConnectDevice/index.js b/src/views/Landing/components/ConnectDevice/index.js index 223317c2..7e374544 100644 --- a/src/views/Landing/components/ConnectDevice/index.js +++ b/src/views/Landing/components/ConnectDevice/index.js @@ -18,6 +18,10 @@ type Props = { showDisconnect: boolean, }; +const StyledConnectDevice = styled.div` + padding: 0px 48px; +`; + const Title = styled.div` margin-top: 60px; `; @@ -105,7 +109,7 @@ class ConnectDevice extends PureComponent { render() { return ( -
+ <H2 claim>The private bank in your hands.</H2> <P>Trezor Wallet is an easy-to-use interface for your Trezor.</P> @@ -156,7 +160,7 @@ class ConnectDevice extends PureComponent<Props> { </StyledLink> </P> </Footer> - </div> + </StyledConnectDevice> ); } } diff --git a/src/views/Wallet/index.js b/src/views/Wallet/index.js index 36888d8e..52a977c1 100644 --- a/src/views/Wallet/index.js +++ b/src/views/Wallet/index.js @@ -106,7 +106,7 @@ const StyledBackdrop = styled(Backdrop)` const Wallet = (props: Props) => ( <AppWrapper> - <Header sidebarOpened={props.wallet.showSidebar} toggleSidebar={props.toggleSidebar} /> + <Header sidebarEnabled={!!props.wallet.selectedDevice} sidebarOpened={props.wallet.showSidebar} toggleSidebar={props.toggleSidebar} /> <AppNotifications /> <WalletWrapper> <StyledBackdrop show={props.wallet.showSidebar} onClick={props.toggleSidebar} animated /> From 58374ca17adf6a22869c8354a59f83e9929b3e4b Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Thu, 24 Jan 2019 23:11:53 +0100 Subject: [PATCH 112/219] responsive landing initialization error --- src/views/Landing/components/InitializationError/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/views/Landing/components/InitializationError/index.js b/src/views/Landing/components/InitializationError/index.js index b2e64961..188e6a3b 100644 --- a/src/views/Landing/components/InitializationError/index.js +++ b/src/views/Landing/components/InitializationError/index.js @@ -5,7 +5,6 @@ import styled from 'styled-components'; import Notification from 'components/Notification'; const Wrapper = styled.div` - min-width: 720px; width: 100%; `; From f57acdde465354212725c5635a0962f713084ed2 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Thu, 24 Jan 2019 23:12:08 +0100 Subject: [PATCH 113/219] responsive import tool --- src/views/Landing/views/Import/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/views/Landing/views/Import/index.js b/src/views/Landing/views/Import/index.js index 43b35b52..e4b0fe11 100644 --- a/src/views/Landing/views/Import/index.js +++ b/src/views/Landing/views/Import/index.js @@ -13,7 +13,6 @@ import Button from 'components/Button'; import LandingWrapper from 'views/Landing/components/LandingWrapper'; const Wrapper = styled.div` - min-width: 720px; width: 100%; display: flex; flex-direction: column; From c6edc8a4af05ec38389b90139e306f6f215f85ed Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Thu, 24 Jan 2019 23:22:28 +0100 Subject: [PATCH 114/219] center add token info message --- .../Account/Summary/components/AddTokenMessage/index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/views/Wallet/views/Account/Summary/components/AddTokenMessage/index.js b/src/views/Wallet/views/Account/Summary/components/AddTokenMessage/index.js index 1167de60..3c0e06c4 100644 --- a/src/views/Wallet/views/Account/Summary/components/AddTokenMessage/index.js +++ b/src/views/Wallet/views/Account/Summary/components/AddTokenMessage/index.js @@ -16,6 +16,10 @@ const StyledSVG = styled.svg` margin-bottom: 24px; `; +const StyledP = styled(P)` + text-align: center; +`; + const AddTokenMessage = () => ( <Wrapper> <StyledSVG width="84px" height="76px" viewBox="0 0 84 76"> @@ -51,7 +55,7 @@ const AddTokenMessage = () => ( </g> </StyledSVG> <H2>Add your tokens</H2> - <P isSmaller>Search for the token or add them manually by pasting token address into search input.</P> + <StyledP isSmaller>Search for the token or add them manually by pasting token address into search input.</StyledP> </Wrapper> ); export default AddTokenMessage; \ No newline at end of file From 4f30014050ac6c2f91e43aacf75feaf4f1e2e934 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Thu, 24 Jan 2019 23:37:14 +0100 Subject: [PATCH 115/219] remove margin around coin logo in the Summary tab --- src/views/Wallet/views/Account/Summary/ethereum/index.js | 8 ++------ src/views/Wallet/views/Account/Summary/ripple/index.js | 6 +----- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/views/Wallet/views/Account/Summary/ethereum/index.js b/src/views/Wallet/views/Account/Summary/ethereum/index.js index e7cc7cc2..63f00a5d 100644 --- a/src/views/Wallet/views/Account/Summary/ethereum/index.js +++ b/src/views/Wallet/views/Account/Summary/ethereum/index.js @@ -50,10 +50,6 @@ const AccountTitle = styled.div` color: ${colors.WALLET_TITLE}; `; -const StyledCoinLogo = styled(CoinLogo)` - margin-right: 10px; -`; - const StyledIcon = styled(Icon)` position: relative; top: -7px; @@ -93,7 +89,7 @@ const AccountSummary = (props: Props) => { <React.Fragment> <AccountHeading> <AccountName> - <StyledCoinLogo network={account.network} /> + <CoinLogo network={account.network} /> <AccountTitle>Account #{parseInt(account.index, 10) + 1}</AccountTitle> </AccountName> <Link href={explorerLink} isGray>See full transaction history</Link> @@ -123,7 +119,7 @@ const AccountSummary = (props: Props) => { defaultOptions value={null} isMulti={false} - placeholder="Type in a token name or paste a token address directly" + placeholder="Type in a token name or a token address" loadingMessage={() => 'Loading...'} noOptionsMessage={() => 'Token not found'} onChange={(token) => { diff --git a/src/views/Wallet/views/Account/Summary/ripple/index.js b/src/views/Wallet/views/Account/Summary/ripple/index.js index 01242056..8c1e6a6a 100644 --- a/src/views/Wallet/views/Account/Summary/ripple/index.js +++ b/src/views/Wallet/views/Account/Summary/ripple/index.js @@ -47,10 +47,6 @@ const AccountTitle = styled.div` color: ${colors.WALLET_TITLE}; `; -const StyledCoinLogo = styled(CoinLogo)` - margin-right: 10px; -`; - const StyledIcon = styled(Icon)` position: relative; top: -7px; @@ -86,7 +82,7 @@ const AccountSummary = (props: Props) => { <React.Fragment> <AccountHeading> <AccountName> - <StyledCoinLogo network={account.network} /> + <CoinLogo network={account.network} /> <AccountTitle>Account #{parseInt(account.index, 10) + 1}</AccountTitle> </AccountName> { !account.empty && <Link href={explorerLink} isGray>See full transaction history</Link> } From 82e6658278ea3992f175b10ecc555e76694f419f Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Thu, 24 Jan 2019 23:37:31 +0100 Subject: [PATCH 116/219] fix padding when balance is hidden --- .../Wallet/views/Account/Summary/components/Balance/index.js | 4 ++-- .../views/Account/Summary/ripple/components/Balance/index.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/views/Wallet/views/Account/Summary/components/Balance/index.js b/src/views/Wallet/views/Account/Summary/components/Balance/index.js index 960007b2..b0974e6d 100644 --- a/src/views/Wallet/views/Account/Summary/components/Balance/index.js +++ b/src/views/Wallet/views/Account/Summary/components/Balance/index.js @@ -21,7 +21,7 @@ type State = { }; const Wrapper = styled.div` - padding-bottom: 28px; + padding-bottom: ${props => (props.isHidden ? '0px' : '28px')}; position: relative; display: flex; @@ -116,7 +116,7 @@ class AccountBalance extends PureComponent<Props, State> { } return ( - <Wrapper> + <Wrapper isHidden={this.state.isHidden}> <HideBalanceIconWrapper onClick={() => this.handleHideBalanceIconClick()} > diff --git a/src/views/Wallet/views/Account/Summary/ripple/components/Balance/index.js b/src/views/Wallet/views/Account/Summary/ripple/components/Balance/index.js index f31a9c5e..e337cb63 100644 --- a/src/views/Wallet/views/Account/Summary/ripple/components/Balance/index.js +++ b/src/views/Wallet/views/Account/Summary/ripple/components/Balance/index.js @@ -22,7 +22,7 @@ type State = { }; const Wrapper = styled.div` - padding-bottom: 28px; + padding-bottom: ${props => (props.isHidden ? '0px' : '28px')}; position: relative; display: flex; @@ -117,7 +117,7 @@ class AccountBalance extends PureComponent<Props, State> { } return ( - <Wrapper> + <Wrapper isHidden={this.state.isHidden}> <HideBalanceIconWrapper onClick={() => this.handleHideBalanceIconClick()} > From 672e82c376eedad33e71c488fcf09fcbdd7626b8 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Fri, 25 Jan 2019 11:31:52 +0100 Subject: [PATCH 117/219] fix horizontal overflow in ff --- .../components/LeftNavigation/components/MobileSidebar/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/Wallet/components/LeftNavigation/components/MobileSidebar/index.js b/src/views/Wallet/components/LeftNavigation/components/MobileSidebar/index.js index 7b9a0954..9144fca2 100644 --- a/src/views/Wallet/components/LeftNavigation/components/MobileSidebar/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/MobileSidebar/index.js @@ -25,6 +25,8 @@ const AbsoluteWrapper = styled.aside` border-top-left-radius: 4px; border-right: 1px solid ${colors.DIVIDER}; + overflow-x: hidden; + @media screen and (max-width: ${SCREEN_SIZE.SM}) { position: absolute; height: calc(100% - 52px); From a22fd911bf395e9b82a26858b57a4693307c828e Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Fri, 25 Jan 2019 11:44:39 +0100 Subject: [PATCH 118/219] smaller padding for notification buttons on <SM screens --- .../Notification/components/NotificationButton/index.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/components/Notification/components/NotificationButton/index.js b/src/components/Notification/components/NotificationButton/index.js index 9d001380..f2e9fcf6 100644 --- a/src/components/Notification/components/NotificationButton/index.js +++ b/src/components/Notification/components/NotificationButton/index.js @@ -8,7 +8,9 @@ import colors from 'config/colors'; import { WHITE_COLOR } from 'config/animations'; import { getPrimaryColor } from 'utils/notification'; import Loader from 'components/Loader'; -import { TRANSITION, FONT_SIZE, FONT_WEIGHT } from 'config/variables'; +import { + TRANSITION, FONT_SIZE, FONT_WEIGHT, SCREEN_SIZE, +} from 'config/variables'; type Props = { type: string; @@ -48,6 +50,10 @@ const Wrapper = styled.button` border: 1px solid ${props => getPrimaryColor(props.type)}; transition: ${TRANSITION.HOVER}; + @media screen and (max-width: ${SCREEN_SIZE.SM}){ + padding: 12px 24px; + } + &:hover { color: ${colors.WHITE}; background: ${props => getPrimaryColor(props.type)}; From ce38002b846306ec0edf70050973dda35fb49e58 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Fri, 25 Jan 2019 11:48:26 +0100 Subject: [PATCH 119/219] more responsive topnavigation --- src/views/Wallet/components/TopNavigationAccount/index.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/views/Wallet/components/TopNavigationAccount/index.js b/src/views/Wallet/components/TopNavigationAccount/index.js index 862ca5e3..94977803 100644 --- a/src/views/Wallet/components/TopNavigationAccount/index.js +++ b/src/views/Wallet/components/TopNavigationAccount/index.js @@ -25,8 +25,11 @@ const Wrapper = styled.div` overflow-y: hidden; overflow-x: auto; - @media screen and (max-width: ${SCREEN_SIZE.SM}) { + @media screen and (max-width: ${SCREEN_SIZE.MD}) { justify-content: space-between; + } + + @media screen and (max-width: ${SCREEN_SIZE.SM}) { padding: 0px 16px; } `; @@ -39,7 +42,7 @@ const StyledNavLink = styled(NavLink)` padding: 20px 35px; white-space: nowrap; - @media screen and (max-width: ${SCREEN_SIZE.SM}) { + @media screen and (max-width: ${SCREEN_SIZE.MD}) { padding: 20px 10px; } From b9edb4abc809ff6c8582e556c0b40ee81e3d207b Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Fri, 25 Jan 2019 12:44:35 +0100 Subject: [PATCH 120/219] fix device connect wrapper on landing page --- .../Landing/components/ConnectDevice/index.js | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/views/Landing/components/ConnectDevice/index.js b/src/views/Landing/components/ConnectDevice/index.js index 7e374544..c07a83e4 100644 --- a/src/views/Landing/components/ConnectDevice/index.js +++ b/src/views/Landing/components/ConnectDevice/index.js @@ -8,7 +8,7 @@ import Button from 'components/Button'; import { H2 } from 'components/Heading'; import { PULSATE } from 'config/animations'; import colors from 'config/colors'; -import { FONT_SIZE, FONT_WEIGHT } from 'config/variables'; +import { FONT_SIZE, FONT_WEIGHT, SCREEN_SIZE } from 'config/variables'; import CaseImage from 'images/macbook.png'; import Link from 'components/Link'; @@ -28,21 +28,35 @@ const Title = styled.div` const Wrapper = styled.div` display: flex; - justify-content: space-around; align-items: center; margin: 0 auto; padding: 36px 0; + justify-content: center; + + @media screen and (max-width: ${SCREEN_SIZE.SM}) { + align-content: center; + flex-direction: column; + } `; const ConnectTrezorWrapper = styled.div` position: relative; top: 1px; + margin: 10px 10px 0px 10px; animation: ${PULSATE} 1.3s ease-out infinite; color: ${colors.GREEN_PRIMARY}; font-size: ${FONT_SIZE.BIG}; font-weight: ${FONT_WEIGHT.MEDIUM}; `; +const StyledP = styled(P)` + margin: 10px 10px 0px 10px; +`; + +const StyledButton = styled(Button)` + margin: 10px 10px 0px 10px; +`; + const Image = styled.img` width: 100%; max-width: 777px; @@ -128,10 +142,10 @@ class ConnectDevice extends PureComponent<Props> { </ConnectTrezorWrapper> {this.props.showWebUsb && !this.props.showDisconnect && ( <React.Fragment> - <P>and</P> - <Button isWebUsb> + <StyledP>and</StyledP> + <StyledButton isWebUsb> Check for devices - </Button> + </StyledButton> </React.Fragment> )} </Wrapper> From 607fa9ff6653901ce19b113519296861f51dffbd Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Fri, 25 Jan 2019 12:58:32 +0100 Subject: [PATCH 121/219] fix line height in webusb connectdevice message --- src/views/Landing/components/ConnectDevice/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/views/Landing/components/ConnectDevice/index.js b/src/views/Landing/components/ConnectDevice/index.js index c07a83e4..0e417cff 100644 --- a/src/views/Landing/components/ConnectDevice/index.js +++ b/src/views/Landing/components/ConnectDevice/index.js @@ -42,7 +42,7 @@ const Wrapper = styled.div` const ConnectTrezorWrapper = styled.div` position: relative; top: 1px; - margin: 10px 10px 0px 10px; + margin: 15px 15px 0px 15px; animation: ${PULSATE} 1.3s ease-out infinite; color: ${colors.GREEN_PRIMARY}; font-size: ${FONT_SIZE.BIG}; @@ -50,11 +50,12 @@ const ConnectTrezorWrapper = styled.div` `; const StyledP = styled(P)` - margin: 10px 10px 0px 10px; + line-height: auto; + margin: 15px 15px 0px 15px; `; const StyledButton = styled(Button)` - margin: 10px 10px 0px 10px; + margin: 15px 15px 5px 15px; `; const Image = styled.img` From 1931ccbe80697b7ce222250ea96adcfa61719b5a Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Fri, 25 Jan 2019 14:07:12 +0100 Subject: [PATCH 122/219] centered title in content loader --- src/views/Wallet/components/Content/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/Wallet/components/Content/index.js b/src/views/Wallet/components/Content/index.js index 62e0bbcb..3cfbd133 100644 --- a/src/views/Wallet/components/Content/index.js +++ b/src/views/Wallet/components/Content/index.js @@ -45,6 +45,7 @@ const Title = styled(H1)` font-weight: ${FONT_WEIGHT.NORMAL}; color: ${props => (props.type === 'progress' ? colors.TEXT_SECONDARY : '')}; margin-left: 10px; + text-align: center; `; const Message = styled(P)` From 44323a690e01c26bdcf48a07e8933e4ab22fac39 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Fri, 25 Jan 2019 14:46:34 +0100 Subject: [PATCH 123/219] set z-index for device menu --- .../components/LeftNavigation/components/DeviceMenu/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js index 4797b422..0929ff93 100644 --- a/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/DeviceMenu/index.js @@ -19,6 +19,7 @@ import Divider from '../Divider'; const Wrapper = styled.div` position: absolute; + z-index: 1; width: 100%; padding-bottom: 8px; border-bottom: 1px solid #E3E3E3; From 9a3d2ece4d7a59b49491748c394f88c765eed668 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Fri, 25 Jan 2019 15:12:44 +0100 Subject: [PATCH 124/219] responsive InstallBridge landing page --- src/views/Landing/views/InstallBridge/index.js | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/views/Landing/views/InstallBridge/index.js b/src/views/Landing/views/InstallBridge/index.js index d2f7f3c0..3eb65953 100644 --- a/src/views/Landing/views/InstallBridge/index.js +++ b/src/views/Landing/views/InstallBridge/index.js @@ -6,7 +6,7 @@ import colors from 'config/colors'; import { FONT_SIZE, FONT_WEIGHT } from 'config/variables'; import { Select } from 'components/Select'; import Link from 'components/Link'; -import { H1 } from 'components/Heading'; +import { H1, H2 } from 'components/Heading'; import Button from 'components/Button'; import P from 'components/Paragraph'; import Icon from 'components/Icon'; @@ -42,6 +42,7 @@ const Wrapper = styled.div` justify-content: center; align-items: center; max-width: 500px; + padding: 0 24px; `; const Top = styled.div` @@ -62,6 +63,7 @@ const TitleHeader = styled(H1)` font-size: ${FONT_SIZE.HUGE}; justify-content: center; align-items: center; + flex-wrap: wrap; `; const Version = styled.span` @@ -81,12 +83,15 @@ const LearnMoreText = styled.span` const SelectWrapper = styled(Select)` margin-right: 10px; width: 180px; + margin-bottom: 5px; `; const Download = styled.div` margin: 24px auto; display: flex; align-items: center; + flex-wrap: wrap; + justify-content: center; `; const DownloadBridgeButton = styled(Button)` @@ -94,6 +99,7 @@ const DownloadBridgeButton = styled(Button)` padding-bottom: 5px; display: flex; align-items: center; + margin-bottom: 5px; `; const GoBack = styled.span` @@ -110,7 +116,7 @@ const Ol = styled.ul` margin: 0 auto; color: ${colors.TEXT_SECONDARY}; font-size: ${FONT_SIZE.BIG}; - padding: 10px 0 15px 25px; + padding: 0px 0 15px 25px; text-align: left; `; @@ -175,6 +181,7 @@ class InstallBridge extends PureComponent<Props, State> { </DownloadBridgeButton> </Link> </Download> + <H2>Changelog</H2> <Ol> {this.props.transport.bridge.changelog.map(entry => ( <Li key={entry}>{entry}</Li> From 06343ac2a2f2f85cb6a5dba1c0f3ac21027715a7 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Fri, 25 Jan 2019 18:48:28 +0100 Subject: [PATCH 125/219] centered title in bootloader, device and wallet settings --- src/views/Wallet/views/Bootloader/index.js | 6 +++++- src/views/Wallet/views/DeviceSettings/index.js | 6 +++++- src/views/Wallet/views/WalletSettings/index.js | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/views/Wallet/views/Bootloader/index.js b/src/views/Wallet/views/Bootloader/index.js index d82a7a2a..2b10dfd9 100644 --- a/src/views/Wallet/views/Bootloader/index.js +++ b/src/views/Wallet/views/Bootloader/index.js @@ -22,10 +22,14 @@ const StyledP = styled(P)` text-align: center; `; +const StyledH1 = styled(H1)` + text-align: center; +`; + const Bootloader = () => ( <Wrapper> <Row> - <H1>Your device is in firmware update mode</H1> + <StyledH1>Your device is in firmware update mode</StyledH1> <StyledP>Please re-connect it</StyledP> </Row> </Wrapper> diff --git a/src/views/Wallet/views/DeviceSettings/index.js b/src/views/Wallet/views/DeviceSettings/index.js index 4dbc1546..019a6fbe 100644 --- a/src/views/Wallet/views/DeviceSettings/index.js +++ b/src/views/Wallet/views/DeviceSettings/index.js @@ -28,6 +28,10 @@ const StyledP = styled(P)` text-align: center; `; +const StyledH1 = styled(H1)` + text-align: center; +`; + const DeviceSettings = () => ( <Content> <Section> @@ -37,7 +41,7 @@ const DeviceSettings = () => ( color={colors.WARNING_PRIMARY} icon={ICONS.WARNING} /> - <H1>Device settings is under construction</H1> + <StyledH1>Device settings is under construction</StyledH1> <StyledP>Please use Bitcoin wallet interface to change your device settings</StyledP> <Link href="https://beta-wallet.trezor.io/"> <Button>Take me to the Bitcoin wallet</Button> diff --git a/src/views/Wallet/views/WalletSettings/index.js b/src/views/Wallet/views/WalletSettings/index.js index 5f2b3c66..bfdcfe62 100644 --- a/src/views/Wallet/views/WalletSettings/index.js +++ b/src/views/Wallet/views/WalletSettings/index.js @@ -23,6 +23,10 @@ const Row = styled.div` padding: 50px 0; `; +const StyledH1 = styled(H1)` + text-align: center; +`; + const WalletSettings = () => ( <Content> <Section> @@ -32,7 +36,7 @@ const WalletSettings = () => ( color={colors.WARNING_PRIMARY} icon={icons.WARNING} /> - <H1>Wallet settings is under construction</H1> + <StyledH1>Wallet settings is under construction</StyledH1> <Link to="/"> <Button>Take me back</Button> </Link> From ea2f8993b0d2df9dc7a10c1e5dd9b02b7ec2f404 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Sat, 26 Jan 2019 00:08:01 +0100 Subject: [PATCH 126/219] code cleanup --- .../{MobileSidebar => Sidebar}/index.js | 21 +- .../components/StickyContainer/index.js | 189 ------------------ .../Wallet/components/LeftNavigation/index.js | 11 +- 3 files changed, 8 insertions(+), 213 deletions(-) rename src/views/Wallet/components/LeftNavigation/components/{MobileSidebar => Sidebar}/index.js (63%) delete mode 100644 src/views/Wallet/components/LeftNavigation/components/StickyContainer/index.js diff --git a/src/views/Wallet/components/LeftNavigation/components/MobileSidebar/index.js b/src/views/Wallet/components/LeftNavigation/components/Sidebar/index.js similarity index 63% rename from src/views/Wallet/components/LeftNavigation/components/MobileSidebar/index.js rename to src/views/Wallet/components/LeftNavigation/components/Sidebar/index.js index 9144fca2..354de4c9 100644 --- a/src/views/Wallet/components/LeftNavigation/components/MobileSidebar/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/Sidebar/index.js @@ -41,30 +41,19 @@ const AbsoluteWrapper = styled.aside` `; -const MobileSidebarWrapper = styled.div` +const SidebarWrapper = styled.div` height: 100%; display: flex; flex-direction: column; `; -export default class MobileSidebar extends React.PureComponent<Props, State> { - constructor(props: Props) { - super(props); - this.state = { - footerFixed: false, - }; - } - +export default class Sidebar extends React.PureComponent<Props, State> { render() { return ( <AbsoluteWrapper isOpen={this.props.isOpen}> - <MobileSidebarWrapper> - {React.Children.map(this.props.children, (child) => { // eslint-disable-line arrow-body-style - return child.key === 'sticky-footer' ? React.cloneElement(child, { - position: this.state.footerFixed ? 'fixed' : 'relative', - }) : child; - })} - </MobileSidebarWrapper> + <SidebarWrapper> + {this.props.children} + </SidebarWrapper> </AbsoluteWrapper> ); } diff --git a/src/views/Wallet/components/LeftNavigation/components/StickyContainer/index.js b/src/views/Wallet/components/LeftNavigation/components/StickyContainer/index.js deleted file mode 100644 index 2362ac81..00000000 --- a/src/views/Wallet/components/LeftNavigation/components/StickyContainer/index.js +++ /dev/null @@ -1,189 +0,0 @@ -/* @flow */ - -import * as React from 'react'; -import raf from 'raf'; -import { getViewportHeight, getScrollX, getScrollY } from 'utils/windowUtils'; -import styled from 'styled-components'; -import colors from 'config/colors'; - -type Props = { - children?: React.Node, -} - -type State = { - prevScrollY: number; - asideMinHeight: number, - wrapperTopOffset: number, - wrapperLeftOffset: number, - wrapperBottomPadding: number, - footerFixed: boolean, -} - -const AsideWrapper = styled.aside.attrs(props => ({ - style: { minHeight: props.minHeight }, -}))` - - position: relative; - top: 0px; - width: 320px; - min-width: 320px; - overflow: hidden; - background: ${colors.MAIN}; - border-right: 1px solid ${colors.DIVIDER}; - border-top-left-radius: 4px; - - @media screen and (max-width: 1170px) { - border-top-left-radius: 0px; - } -`; - -const StickyContainerWrapper = styled.div.attrs(props => ({ - style: { - top: props.top, - left: props.left, - paddingBottom: props.paddingBottom, - }, -}))` - position: fixed; - border-right: 1px solid ${colors.DIVIDER}; - width: 320px; - overflow: hidden; -`; - -export default class StickyContainer extends React.PureComponent<Props, State> { - constructor() { - super(); - this.state = { - prevScrollY: 0, - asideMinHeight: 0, - wrapperTopOffset: 0, - wrapperLeftOffset: 0, - wrapperBottomPadding: 0, - footerFixed: false, - }; - } - - componentDidMount() { - window.addEventListener('scroll', this.handleScroll); - window.addEventListener('resize', this.handleScroll); - this.update(); - } - - componentDidUpdate(prevProps: Props, newState: State) { - // recalculate view only if props was changed - // ignore when state is changed - if (this.state === newState) raf(this.update); - } - - componentWillUnmount() { - window.removeEventListener('scroll', this.handleScroll); - window.removeEventListener('resize', this.handleScroll); - } - - update = () => { - this.recalculatePosition(); - } - - handleScroll = () => raf(this.update); - - asideRefCallback = (element: ?HTMLElement) => { - this.aside = element; - } - - wrapperRefCallback = (element: ?HTMLElement) => { - this.wrapper = element; - } - - footerRefCallback = (element: ?HTMLElement) => { - this.footer = element; - } - - aside: ?HTMLElement; - - wrapper: ?HTMLElement; - - footer: ?HTMLElement; - - recalculatePosition() { - const { aside, wrapper, footer } = this; - if (!aside || !wrapper || !footer) return; - - const viewportHeight = getViewportHeight(); - const asideBounds = aside.getBoundingClientRect(); - const wrapperBounds = wrapper.getBoundingClientRect(); - const footerBounds = footer.getBoundingClientRect(); - const isHeaderFixed = asideBounds.top < 0; - const isWrapperBiggerThanViewport = wrapperBounds.height > viewportHeight; - const state = { ...this.state }; - - const scrollX = getScrollX(); - const scrollY = getScrollY(); - - if (isHeaderFixed) { - if (isWrapperBiggerThanViewport) { - const scrollDirection = scrollY >= state.prevScrollY ? 'down' : 'up'; - const topOutOfBounds: boolean = (wrapperBounds.top > 0 && scrollDirection === 'up'); - const bottomOutOfBounds: boolean = (footerBounds.bottom <= viewportHeight && scrollDirection === 'down'); - if (!topOutOfBounds && !bottomOutOfBounds) { - // neither "top" or "bottom" was reached - // scroll whole wrapper - const distanceScrolled = Math.abs(scrollY - state.prevScrollY); - state.wrapperTopOffset += scrollDirection === 'down' ? -distanceScrolled : distanceScrolled; - } - } - // make sure that wrapper will not be over scrolled - if (state.wrapperTopOffset > 0) state.wrapperTopOffset = 0; - const maxScrollTop = viewportHeight - wrapperBounds.height; - if (maxScrollTop < 0 && state.wrapperTopOffset < maxScrollTop) state.wrapperTopOffset = maxScrollTop; - } else { - // update wrapper "top" to be same as "aside" element - state.wrapperTopOffset = asideBounds.top; - } - - if (isWrapperBiggerThanViewport) { - state.footerFixed = false; - } else if (state.footerFixed) { - if (footerBounds.top < wrapperBounds.bottom - footerBounds.height) { - state.footerFixed = false; - } - } else if (footerBounds.bottom < viewportHeight) { - state.footerFixed = asideBounds.height > wrapperBounds.height; - } - - state.prevScrollY = scrollY; - state.asideMinHeight = wrapperBounds.height; - state.wrapperBottomPadding = state.footerFixed ? footerBounds.height : 0; - // update wrapper "left" position - state.wrapperLeftOffset = scrollX > 0 ? -scrollX : asideBounds.left; - - this.setState(state); - } - - render() { - return ( - <AsideWrapper - footerFixed={this.state.footerFixed} - minHeight={this.state.asideMinHeight} - ref={this.asideRefCallback} - onScroll={this.handleScroll} - onTouchStart={this.handleScroll} - onTouchMove={this.handleScroll} - onTouchEnd={this.handleScroll} - > - <StickyContainerWrapper - paddingBottom={this.state.wrapperBottomPadding} - top={this.state.wrapperTopOffset} - left={this.state.wrapperLeftOffset} - ref={this.wrapperRefCallback} - > - {React.Children.map(this.props.children, (child) => { // eslint-disable-line arrow-body-style - return child.key === 'sticky-footer' ? React.cloneElement(child, { - ref: this.footerRefCallback, - position: this.state.footerFixed ? 'fixed' : 'relative', - }) : child; - })} - </StickyContainerWrapper> - </AsideWrapper> - ); - } -} \ No newline at end of file diff --git a/src/views/Wallet/components/LeftNavigation/index.js b/src/views/Wallet/components/LeftNavigation/index.js index e2139098..8e926f67 100644 --- a/src/views/Wallet/components/LeftNavigation/index.js +++ b/src/views/Wallet/components/LeftNavigation/index.js @@ -15,7 +15,7 @@ import * as deviceUtils from 'utils/device'; import AccountMenu from './components/AccountMenu'; import CoinMenu from './components/CoinMenu'; import DeviceMenu from './components/DeviceMenu'; -import MobileSidebar from './components/MobileSidebar'; +import Sidebar from './components/Sidebar'; import type { Props } from './components/common'; @@ -203,13 +203,8 @@ class LeftNavigation extends React.PureComponent<Props, State> { const { selectedDevice, dropdownOpened } = props.wallet; const isDeviceAccessible = deviceUtils.isDeviceAccessible(selectedDevice); - const SidebarComponent = MobileSidebar; return ( - <SidebarComponent - isOpen={props.wallet.showSidebar} - location={props.router.location.pathname} - deviceSelection={this.props.wallet.dropdownOpened} - > + <Sidebar isOpen={props.wallet.showSidebar}> <Header isSelected isHoverable={false} @@ -253,7 +248,7 @@ class LeftNavigation extends React.PureComponent<Props, State> { </A> </Help> </Footer> - </SidebarComponent> + </Sidebar> ); } } From 96510d54f80680874beb2df0d7c993ff2f378349 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Sat, 26 Jan 2019 00:09:27 +0100 Subject: [PATCH 127/219] sidebar height set to viewport height, disable scroll on bg content --- .../LeftNavigation/components/Sidebar/index.js | 2 +- src/views/Wallet/index.js | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/views/Wallet/components/LeftNavigation/components/Sidebar/index.js b/src/views/Wallet/components/LeftNavigation/components/Sidebar/index.js index 354de4c9..a149cf8f 100644 --- a/src/views/Wallet/components/LeftNavigation/components/Sidebar/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/Sidebar/index.js @@ -29,7 +29,7 @@ const AbsoluteWrapper = styled.aside` @media screen and (max-width: ${SCREEN_SIZE.SM}) { position: absolute; - height: calc(100% - 52px); + height: calc(100vh - 52px); z-index: 200; top: 52px; animation: ${props => (props.isOpen ? SLIDE_RIGHT : SLIDE_LEFT)} 0.25s cubic-bezier(0.17, 0.04, 0.03, 0.94) forwards; diff --git a/src/views/Wallet/index.js b/src/views/Wallet/index.js index 52a977c1..b210a910 100644 --- a/src/views/Wallet/index.js +++ b/src/views/Wallet/index.js @@ -2,7 +2,7 @@ import * as React from 'react'; import colors from 'config/colors'; -import styled from 'styled-components'; +import styled, { css } from 'styled-components'; import { connect } from 'react-redux'; import { Route, withRouter } from 'react-router-dom'; @@ -76,7 +76,15 @@ const MainContent = styled.article` flex-direction: column; overflow: auto; border-top-right-radius: 4px; - + + @media screen and (max-width: ${SCREEN_SIZE.SM}){ + ${props => props.preventBgScroll && css` + position: fixed; + width: 100%; + min-height: calc(100vh - 52px); + `} + } + @media screen and (max-width: 1170px) { border-top-right-radius: 0px; } @@ -111,7 +119,7 @@ const Wallet = (props: Props) => ( <WalletWrapper> <StyledBackdrop show={props.wallet.showSidebar} onClick={props.toggleSidebar} animated /> {props.wallet.selectedDevice && <LeftNavigation />} - <MainContent> + <MainContent preventBgScroll={props.wallet.showSidebar}> <Navigation> <Route path="/device/:device/network/:network/account/:account" component={TopNavigationAccount} /> <Route path="/device/:device/device-settings" component={TopNavigationDeviceSettings} /> From 19f655dabdd00ced5837a189d015296be989f696 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Sat, 26 Jan 2019 01:51:21 +0100 Subject: [PATCH 128/219] set min-height to 100vh instead of % --- src/support/styles/index.js | 4 ++-- src/views/Landing/components/LandingWrapper/index.js | 2 +- src/views/Wallet/index.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/support/styles/index.js b/src/support/styles/index.js index c3a84194..f8568221 100644 --- a/src/support/styles/index.js +++ b/src/support/styles/index.js @@ -8,7 +8,7 @@ import animationStyles from './Animations'; const baseStyles = createGlobalStyle` html, body { width: 100%; - height: 100%; + min-height: 100vh; position: relative; font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif; font-weight: ${FONT_WEIGHT.NORMAL}; @@ -43,7 +43,7 @@ const baseStyles = createGlobalStyle` } #trezor-wallet-root { - height: 100%; + min-height: 100vh; } ${animationStyles}; diff --git a/src/views/Landing/components/LandingWrapper/index.js b/src/views/Landing/components/LandingWrapper/index.js index f1e00613..1e38ce28 100644 --- a/src/views/Landing/components/LandingWrapper/index.js +++ b/src/views/Landing/components/LandingWrapper/index.js @@ -18,7 +18,7 @@ type Props = { } const Wrapper = styled.div` - min-height: 100%; + min-height: 100vh; display: flex; flex-direction: column; diff --git a/src/views/Wallet/index.js b/src/views/Wallet/index.js index b210a910..2e6c6e3b 100644 --- a/src/views/Wallet/index.js +++ b/src/views/Wallet/index.js @@ -43,7 +43,7 @@ export type Props = StateProps & DispatchProps; const AppWrapper = styled.div` position: relative; - min-height: 100%; + min-height: 100vh; display: flex; flex-direction: column; background: ${colors.BACKGROUND}; From 86e21f7ffbf6d6426457a15eeac500a7b174f060 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Fri, 1 Feb 2019 18:09:16 +0100 Subject: [PATCH 129/219] upgrade to babel 7 --- .babelrc | 53 +- package.json | 34 +- yarn.lock | 1922 +++++++++++++++++++++++++++++++++++--------------- 3 files changed, 1389 insertions(+), 620 deletions(-) diff --git a/.babelrc b/.babelrc index 18127ec5..e82f99b3 100644 --- a/.babelrc +++ b/.babelrc @@ -1,31 +1,46 @@ { "presets": [ - ["env", { - "useBuiltIns": true, - "loose": true - }], - "react" + [ + "@babel/preset-env", + { + "useBuiltIns": "entry", + "loose": true + } + ], + "@babel/preset-react", + "@babel/preset-flow" ], "plugins": [ "react-hot-loader/babel", - "transform-class-properties", - "transform-object-rest-spread", - "transform-flow-strip-types", - ["transform-runtime", { - "polyfill": false, - "regenerator": true - }], - ["module-resolver", { - "root": ["./src"], - "alias": { - "public": ["./public"] + "@babel/plugin-transform-flow-strip-types", + "@babel/plugin-proposal-class-properties", + "@babel/plugin-proposal-object-rest-spread", + [ + "@babel/plugin-transform-runtime", + { + "regenerator": true + } + ], + [ + "module-resolver", + { + "root": [ + "./src" + ], + "alias": { + "public": [ + "./public" + ] + } } - }], + ], "babel-plugin-styled-components" ], "env": { "test": { - "presets": ["jest"] + "presets": [ + "jest" + ] } } -} \ No newline at end of file +} diff --git a/package.json b/package.json index 8247332f..37a52d95 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,7 @@ "server:stable": "node ./server/index.js --buildType=stable" }, "dependencies": { - "babel": "^6.23.0", - "babel-core": "^6.26.3", + "@babel/core": "^7.0.0", "bignumber.js": "2.4.0", "color-hash": "^1.0.3", "commander": "^2.19.0", @@ -81,21 +80,26 @@ "yarn-run-all": "^3.1.1" }, "devDependencies": { - "babel-cli": "^6.24.1", - "babel-eslint": "^8.2.6", - "babel-loader": "^7.1.5", - "babel-plugin-module-resolver": "^3.1.1", - "babel-plugin-styled-components": "^1.5.1", - "babel-plugin-transform-class-properties": "^6.24.1", - "babel-plugin-transform-flow-strip-types": "^6.22.0", - "babel-plugin-transform-object-rest-spread": "^6.23.0", - "babel-plugin-transform-runtime": "^6.23.0", - "babel-preset-env": "^1.6.0", - "babel-preset-jest": "^23.2.0", - "babel-preset-react": "^6.24.1", + "@babel/cli": "^7.0.0", + "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-object-rest-spread": "^7.0.0", + "@babel/plugin-transform-flow-strip-types": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.0.0", + "@babel/preset-env": "^7.0.0", + "@babel/preset-flow": "^7.0.0", + "@babel/preset-react": "^7.0.0", + "@babel/register": "^7.0.0", + "babel-core": "^7.0.0-bridge.0", + "babel-eslint": "^9.0.0", + "babel-jest": "^23.4.2", + "babel-loader": "^8.0.0", + "babel-plugin-module-resolver": "^3.1.3", + "babel-plugin-styled-components": "^1.10.0", + "babel-preset-jest": "^24.0.0", "eslint": "^4", "eslint-config-airbnb": "^17.0.0", - "eslint-import-resolver-babel-module": "^4.0.0", + "eslint-import-resolver-babel-module": "^5.0.1", "eslint-loader": "^2.1.0", "eslint-plugin-flowtype": "^2.50.0", "eslint-plugin-import": "^2.14.0", diff --git a/yarn.lock b/yarn.lock index 143b3525..19479bdb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,11 +2,22 @@ # yarn lockfile v1 -"@babel/code-frame@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz#2a02643368de80916162be70865c97774f3adbd9" +"@babel/cli@^7.0.0": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.2.3.tgz#1b262e42a3e959d28ab3d205ba2718e1923cfee6" + integrity sha512-bfna97nmJV6nDJhXNPeEfxyMjWnt6+IjUAaDPiYRTBlm8L41n8nvw6UAqUCbvpFfU246gHPxW7sfWwqtF4FcYA== dependencies: - "@babel/highlight" "7.0.0-beta.44" + commander "^2.8.1" + convert-source-map "^1.1.0" + fs-readdir-recursive "^1.1.0" + glob "^7.0.0" + lodash "^4.17.10" + mkdirp "^0.5.1" + output-file-sync "^2.0.0" + slash "^2.0.0" + source-map "^0.5.0" + optionalDependencies: + chokidar "^2.0.3" "@babel/code-frame@7.0.0-rc.1": version "7.0.0-rc.1" @@ -14,21 +25,38 @@ dependencies: "@babel/highlight" "7.0.0-rc.1" +"@babel/code-frame@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" + integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== + dependencies: + "@babel/highlight" "^7.0.0" + "@babel/code-frame@^7.0.0-beta.35": version "7.0.0-beta.55" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.55.tgz#71f530e7b010af5eb7a7df7752f78921dd57e9ee" dependencies: "@babel/highlight" "7.0.0-beta.55" -"@babel/generator@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-beta.44.tgz#c7e67b9b5284afcf69b309b50d7d37f3e5033d42" - dependencies: - "@babel/types" "7.0.0-beta.44" - jsesc "^2.5.1" - lodash "^4.2.0" +"@babel/core@^7.0.0": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" + integrity sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.2.2" + "@babel/helpers" "^7.2.0" + "@babel/parser" "^7.2.2" + "@babel/template" "^7.2.2" + "@babel/traverse" "^7.2.2" + "@babel/types" "^7.2.2" + convert-source-map "^1.1.0" + debug "^4.1.0" + json5 "^2.1.0" + lodash "^4.17.10" + resolve "^1.3.2" + semver "^5.4.1" source-map "^0.5.0" - trim-right "^1.0.1" "@babel/generator@7.0.0-rc.1": version "7.0.0-rc.1" @@ -40,25 +68,75 @@ source-map "^0.5.0" trim-right "^1.0.1" +"@babel/generator@^7.2.2": + version "7.3.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.0.tgz#f663838cd7b542366de3aa608a657b8ccb2a99eb" + integrity sha512-dZTwMvTgWfhmibq4V9X+LMf6Bgl7zAodRn9PvcPdhlzFMbvUutx74dbEv7Atz3ToeEpevYEJtAwfxq/bDCzHWg== + dependencies: + "@babel/types" "^7.3.0" + jsesc "^2.5.1" + lodash "^4.17.10" + source-map "^0.5.0" + trim-right "^1.0.1" + "@babel/helper-annotate-as-pure@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" dependencies: "@babel/types" "^7.0.0" -"@babel/helper-annotate-as-pure@^7.0.0-beta.37": - version "7.0.0-beta.55" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.55.tgz#3c3e4c00e14e7dea917938e35ed5d9156cdd35ce" +"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" + integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== dependencies: - "@babel/types" "7.0.0-beta.55" + "@babel/helper-explode-assignable-expression" "^7.1.0" + "@babel/types" "^7.0.0" -"@babel/helper-function-name@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz#e18552aaae2231100a6e485e03854bc3532d44dd" +"@babel/helper-builder-react-jsx@^7.3.0": + version "7.3.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" + integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== dependencies: - "@babel/helper-get-function-arity" "7.0.0-beta.44" - "@babel/template" "7.0.0-beta.44" - "@babel/types" "7.0.0-beta.44" + "@babel/types" "^7.3.0" + esutils "^2.0.0" + +"@babel/helper-call-delegate@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a" + integrity sha512-YEtYZrw3GUK6emQHKthltKNZwszBcHK58Ygcis+gVUrF4/FmTVr5CCqQNSfmvg2y+YDEANyYoaLz/SHsnusCwQ== + dependencies: + "@babel/helper-hoist-variables" "^7.0.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-create-class-features-plugin@^7.3.0": + version "7.3.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.3.0.tgz#2b01a81b3adc2b1287f9ee193688ef8dc71e718f" + integrity sha512-DUsQNS2CGLZZ7I3W3fvh0YpPDd6BuWJlDl+qmZZpABZHza2ErE3LxtEzLJFHFC1ZwtlAXvHhbFYbtM5o5B0WBw== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.2.3" + +"@babel/helper-define-map@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c" + integrity sha512-yPPcW8dc3gZLN+U1mhYV91QU3n5uTbx7DUdf8NnPbjS0RMwBuHi9Xt2MUgppmNz7CJxTBWsGczTiEp1CSOTPRg== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/types" "^7.0.0" + lodash "^4.17.10" + +"@babel/helper-explode-assignable-expression@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" + integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== + dependencies: + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" "@babel/helper-function-name@7.0.0-rc.1": version "7.0.0-rc.1" @@ -68,11 +146,14 @@ "@babel/template" "7.0.0-rc.1" "@babel/types" "7.0.0-rc.1" -"@babel/helper-get-function-arity@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz#d03ca6dd2b9f7b0b1e6b32c56c72836140db3a15" +"@babel/helper-function-name@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" + integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== dependencies: - "@babel/types" "7.0.0-beta.44" + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/template" "^7.1.0" + "@babel/types" "^7.0.0" "@babel/helper-get-function-arity@7.0.0-rc.1": version "7.0.0-rc.1" @@ -80,11 +161,93 @@ dependencies: "@babel/types" "7.0.0-rc.1" -"@babel/helper-split-export-declaration@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz#c0b351735e0fbcb3822c8ad8db4e583b05ebd9dc" +"@babel/helper-get-function-arity@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" + integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-hoist-variables@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88" + integrity sha512-Ggv5sldXUeSKsuzLkddtyhyHe2YantsxWKNi7A+7LeD12ExRDWTRk29JCXpaHPAbMaIPZSil7n+lq78WY2VY7w== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-member-expression-to-functions@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f" + integrity sha512-avo+lm/QmZlv27Zsi0xEor2fKcqWG56D5ae9dzklpIaY7cQMK5N8VSpaNVPPagiqmy7LrEjK1IWdGMOqPu5csg== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-module-imports@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" + integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-module-transforms@^7.1.0": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.2.2.tgz#ab2f8e8d231409f8370c883d20c335190284b963" + integrity sha512-YRD7I6Wsv+IHuTPkAmAS4HhY0dkPobgLftHp0cRGZSdrRvmZY8rFvae/GVu3bD00qscuvK3WPHB3YdNpBXUqrA== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + "@babel/template" "^7.2.2" + "@babel/types" "^7.2.2" + lodash "^4.17.10" + +"@babel/helper-optimise-call-expression@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" + integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== + dependencies: + "@babel/types" "^7.0.0" + +"@babel/helper-plugin-utils@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" + integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== + +"@babel/helper-regex@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27" + integrity sha512-TR0/N0NDCcUIUEbqV6dCO+LptmmSQFQ7q70lfcEB4URsjD0E1HzicrwUH+ap6BAQ2jhCX9Q4UqZy4wilujWlkg== dependencies: - "@babel/types" "7.0.0-beta.44" + lodash "^4.17.10" + +"@babel/helper-remap-async-to-generator@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" + integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-wrap-function" "^7.1.0" + "@babel/template" "^7.1.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.0.0" + +"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.2.3": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz#19970020cf22677d62b3a689561dbd9644d8c5e5" + integrity sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/traverse" "^7.2.3" + "@babel/types" "^7.0.0" + +"@babel/helper-simple-access@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" + integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== + dependencies: + "@babel/template" "^7.1.0" + "@babel/types" "^7.0.0" "@babel/helper-split-export-declaration@7.0.0-rc.1": version "7.0.0-rc.1" @@ -92,13 +255,31 @@ dependencies: "@babel/types" "7.0.0-rc.1" -"@babel/highlight@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.44.tgz#18c94ce543916a80553edcdcf681890b200747d5" +"@babel/helper-split-export-declaration@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" + integrity sha512-MXkOJqva62dfC0w85mEf/LucPPS/1+04nmmRMPEBUB++hiiThQ2zPtX/mEWQ3mtzCEjIJvPY8nuwxXtQeQwUag== dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^3.0.0" + "@babel/types" "^7.0.0" + +"@babel/helper-wrap-function@^7.1.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" + integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/template" "^7.1.0" + "@babel/traverse" "^7.1.0" + "@babel/types" "^7.2.0" + +"@babel/helpers@^7.2.0": + version "7.3.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.3.1.tgz#949eec9ea4b45d3210feb7dc1c22db664c9e44b9" + integrity sha512-Q82R3jKsVpUV99mgX50gOPCWwco9Ec5Iln/8Vyu4osNIOQgSrd9RFrQeUvmvddFNoLwMyOUWU+5ckioEKpDoGA== + dependencies: + "@babel/template" "^7.1.2" + "@babel/traverse" "^7.1.5" + "@babel/types" "^7.3.0" "@babel/highlight@7.0.0-beta.55": version "7.0.0-beta.55" @@ -116,25 +297,475 @@ esutils "^2.0.2" js-tokens "^3.0.0" +"@babel/highlight@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" + integrity sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw== + dependencies: + chalk "^2.0.0" + esutils "^2.0.2" + js-tokens "^4.0.0" + "@babel/parser@7.0.0-rc.1": version "7.0.0-rc.1" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-rc.1.tgz#d009a9bba8175d7b971e30cd03535b278c44082d" +"@babel/parser@^7.0.0", "@babel/parser@^7.2.2", "@babel/parser@^7.2.3": + version "7.3.1" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.1.tgz#8f4ffd45f779e6132780835ffa7a215fa0b2d181" + integrity sha512-ATz6yX/L8LEnC3dtLQnIx4ydcPxhLcoy9Vl6re00zb2w5lG6itY6Vhnr1KFRPq/FHNsgl/gh2mjNN20f9iJTTA== + +"@babel/plugin-proposal-async-generator-functions@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" + integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-remap-async-to-generator" "^7.1.0" + "@babel/plugin-syntax-async-generators" "^7.2.0" + +"@babel/plugin-proposal-class-properties@^7.0.0": + version "7.3.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.3.0.tgz#272636bc0fa19a0bc46e601ec78136a173ea36cd" + integrity sha512-wNHxLkEKTQ2ay0tnsam2z7fGZUi+05ziDJflEt3AZTP3oXLKHJp9HqhfroB/vdMvt3sda9fAbq7FsG8QPDrZBg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.3.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-proposal-json-strings@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" + integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-json-strings" "^7.2.0" + +"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.3.1": + version "7.3.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.1.tgz#f69fb6a1ea6a4e1c503994a91d9cf76f3c4b36e8" + integrity sha512-Nmmv1+3LqxJu/V5jU9vJmxR/KIRWFk2qLHmbB56yRRRFhlaSuOVXscX3gUmhaKgUhzA3otOHVubbIEVYsZ0eZg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + +"@babel/plugin-proposal-optional-catch-binding@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" + integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" + +"@babel/plugin-proposal-unicode-property-regex@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.2.0.tgz#abe7281fe46c95ddc143a65e5358647792039520" + integrity sha512-LvRVYb7kikuOtIoUeWTkOxQEV1kYvL5B6U3iWEGCzPNRus1MzJweFqORTj+0jkxozkTSYNJozPOddxmqdqsRpw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + regexpu-core "^4.2.0" + +"@babel/plugin-syntax-async-generators@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" + integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-flow@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz#a765f061f803bc48f240c26f8747faf97c26bf7c" + integrity sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-json-strings@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" + integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-jsx@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" + integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" + integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" + integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-arrow-functions@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" + integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-async-to-generator@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.2.0.tgz#68b8a438663e88519e65b776f8938f3445b1a2ff" + integrity sha512-CEHzg4g5UraReozI9D4fblBYABs7IM6UerAVG7EJVrTLC5keh00aEuLUT+O40+mJCEzaXkYfTCUKIyeDfMOFFQ== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-remap-async-to-generator" "^7.1.0" + +"@babel/plugin-transform-block-scoped-functions@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" + integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-block-scoping@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.2.0.tgz#f17c49d91eedbcdf5dd50597d16f5f2f770132d4" + integrity sha512-vDTgf19ZEV6mx35yiPJe4fS02mPQUUcBNwWQSZFXSzTSbsJFQvHt7DqyS3LK8oOWALFOsJ+8bbqBgkirZteD5Q== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + lodash "^4.17.10" + +"@babel/plugin-transform-classes@^7.2.0": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.2.2.tgz#6c90542f210ee975aa2aa8c8b5af7fa73a126953" + integrity sha512-gEZvgTy1VtcDOaQty1l10T3jQmJKlNVxLDCs+3rCVPr6nMkODLELxViq5X9l+rfxbie3XrfrMCYYY6eX3aOcOQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-define-map" "^7.1.0" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" + integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-destructuring@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.2.0.tgz#e75269b4b7889ec3a332cd0d0c8cff8fed0dc6f3" + integrity sha512-coVO2Ayv7g0qdDbrNiadE4bU7lvCd9H539m2gMknyVjjMdwF/iCOM7R+E8PkntoqLkltO0rk+3axhpp/0v68VQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-dotall-regex@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.2.0.tgz#f0aabb93d120a8ac61e925ea0ba440812dbe0e49" + integrity sha512-sKxnyHfizweTgKZf7XsXu/CNupKhzijptfTM+bozonIuyVrLWVUvYjE2bhuSBML8VQeMxq4Mm63Q9qvcvUcciQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + regexpu-core "^4.1.3" + +"@babel/plugin-transform-duplicate-keys@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.2.0.tgz#d952c4930f312a4dbfff18f0b2914e60c35530b3" + integrity sha512-q+yuxW4DsTjNceUiTzK0L+AfQ0zD9rWaTLiUqHA8p0gxx7lu1EylenfzjeIWNkPy6e/0VG/Wjw9uf9LueQwLOw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-exponentiation-operator@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" + integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-flow-strip-types@^7.0.0": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz#e3ac2a594948454e7431c7db33e1d02d51b5cd69" + integrity sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-flow" "^7.2.0" + +"@babel/plugin-transform-for-of@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.2.0.tgz#ab7468befa80f764bb03d3cb5eef8cc998e1cad9" + integrity sha512-Kz7Mt0SsV2tQk6jG5bBv5phVbkd0gd27SgYD4hH1aLMJRchM0dzHaXvrWhVZ+WxAlDoAKZ7Uy3jVTW2mKXQ1WQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-function-name@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.2.0.tgz#f7930362829ff99a3174c39f0afcc024ef59731a" + integrity sha512-kWgksow9lHdvBC2Z4mxTsvc7YdY7w/V6B2vy9cTIPtLEE9NhwoWivaxdNM/S37elu5bqlLP/qOY906LukO9lkQ== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-literals@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" + integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-modules-amd@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.2.0.tgz#82a9bce45b95441f617a24011dc89d12da7f4ee6" + integrity sha512-mK2A8ucqz1qhrdqjS9VMIDfIvvT2thrEsIQzbaTdc5QFzhDjQv2CkJJ5f6BXIkgbmaoax3zBr2RyvV/8zeoUZw== + dependencies: + "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-modules-commonjs@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.2.0.tgz#c4f1933f5991d5145e9cfad1dfd848ea1727f404" + integrity sha512-V6y0uaUQrQPXUrmj+hgnks8va2L0zcZymeU7TtWEgdRLNkceafKXEduv7QzgQAE4lT+suwooG9dC7LFhdRAbVQ== + dependencies: + "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-simple-access" "^7.1.0" + +"@babel/plugin-transform-modules-systemjs@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.2.0.tgz#912bfe9e5ff982924c81d0937c92d24994bb9068" + integrity sha512-aYJwpAhoK9a+1+O625WIjvMY11wkB/ok0WClVwmeo3mCjcNRjt+/8gHWrB5i+00mUju0gWsBkQnPpdvQ7PImmQ== + dependencies: + "@babel/helper-hoist-variables" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-modules-umd@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" + integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw== + dependencies: + "@babel/helper-module-transforms" "^7.1.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.3.0": + version "7.3.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.3.0.tgz#140b52985b2d6ef0cb092ef3b29502b990f9cd50" + integrity sha512-NxIoNVhk9ZxS+9lSoAQ/LM0V2UEvARLttEHUrRDGKFaAxOYQcrkN/nLRE+BbbicCAvZPl7wMP0X60HsHE5DtQw== + dependencies: + regexp-tree "^0.1.0" + +"@babel/plugin-transform-new-target@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a" + integrity sha512-yin069FYjah+LbqfGeTfzIBODex/e++Yfa0rH0fpfam9uTbuEeEOx5GLGr210ggOV77mVRNoeqSYqeuaqSzVSw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-object-super@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.2.0.tgz#b35d4c10f56bab5d650047dad0f1d8e8814b6598" + integrity sha512-VMyhPYZISFZAqAPVkiYb7dUe2AsVi2/wCT5+wZdsNO31FojQJa9ns40hzZ6U9f50Jlq4w6qwzdBB2uwqZ00ebg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.1.0" + +"@babel/plugin-transform-parameters@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.2.0.tgz#0d5ad15dc805e2ea866df4dd6682bfe76d1408c2" + integrity sha512-kB9+hhUidIgUoBQ0MsxMewhzr8i60nMa2KgeJKQWYrqQpqcBYtnpR+JgkadZVZoaEZ/eKu9mclFaVwhRpLNSzA== + dependencies: + "@babel/helper-call-delegate" "^7.1.0" + "@babel/helper-get-function-arity" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-react-display-name@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" + integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-react-jsx-self@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" + integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@babel/plugin-transform-react-jsx-source@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.2.0.tgz#20c8c60f0140f5dd3cd63418d452801cf3f7180f" + integrity sha512-A32OkKTp4i5U6aE88GwwcuV4HAprUgHcTq0sSafLxjr6AW0QahrCRCjxogkbbcdtpbXkuTOlgpjophCxb6sh5g== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@babel/plugin-transform-react-jsx@^7.0.0": + version "7.3.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" + integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== + dependencies: + "@babel/helper-builder-react-jsx" "^7.3.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@babel/plugin-transform-regenerator@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1" + integrity sha512-sj2qzsEx8KDVv1QuJc/dEfilkg3RRPvPYx/VnKLtItVQRWt1Wqf5eVCOLZm29CiGFfYYsA3VPjfizTCV0S0Dlw== + dependencies: + regenerator-transform "^0.13.3" + +"@babel/plugin-transform-runtime@^7.0.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz#566bc43f7d0aedc880eaddbd29168d0f248966ea" + integrity sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + resolve "^1.8.1" + semver "^5.5.1" + +"@babel/plugin-transform-shorthand-properties@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" + integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-spread@^7.2.0": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" + integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-sticky-regex@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" + integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + +"@babel/plugin-transform-template-literals@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.2.0.tgz#d87ed01b8eaac7a92473f608c97c089de2ba1e5b" + integrity sha512-FkPix00J9A/XWXv4VoKJBMeSkyY9x/TqIh76wzcdfl57RJJcf8CehQ08uwfhCDNtRQYtHQKBTwKZDEyjE13Lwg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-typeof-symbol@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" + integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-transform-unicode-regex@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" + integrity sha512-m48Y0lMhrbXEJnVUaYly29jRXbQ3ksxPrS1Tg8t+MHqzXhtBYAvI51euOBaoAlZLPHsieY9XPVMf80a5x0cPcA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-regex" "^7.0.0" + regexpu-core "^4.1.3" + +"@babel/preset-env@^7.0.0": + version "7.3.1" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.3.1.tgz#389e8ca6b17ae67aaf9a2111665030be923515db" + integrity sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-async-generator-functions" "^7.2.0" + "@babel/plugin-proposal-json-strings" "^7.2.0" + "@babel/plugin-proposal-object-rest-spread" "^7.3.1" + "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.2.0" + "@babel/plugin-syntax-async-generators" "^7.2.0" + "@babel/plugin-syntax-json-strings" "^7.2.0" + "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" + "@babel/plugin-transform-arrow-functions" "^7.2.0" + "@babel/plugin-transform-async-to-generator" "^7.2.0" + "@babel/plugin-transform-block-scoped-functions" "^7.2.0" + "@babel/plugin-transform-block-scoping" "^7.2.0" + "@babel/plugin-transform-classes" "^7.2.0" + "@babel/plugin-transform-computed-properties" "^7.2.0" + "@babel/plugin-transform-destructuring" "^7.2.0" + "@babel/plugin-transform-dotall-regex" "^7.2.0" + "@babel/plugin-transform-duplicate-keys" "^7.2.0" + "@babel/plugin-transform-exponentiation-operator" "^7.2.0" + "@babel/plugin-transform-for-of" "^7.2.0" + "@babel/plugin-transform-function-name" "^7.2.0" + "@babel/plugin-transform-literals" "^7.2.0" + "@babel/plugin-transform-modules-amd" "^7.2.0" + "@babel/plugin-transform-modules-commonjs" "^7.2.0" + "@babel/plugin-transform-modules-systemjs" "^7.2.0" + "@babel/plugin-transform-modules-umd" "^7.2.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.3.0" + "@babel/plugin-transform-new-target" "^7.0.0" + "@babel/plugin-transform-object-super" "^7.2.0" + "@babel/plugin-transform-parameters" "^7.2.0" + "@babel/plugin-transform-regenerator" "^7.0.0" + "@babel/plugin-transform-shorthand-properties" "^7.2.0" + "@babel/plugin-transform-spread" "^7.2.0" + "@babel/plugin-transform-sticky-regex" "^7.2.0" + "@babel/plugin-transform-template-literals" "^7.2.0" + "@babel/plugin-transform-typeof-symbol" "^7.2.0" + "@babel/plugin-transform-unicode-regex" "^7.2.0" + browserslist "^4.3.4" + invariant "^2.2.2" + js-levenshtein "^1.1.3" + semver "^5.3.0" + +"@babel/preset-flow@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.0.0.tgz#afd764835d9535ec63d8c7d4caf1c06457263da2" + integrity sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-flow-strip-types" "^7.0.0" + +"@babel/preset-react@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" + integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-react-display-name" "^7.0.0" + "@babel/plugin-transform-react-jsx" "^7.0.0" + "@babel/plugin-transform-react-jsx-self" "^7.0.0" + "@babel/plugin-transform-react-jsx-source" "^7.0.0" + +"@babel/register@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0.tgz#fa634bae1bfa429f60615b754fc1f1d745edd827" + integrity sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g== + dependencies: + core-js "^2.5.7" + find-cache-dir "^1.0.0" + home-or-tmp "^3.0.0" + lodash "^4.17.10" + mkdirp "^0.5.1" + pirates "^4.0.0" + source-map-support "^0.5.9" + "@babel/runtime@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.2.0.tgz#b03e42eeddf5898e00646e4c840fa07ba8dcad7f" dependencies: regenerator-runtime "^0.12.0" -"@babel/template@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-beta.44.tgz#f8832f4fdcee5d59bf515e595fc5106c529b394f" - dependencies: - "@babel/code-frame" "7.0.0-beta.44" - "@babel/types" "7.0.0-beta.44" - babylon "7.0.0-beta.44" - lodash "^4.2.0" - "@babel/template@7.0.0-rc.1": version "7.0.0-rc.1" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-rc.1.tgz#5f9c0a481c9f22ecdb84697b3c3a34eadeeca23c" @@ -144,20 +775,29 @@ "@babel/types" "7.0.0-rc.1" lodash "^4.17.10" -"@babel/traverse@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-beta.44.tgz#a970a2c45477ad18017e2e465a0606feee0d2966" - dependencies: - "@babel/code-frame" "7.0.0-beta.44" - "@babel/generator" "7.0.0-beta.44" - "@babel/helper-function-name" "7.0.0-beta.44" - "@babel/helper-split-export-declaration" "7.0.0-beta.44" - "@babel/types" "7.0.0-beta.44" - babylon "7.0.0-beta.44" - debug "^3.1.0" +"@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" + integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.2.2" + "@babel/types" "^7.2.2" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.5", "@babel/traverse@^7.2.2", "@babel/traverse@^7.2.3": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.2.3.tgz#7ff50cefa9c7c0bd2d81231fdac122f3957748d8" + integrity sha512-Z31oUD/fJvEWVR0lNZtfgvVt512ForCTNKYcJBGbPb1QZfve4WGH8Wsy7+Mev33/45fhP/hwQtvgusNdcCMgSw== + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/generator" "^7.2.2" + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-split-export-declaration" "^7.0.0" + "@babel/parser" "^7.2.3" + "@babel/types" "^7.2.2" + debug "^4.1.0" globals "^11.1.0" - invariant "^2.2.0" - lodash "^4.2.0" + lodash "^4.17.10" "@babel/traverse@^7.0.0-beta.40": version "7.0.0-rc.1" @@ -173,22 +813,6 @@ globals "^11.1.0" lodash "^4.17.10" -"@babel/types@7.0.0-beta.44": - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.44.tgz#6b1b164591f77dec0a0342aca995f2d046b3a757" - dependencies: - esutils "^2.0.2" - lodash "^4.2.0" - to-fast-properties "^2.0.0" - -"@babel/types@7.0.0-beta.55": - version "7.0.0-beta.55" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-beta.55.tgz#7755c9d2e58315a64f05d8cf3322379be16d9199" - dependencies: - esutils "^2.0.2" - lodash "^4.17.10" - to-fast-properties "^2.0.0" - "@babel/types@7.0.0-rc.1": version "7.0.0-rc.1" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-rc.1.tgz#6abf6d14ddd9fc022617e5b62e6b32f4fa6526ad" @@ -197,9 +821,10 @@ lodash "^4.17.10" to-fast-properties "^2.0.0" -"@babel/types@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.2.0.tgz#7941c5b2d8060e06f9601d6be7c223eef906d5d8" +"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0": + version "7.3.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.0.tgz#61dc0b336a93badc02bf5f69c4cd8e1353f2ffc0" + integrity sha512-QkFPw68QqWU1/RVPyBe8SO7lXbPfjtqAxRYQKpFpaB8yMq7X2qAqfwK5LKoQufEkSmO5NQ70O6Kc3Afk03RwXw== dependencies: esutils "^2.0.2" lodash "^4.17.10" @@ -491,13 +1116,6 @@ ajv-keywords@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.1.0.tgz#ac2b27939c543e95d2c06e7f7f5c27be4aa543be" -ajv@^4.9.1: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" @@ -569,6 +1187,7 @@ ansi-styles@^3.1.0, ansi-styles@^3.2.0: ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" @@ -584,13 +1203,6 @@ any-promise@1.3.0, any-promise@^1.0.0, any-promise@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" -anymatch@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" - dependencies: - micromatch "^2.1.5" - normalize-path "^2.0.0" - anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -731,10 +1343,6 @@ 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" -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - assert@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -804,18 +1412,10 @@ autoprefixer@^7.1.2: postcss "^6.0.17" postcss-value-parser "^3.2.3" -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" -aws4@^1.2.1: - version "1.6.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" - aws4@^1.6.0: version "1.7.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" @@ -830,27 +1430,6 @@ axobject-query@^2.0.1: dependencies: ast-types-flow "0.0.7" -babel-cli@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" - dependencies: - babel-core "^6.26.0" - babel-polyfill "^6.26.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - commander "^2.11.0" - convert-source-map "^1.5.0" - fs-readdir-recursive "^1.0.0" - glob "^7.1.2" - lodash "^4.17.4" - output-file-sync "^1.1.2" - path-is-absolute "^1.0.1" - slash "^1.0.0" - source-map "^0.5.6" - v8flags "^2.1.1" - optionalDependencies: - chokidar "^1.6.1" - babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" @@ -859,7 +1438,7 @@ babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-core@^6.0.0, babel-core@^6.26.3: +babel-core@^6.0.0: version "6.26.3" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" dependencies: @@ -907,14 +1486,20 @@ babel-core@^6.0.14, babel-core@^6.26.0: slash "^1.0.0" source-map "^0.5.6" -babel-eslint@^8.2.6: - version "8.2.6" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.6.tgz#6270d0c73205628067c0f7ae1693a9e797acefd9" +babel-core@^7.0.0-bridge.0: + version "7.0.0-bridge.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" + integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== + +babel-eslint@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-9.0.0.tgz#7d9445f81ed9f60aff38115f838970df9f2b6220" + integrity sha512-itv1MwE3TMbY0QtNfeL7wzak1mV47Uy+n6HtSOO4Xd7rvmO+tsGQSgyOEEgo6Y2vHZKZphaoelNeSVj4vkLA1g== dependencies: - "@babel/code-frame" "7.0.0-beta.44" - "@babel/traverse" "7.0.0-beta.44" - "@babel/types" "7.0.0-beta.44" - babylon "7.0.0-beta.44" + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" eslint-scope "3.7.1" eslint-visitor-keys "^1.0.0" @@ -960,14 +1545,6 @@ babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-helper-builder-react-jsx@^6.24.1: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz#39ff8313b75c8b65dceff1f31d383e0ff2a408a0" - dependencies: - babel-runtime "^6.26.0" - babel-types "^6.26.0" - esutils "^2.0.2" - babel-helper-call-delegate@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" @@ -1077,13 +1654,15 @@ babel-jest@^23.4.2: babel-plugin-istanbul "^4.1.6" babel-preset-jest "^23.2.0" -babel-loader@^7.1.5: - version "7.1.5" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.5.tgz#e3ee0cd7394aa557e013b02d3e492bfd07aa6d68" +babel-loader@^8.0.0: + version "8.0.5" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33" + integrity sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw== dependencies: - find-cache-dir "^1.0.0" + find-cache-dir "^2.0.0" loader-utils "^1.0.2" mkdirp "^0.5.1" + util.promisify "^1.0.0" babel-messages@^6.23.0: version "6.23.0" @@ -1110,9 +1689,15 @@ babel-plugin-jest-hoist@^23.2.0: version "23.2.0" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167" -babel-plugin-module-resolver@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.1.1.tgz#881cf67e3d4b8400d5eaaefc1be44d2dc1fe404f" +babel-plugin-jest-hoist@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.0.0.tgz#3adf030b6fd67e4311479a54b24077bdfc226ec9" + integrity sha512-ipefE7YWNyRNVaV/MonUb/I5nef53ZRFR74P9meMGmJxqt8s1BJmfhw11YeIMbcjXN4fxtWUaskZZe8yreXE1Q== + +babel-plugin-module-resolver@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.1.3.tgz#5a1c148bf528d20907ed508b70ae3c4762e78c8d" + integrity sha512-QRfA8b2H7l9uSElLwS0rHoPhjPhgpncKUvrn42tJpdCoJ3IS6J+m4mp5FtnRoXHry3ZYJ2SMLLG/REikQA6tjg== dependencies: find-babel-config "^1.1.0" glob "^7.1.2" @@ -1128,13 +1713,15 @@ babel-plugin-module-resolver@^3.1.1: babel-plugin-syntax-jsx "^6.18.0" lodash "^4.17.10" -babel-plugin-styled-components@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.5.1.tgz#31dbeb696d1354d1585e60d66c7905f5e474afcd" +babel-plugin-styled-components@^1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.0.tgz#ff1f42ad2cc78c21f26b62266b8f564dbc862939" + integrity sha512-sQVKG8irFXx14ZfaK1bBePirfkacl3j8nZwSZK+ZjsbnadRHKQTbhXbe/RB1vT6Vgkz45E+V95LBq4KqdhZUNw== dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0-beta.37" - babel-types "^6.26.0" - stylis "^3.0.0" + "@babel/helper-annotate-as-pure" "^7.0.0" + "@babel/helper-module-imports" "^7.0.0" + babel-plugin-syntax-jsx "^6.18.0" + lodash "^4.17.10" babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" @@ -1172,7 +1759,7 @@ babel-plugin-syntax-flow@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" -babel-plugin-syntax-jsx@^6.18.0, babel-plugin-syntax-jsx@^6.3.13, babel-plugin-syntax-jsx@^6.8.0: +babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" @@ -1192,7 +1779,7 @@ babel-plugin-transform-async-generator-functions@^6.24.1: babel-plugin-syntax-async-generators "^6.5.0" babel-runtime "^6.22.0" -babel-plugin-transform-async-to-generator@^6.22.0, babel-plugin-transform-async-to-generator@^6.24.1: +babel-plugin-transform-async-to-generator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" dependencies: @@ -1239,7 +1826,7 @@ babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es2015-block-scoping@^6.24.1: +babel-plugin-transform-es2015-block-scoping@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" dependencies: @@ -1249,7 +1836,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0, babel-plugin-transform-es20 babel-types "^6.26.0" lodash "^4.17.4" -babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-classes@^6.24.1: +babel-plugin-transform-es2015-classes@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" dependencies: @@ -1263,33 +1850,33 @@ babel-plugin-transform-es2015-classes@^6.23.0, babel-plugin-transform-es2015-cla babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-computed-properties@^6.22.0, babel-plugin-transform-es2015-computed-properties@^6.24.1: +babel-plugin-transform-es2015-computed-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-destructuring@^6.22.0, babel-plugin-transform-es2015-destructuring@^6.23.0: +babel-plugin-transform-es2015-destructuring@^6.22.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-duplicate-keys@^6.22.0, babel-plugin-transform-es2015-duplicate-keys@^6.24.1: +babel-plugin-transform-es2015-duplicate-keys@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" dependencies: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-plugin-transform-es2015-for-of@^6.22.0, babel-plugin-transform-es2015-for-of@^6.23.0: +babel-plugin-transform-es2015-for-of@^6.22.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-function-name@^6.22.0, babel-plugin-transform-es2015-function-name@^6.24.1: +babel-plugin-transform-es2015-function-name@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" dependencies: @@ -1303,7 +1890,7 @@ babel-plugin-transform-es2015-literals@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: +babel-plugin-transform-es2015-modules-amd@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" dependencies: @@ -1311,7 +1898,7 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015 babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: +babel-plugin-transform-es2015-modules-commonjs@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" dependencies: @@ -1320,7 +1907,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-e babel-template "^6.26.0" babel-types "^6.26.0" -babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: +babel-plugin-transform-es2015-modules-systemjs@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" dependencies: @@ -1328,7 +1915,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-e babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015-modules-umd@^6.24.1: +babel-plugin-transform-es2015-modules-umd@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" dependencies: @@ -1336,14 +1923,14 @@ babel-plugin-transform-es2015-modules-umd@^6.23.0, babel-plugin-transform-es2015 babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-plugin-transform-es2015-object-super@^6.22.0, babel-plugin-transform-es2015-object-super@^6.24.1: +babel-plugin-transform-es2015-object-super@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" dependencies: babel-helper-replace-supers "^6.24.1" babel-runtime "^6.22.0" -babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015-parameters@^6.24.1: +babel-plugin-transform-es2015-parameters@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" dependencies: @@ -1354,7 +1941,7 @@ babel-plugin-transform-es2015-parameters@^6.23.0, babel-plugin-transform-es2015- babel-traverse "^6.24.1" babel-types "^6.24.1" -babel-plugin-transform-es2015-shorthand-properties@^6.22.0, babel-plugin-transform-es2015-shorthand-properties@^6.24.1: +babel-plugin-transform-es2015-shorthand-properties@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" dependencies: @@ -1367,7 +1954,7 @@ babel-plugin-transform-es2015-spread@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-sticky-regex@^6.22.0, babel-plugin-transform-es2015-sticky-regex@^6.24.1: +babel-plugin-transform-es2015-sticky-regex@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" dependencies: @@ -1381,13 +1968,13 @@ babel-plugin-transform-es2015-template-literals@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-typeof-symbol@^6.22.0, babel-plugin-transform-es2015-typeof-symbol@^6.23.0: +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: version "6.23.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" dependencies: babel-runtime "^6.22.0" -babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es2015-unicode-regex@^6.24.1: +babel-plugin-transform-es2015-unicode-regex@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" dependencies: @@ -1395,7 +1982,7 @@ babel-plugin-transform-es2015-unicode-regex@^6.22.0, babel-plugin-transform-es20 babel-runtime "^6.22.0" regexpu-core "^2.0.0" -babel-plugin-transform-exponentiation-operator@^6.22.0, babel-plugin-transform-exponentiation-operator@^6.24.1: +babel-plugin-transform-exponentiation-operator@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" dependencies: @@ -1410,60 +1997,26 @@ babel-plugin-transform-export-extensions@^6.22.0: babel-plugin-syntax-export-extensions "^6.8.0" babel-runtime "^6.22.0" -babel-plugin-transform-flow-strip-types@^6.22.0, babel-plugin-transform-flow-strip-types@^6.8.0: +babel-plugin-transform-flow-strip-types@^6.8.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" dependencies: babel-plugin-syntax-flow "^6.18.0" babel-runtime "^6.22.0" -babel-plugin-transform-object-rest-spread@^6.22.0, babel-plugin-transform-object-rest-spread@^6.23.0: +babel-plugin-transform-object-rest-spread@^6.22.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" dependencies: babel-plugin-syntax-object-rest-spread "^6.8.0" babel-runtime "^6.26.0" -babel-plugin-transform-react-display-name@^6.23.0: - version "6.25.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz#67e2bf1f1e9c93ab08db96792e05392bf2cc28d1" - dependencies: - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx-self@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz#df6d80a9da2612a121e6ddd7558bcbecf06e636e" - dependencies: - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx-source@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz#66ac12153f5cd2d17b3c19268f4bf0197f44ecd6" - dependencies: - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-react-jsx@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz#840a028e7df460dfc3a2d29f0c0d91f6376e66a3" - dependencies: - babel-helper-builder-react-jsx "^6.24.1" - babel-plugin-syntax-jsx "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-regenerator@^6.22.0, babel-plugin-transform-regenerator@^6.24.1: +babel-plugin-transform-regenerator@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" dependencies: regenerator-transform "^0.10.0" -babel-plugin-transform-runtime@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz#88490d446502ea9b8e7efb0fe09ec4d99479b1ee" - dependencies: - babel-runtime "^6.22.0" - babel-plugin-transform-strict-mode@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" @@ -1471,49 +2024,6 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-polyfill@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" - dependencies: - babel-runtime "^6.26.0" - core-js "^2.5.0" - regenerator-runtime "^0.10.5" - -babel-preset-env@^1.6.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48" - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-syntax-trailing-function-commas "^6.22.0" - babel-plugin-transform-async-to-generator "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.23.0" - babel-plugin-transform-es2015-classes "^6.23.0" - babel-plugin-transform-es2015-computed-properties "^6.22.0" - babel-plugin-transform-es2015-destructuring "^6.23.0" - babel-plugin-transform-es2015-duplicate-keys "^6.22.0" - babel-plugin-transform-es2015-for-of "^6.23.0" - babel-plugin-transform-es2015-function-name "^6.22.0" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.22.0" - babel-plugin-transform-es2015-modules-commonjs "^6.23.0" - babel-plugin-transform-es2015-modules-systemjs "^6.23.0" - babel-plugin-transform-es2015-modules-umd "^6.23.0" - babel-plugin-transform-es2015-object-super "^6.22.0" - babel-plugin-transform-es2015-parameters "^6.23.0" - babel-plugin-transform-es2015-shorthand-properties "^6.22.0" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.22.0" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.23.0" - babel-plugin-transform-es2015-unicode-regex "^6.22.0" - babel-plugin-transform-exponentiation-operator "^6.22.0" - babel-plugin-transform-regenerator "^6.22.0" - browserslist "^2.1.2" - invariant "^2.2.2" - semver "^5.3.0" - babel-preset-es2015@^6.24.0, babel-preset-es2015@^6.9.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" @@ -1543,12 +2053,6 @@ babel-preset-es2015@^6.24.0, babel-preset-es2015@^6.9.0: babel-plugin-transform-es2015-unicode-regex "^6.24.1" babel-plugin-transform-regenerator "^6.24.1" -babel-preset-flow@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz#e71218887085ae9a24b5be4169affb599816c49d" - dependencies: - babel-plugin-transform-flow-strip-types "^6.22.0" - babel-preset-jest@^23.2.0: version "23.2.0" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46" @@ -1556,16 +2060,13 @@ babel-preset-jest@^23.2.0: babel-plugin-jest-hoist "^23.2.0" babel-plugin-syntax-object-rest-spread "^6.13.0" -babel-preset-react@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-react/-/babel-preset-react-6.24.1.tgz#ba69dfaea45fc3ec639b6a4ecea6e17702c91380" +babel-preset-jest@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.0.0.tgz#d23782e5e036cff517859640a80960bd628bd82b" + integrity sha512-ECMMOLvNDCmsn3geBa3JkwzylcfpThMpAdfreONQm8EmXcs4tXUpXZDQPxiIMg7nMobTuAC2zDGIKrbrBXW2Vg== dependencies: - babel-plugin-syntax-jsx "^6.3.13" - babel-plugin-transform-react-display-name "^6.23.0" - babel-plugin-transform-react-jsx "^6.24.1" - babel-plugin-transform-react-jsx-self "^6.22.0" - babel-plugin-transform-react-jsx-source "^6.22.0" - babel-preset-flow "^6.23.0" + "@babel/plugin-syntax-object-rest-spread" "^7.0.0" + babel-plugin-jest-hoist "^24.0.0" babel-preset-stage-1@^6.5.0: version "6.24.1" @@ -1646,10 +2147,6 @@ babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24. lodash "^4.17.4" to-fast-properties "^1.0.3" -babel@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel/-/babel-6.23.0.tgz#d0d1e7d803e974765beea3232d4e153c0efb90f4" - babelify@^7.3.0: version "7.3.0" resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5" @@ -1657,10 +2154,6 @@ babelify@^7.3.0: babel-core "^6.0.14" object-assign "^4.0.0" -babylon@7.0.0-beta.44: - version "7.0.0-beta.44" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.44.tgz#89159e15e6e30c5096e22d738d8c0af8a0e8ca1d" - babylon@^6.17.3, babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" @@ -1676,6 +2169,7 @@ bail@^1.0.0: balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base-x@^3.0.4: version "3.0.5" @@ -1734,6 +2228,12 @@ bfj-node4@^5.2.0: big.js@^3.1.3: version "3.2.0" resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== bignumber.js@2.4.0, bignumber.js@^2.3.0: version "2.4.0" @@ -1831,15 +2331,10 @@ boolbase@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - brace-expansion@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" @@ -1951,13 +2446,6 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^2.1.2: - version "2.9.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.9.1.tgz#b72d3982ab01b5cd24da62ff6d45573886aff275" - dependencies: - caniuse-lite "^1.0.30000770" - electron-to-chromium "^1.3.27" - browserslist@^2.11.3: version "2.11.3" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" @@ -1965,6 +2453,15 @@ browserslist@^2.11.3: caniuse-lite "^1.0.30000792" electron-to-chromium "^1.3.30" +browserslist@^4.3.4: + version "4.4.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.4.1.tgz#42e828954b6b29a7a53e352277be429478a69062" + integrity sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A== + dependencies: + caniuse-lite "^1.0.30000929" + electron-to-chromium "^1.3.103" + node-releases "^1.1.3" + bs58@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.1.tgz#55908d58f1982aba2008fa1bed8f91998a29bf8d" @@ -2141,14 +2638,20 @@ camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" -caniuse-lite@^1.0.30000770: - version "1.0.30000770" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000770.tgz#bc8e7f50b073273390db6ab357378909a14e9bdb" +camelcase@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" + integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805: version "1.0.30000884" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000884.tgz#eb82a959698745033b26a4dcd34d89dba7cc6eb3" +caniuse-lite@^1.0.30000929: + version "1.0.30000933" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000933.tgz#5871ff54b3177675ae1c2a275b2aae7abf2b9222" + integrity sha512-d3QXv7eFTU40DSedSP81dV/ajcGSKpT+GW+uhtWmLvQm9bPk0KK++7i1e2NSW/CXGZhWFt2mFbFtCJ5I5bMuVA== + capture-exit@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" @@ -2184,7 +2687,16 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.2, chalk@^2.4.1: +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^2.0.1, chalk@^2.3.2, chalk@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" dependencies: @@ -2240,21 +2752,6 @@ check-types@^7.3.0: version "7.4.0" resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4" -chokidar@^1.6.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - chokidar@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.3.tgz#dcbd4f6cbb2a55b4799ba8a840ac527e5f4b1176" @@ -2273,7 +2770,7 @@ chokidar@^2.0.0: optionalDependencies: fsevents "^1.1.2" -chokidar@^2.0.2: +chokidar@^2.0.2, chokidar@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" dependencies: @@ -2352,6 +2849,16 @@ cli-spinners@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" +cli-table3@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" + integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== + dependencies: + object-assign "^4.1.0" + string-width "^2.1.1" + optionalDependencies: + colors "^1.1.2" + cli-table@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" @@ -2453,18 +2960,20 @@ collection-visit@^1.0.0: object-visit "^1.0.0" color-convert@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: - color-name "^1.1.1" + color-name "1.1.3" color-hash@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/color-hash/-/color-hash-1.0.3.tgz#c0e7952f06d022e548e65da239512bd67d3809ee" -color-name@^1.1.1: +color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= colors@1.0.3: version "1.0.3" @@ -2480,7 +2989,7 @@ combined-stream@1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -combined-stream@^1.0.5, combined-stream@~1.0.5: +combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" dependencies: @@ -2519,6 +3028,7 @@ commander@~2.8.1: commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= compare-versions@^3.1.0: version "3.3.0" @@ -2559,6 +3069,7 @@ compression@^1.5.2: concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= concat-stream@^1.5.0: version "1.6.0" @@ -2614,6 +3125,13 @@ content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" +convert-source-map@^1.1.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" + integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== + dependencies: + safe-buffer "~5.1.1" + convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" @@ -2662,14 +3180,19 @@ core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" -core-js@^2.4.0, core-js@^2.5.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" +core-js@^2.4.0, core-js@^2.5.7: + version "2.6.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.3.tgz#4b70938bdffdaf64931e66e2db158f0892289c49" + integrity sha512-l00tmFFZOBHtYhN4Cz7k32VM7vTn3rE2ANjQDxdEN6zmXZ/xq1jQuutnmHvMG1ZJ7xd72+TA5YpUK8wz3rWsfQ== core-js@^2.4.1: version "2.5.6" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.6.tgz#0fe6d45bf3cac3ac364a9d72de7576f4eb221b9d" +core-js@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -2759,7 +3282,7 @@ cross-spawn@^5.0.1, cross-spawn@^5.1.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^6.0.4, cross-spawn@^6.0.5: +cross-spawn@^6.0.0, cross-spawn@^6.0.4, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" dependencies: @@ -2769,12 +3292,6 @@ cross-spawn@^6.0.4, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - crypto-browserify@3.12.0, crypto-browserify@^3.11.0: version "3.12.0" resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" @@ -2899,6 +3416,13 @@ debug@^3.0.0, debug@^3.1.0: dependencies: ms "2.0.0" +debug@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + decamelize-keys@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -2906,9 +3430,10 @@ decamelize-keys@^1.0.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2: +decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= decode-uri-component@^0.2.0: version "0.2.0" @@ -2995,11 +3520,11 @@ default-require-extensions@^2.0.0: strip-bom "^3.0.0" define-properties@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: - foreach "^2.0.5" - object-keys "^1.0.8" + object-keys "^1.0.12" define-property@^0.2.5: version "0.2.5" @@ -3269,9 +3794,10 @@ ejs@^2.5.7, ejs@^2.5.9: version "2.6.1" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" -electron-to-chromium@^1.3.27: - version "1.3.27" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz#78ecb8a399066187bb374eede35d9c70565a803d" +electron-to-chromium@^1.3.103: + version "1.3.111" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.111.tgz#9bde11c953425c1756f85c66e61de2b74ced75d0" + integrity sha512-I2QjmmxWULp89fEHlFwRpKXSw4Y/Igo3u41py4MkzJTrgDOf/S4oq/IMuTUHze/5TTPpwem74oQiPMEgFtuDRA== electron-to-chromium@^1.3.30: version "1.3.62" @@ -3312,6 +3838,7 @@ emoji-regex@^6.5.1: emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= encodeurl@~1.0.2: version "1.0.2" @@ -3378,7 +3905,7 @@ error@^7.0.2: string-template "~0.2.1" xtend "~4.0.0" -es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.6.1: +es-abstract@^1.4.3, es-abstract@^1.6.1: version "1.12.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" dependencies: @@ -3388,6 +3915,18 @@ es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.6.1: is-callable "^1.1.3" is-regex "^1.0.4" +es-abstract@^1.5.1: + version "1.13.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" + integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== + dependencies: + es-to-primitive "^1.2.0" + function-bind "^1.1.1" + has "^1.0.3" + is-callable "^1.1.4" + is-regex "^1.0.4" + object-keys "^1.0.12" + es-abstract@^1.7.0: version "1.11.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681" @@ -3398,13 +3937,14 @@ es-abstract@^1.7.0: is-callable "^1.1.3" is-regex "^1.0.4" -es-to-primitive@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" +es-to-primitive@^1.1.1, es-to-primitive@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" + integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== dependencies: - is-callable "^1.1.1" + is-callable "^1.1.4" is-date-object "^1.0.1" - is-symbol "^1.0.1" + is-symbol "^1.0.2" es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: version "0.10.42" @@ -3436,6 +3976,7 @@ escape-html@~1.0.3: escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escodegen@^1.9.1: version "1.11.0" @@ -3464,12 +4005,13 @@ eslint-config-airbnb@^17.0.0: object.assign "^4.1.0" object.entries "^1.0.4" -eslint-import-resolver-babel-module@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-babel-module/-/eslint-import-resolver-babel-module-4.0.0.tgz#1c596f7fb9815050292c8750d523b27a5444b4bf" +eslint-import-resolver-babel-module@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-babel-module/-/eslint-import-resolver-babel-module-5.0.1.tgz#02e36fbefa7aaf8ff0d298ed2651ea48ad26dd1e" + integrity sha512-q1IDVrpXAKz90t4x/S9RUeQgSK5wfH1AF/tR3iUAmLeCiAEVep/tNtX9EhQjut8DLgloUfUHoJWd8QCAJXhv+A== dependencies: pkg-up "^2.0.0" - resolve "^1.4.0" + resolve "^1.10.0" eslint-import-resolver-node@^0.3.1: version "0.3.2" @@ -3479,8 +4021,9 @@ eslint-import-resolver-node@^0.3.1: resolve "^1.5.0" eslint-loader@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.1.0.tgz#61334c548aeb0b8e20ec3a552fb7a88c47261c6a" + version "2.1.1" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.1.1.tgz#2a9251523652430bfdd643efdb0afc1a2a89546a" + integrity sha512-1GrJFfSevQdYpoDzx8mEE2TDWsb/zmFuY09l6hURg1AeFIKQOvZ+vH0UPjzmd1CZIbfTV5HUkMeBmFiDBkgIsQ== dependencies: loader-fs-cache "^1.0.0" loader-utils "^1.0.2" @@ -3549,6 +4092,7 @@ eslint-restricted-globals@^0.1.1: eslint-scope@3.7.1: version "3.7.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" + integrity sha1-PWPD7f2gLgbgGkUq2IyqzHzctug= dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" @@ -3570,6 +4114,7 @@ eslint-scope@^4.0.0: eslint-visitor-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" + integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== eslint@^4: version "4.19.1" @@ -3642,16 +4187,19 @@ esquery@^1.0.0: esrecurse@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" + integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== dependencies: estraverse "^4.1.0" estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM= -esutils@^2.0.2: +esutils@^2.0.0, esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs= etag@~1.8.1: version "1.8.1" @@ -3776,12 +4324,25 @@ exec-sh@^0.2.0: dependencies: merge "^1.2.0" -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" + cross-spawn "^6.0.0" + get-stream "^4.0.0" is-stream "^1.1.0" npm-run-path "^2.0.0" p-finally "^1.0.0" @@ -3895,10 +4456,6 @@ extend@^3.0.0, extend@~3.0.1, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" -extend@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" - external-editor@^2.0.4, external-editor@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" @@ -4099,6 +4656,7 @@ finalhandler@1.1.1: find-babel-config@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-babel-config/-/find-babel-config-1.1.0.tgz#acc01043a6749fec34429be6b64f542ebb5d6355" + integrity sha1-rMAQQ6Z0n+w0Qpvmtk9ULrtdY1U= dependencies: json5 "^0.5.1" path-exists "^3.0.0" @@ -4106,6 +4664,7 @@ find-babel-config@^1.1.0: find-cache-dir@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= dependencies: commondir "^1.0.1" mkdirp "^0.5.1" @@ -4119,9 +4678,19 @@ find-cache-dir@^1.0.0: make-dir "^1.0.0" pkg-dir "^2.0.0" +find-cache-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.0.0.tgz#4c1faed59f45184530fb9d7fa123a4d04a98472d" + integrity sha512-LDUY6V1Xs5eFskUVYtIwatojt6+9xC9Chnlk/jYOOvn3FAFfSaWddxahDGyNHh0b2dMXa6YW2m0tk8TdVaXHlA== + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^3.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= dependencies: path-exists "^2.0.0" pinkie-promise "^2.0.0" @@ -4129,9 +4698,17 @@ find-up@^1.0.0: find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" + integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + dependencies: + locate-path "^3.0.0" + first-chunk-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" @@ -4195,22 +4772,10 @@ for-own@^0.1.4: dependencies: for-in "^1.0.1" -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - form-data@~2.3.1, form-data@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" @@ -4270,9 +4835,10 @@ fs-promise@^2.0.0: mz "^2.6.0" thenify-all "^1.6.0" -fs-readdir-recursive@^1.0.0: +fs-readdir-recursive@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== fs-write-stream-atomic@^1.0.8: version "1.0.10" @@ -4286,6 +4852,7 @@ fs-write-stream-atomic@^1.0.8: fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@*, fsevents@^1.1.2, fsevents@^1.2.2, fsevents@^1.2.3: version "1.2.4" @@ -4294,22 +4861,7 @@ fsevents@*, fsevents@^1.1.2, fsevents@^1.2.2, fsevents@^1.2.3: nan "^2.9.2" node-pre-gyp "^0.10.0" -fsevents@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.39" - -fstream-ignore@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" - dependencies: - fstream "^1.0.0" - inherits "2" - minimatch "^3.0.0" - -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2, fstream@^1.0.8: +fstream@^1.0.2, fstream@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" dependencies: @@ -4321,6 +4873,7 @@ fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2, fstream@^1.0.8: function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== functional-red-black-tree@^1.0.1: version "1.0.1" @@ -4362,6 +4915,13 @@ get-stream@^2.2.0: object-assign "^4.0.1" pinkie-promise "^2.0.0" +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -4420,7 +4980,7 @@ glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: +glob@^7.0.0, glob@^7.0.3, glob@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -4431,6 +4991,18 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.0.5, glob@^7.1.2, glob@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" @@ -4456,10 +5028,15 @@ global@^4.3.0, global@~4.3.0: min-document "^2.19.0" process "~0.5.1" -globals@^11.0.1, globals@^11.1.0: +globals@^11.0.1: version "11.7.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" +globals@^11.1.0: + version "11.10.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50" + integrity sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ== + globals@^9.18.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" @@ -4559,7 +5136,7 @@ got@^8.2.0: url-parse-lax "^3.0.0" url-to-options "^1.0.1" -graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6: +graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -4598,21 +5175,10 @@ handlebars@^4.0.3: optionalDependencies: uglify-js "^2.6" -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" - dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" - har-validator@~5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" @@ -4648,6 +5214,7 @@ has-flag@^2.0.0: has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-symbol-support-x@^1.4.1: version "1.4.2" @@ -4694,13 +5261,7 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" - dependencies: - function-bind "^1.0.2" - -has@^1.0.3: +has@^1.0.1, has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" dependencies: @@ -4726,15 +5287,6 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.0" -hawk@3.1.3, hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - hdkey@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/hdkey/-/hdkey-0.8.0.tgz#08c9a9fcb6a42d9724d669f81c53a3c507f87bf1" @@ -4765,10 +5317,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - hoist-non-react-statics@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz#343db84c6018c650778898240135a1420ee22ce0" @@ -4790,6 +5338,11 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" +home-or-tmp@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-3.0.0.tgz#57a8fe24cf33cdd524860a15821ddc25c86671fb" + integrity sha1-V6j+JM8zzdUkhgoVgh3cJchmcfs= + homedir-polyfill@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" @@ -4918,14 +5471,6 @@ http-proxy@^1.16.2: follow-redirects "^1.0.0" requires-port "^1.0.0" -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -5006,6 +5551,7 @@ indexof@0.0.1: inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" @@ -5076,22 +5622,27 @@ into-stream@^3.1.0: from2 "^2.1.1" p-is-promise "^1.1.0" -invariant@^2.2.0, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - dependencies: - loose-envify "^1.0.0" - invariant@^2.2.1, invariant@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" dependencies: loose-envify "^1.0.0" +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + dependencies: + loose-envify "^1.0.0" + invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" +invert-kv@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" + integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" @@ -5147,9 +5698,10 @@ is-builtin-module@^1.0.0: dependencies: builtin-modules "^1.0.0" -is-callable@^1.1.1, is-callable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" +is-callable@^1.1.3, is-callable@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== is-ci@^1.0.10: version "1.1.0" @@ -5172,6 +5724,7 @@ is-data-descriptor@^1.0.0: is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= is-decimal@^1.0.0: version "1.0.2" @@ -5356,6 +5909,7 @@ is-promise@^2.1.0: is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= dependencies: has "^1.0.1" @@ -5385,9 +5939,12 @@ is-supported-regexp-flag@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz#21ee16518d2c1dd3edd3e9a0d57e50207ac364ca" -is-symbol@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" +is-symbol@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" + integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== + dependencies: + has-symbols "^1.0.0" is-typedarray@^1.0.0, is-typedarray@~1.0.0: version "1.0.0" @@ -5829,6 +6386,11 @@ js-base64@^2.1.9: version "2.3.2" resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.3.2.tgz#a79a923666372b580f8e27f51845c6f7e8fbfbaf" +js-levenshtein@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" + integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== + js-sha3@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.3.1.tgz#86122802142f0828502a0d1dee1d95e253bb0243" @@ -5837,9 +6399,10 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -"js-tokens@^3.0.0 || ^4.0.0": +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1: version "3.12.0" @@ -5928,8 +6491,9 @@ jsesc@^1.3.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" jsesc@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== jsesc@~0.5.0: version "0.5.0" @@ -5959,12 +6523,6 @@ json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" -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" - 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" @@ -5976,6 +6534,21 @@ json3@^3.3.2: json5@^0.5.0, json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + +json5@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" + integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== + dependencies: + minimist "^1.2.0" jsonfile@^2.1.0: version "2.4.0" @@ -6075,6 +6648,13 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" +lcid@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" + integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + dependencies: + invert-kv "^2.0.0" + left-pad@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" @@ -6169,6 +6749,7 @@ load-json-file@^4.0.0: loader-fs-cache@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz#56e0bf08bd9708b26a765b68509840c8dec9fdbc" + integrity sha1-VuC/CL2XCLJqdltoUJhAyN7J/bw= dependencies: find-cache-dir "^0.1.1" mkdirp "0.5.1" @@ -6186,7 +6767,16 @@ loader-utils@^0.2.16: json5 "^0.5.0" object-assign "^4.0.1" -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@~1.1.0: +loader-utils@^1.0.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" + integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + dependencies: + big.js "^5.2.2" + emojis-list "^2.0.0" + json5 "^1.0.1" + +loader-utils@^1.1.0, loader-utils@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" dependencies: @@ -6197,10 +6787,19 @@ loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@~1.1.0: locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= dependencies: p-locate "^2.0.0" path-exists "^3.0.0" +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" + integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + lodash._getnative@^3.0.0: version "3.9.1" resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" @@ -6241,10 +6840,15 @@ lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" -lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: +lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.3.0: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" +lodash@^4.17.10, lodash@^4.17.4: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== + lodash@^4.17.5: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" @@ -6333,15 +6937,10 @@ lru-cache@^4.0.1, lru-cache@^4.1.1: pseudomap "^1.0.2" yallist "^2.1.2" -make-dir@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" - dependencies: - pify "^3.0.0" - -make-dir@^1.1.0: +make-dir@^1.0.0, make-dir@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== dependencies: pify "^3.0.0" @@ -6355,6 +6954,13 @@ mamacro@^0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" +map-age-cleaner@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" + integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + dependencies: + p-defer "^1.0.0" + map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" @@ -6437,6 +7043,15 @@ mem@^1.1.0: dependencies: mimic-fn "^1.0.0" +mem@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-4.1.0.tgz#aeb9be2d21f47e78af29e4ac5978e8afa2ca5b8a" + integrity sha512-I5u6Q1x7wxO0kdOpYBB28xueHADYps5uty/zg936CiG8NTe5sJL8EjrCuLneuDW3PlMdZBGDIn8BirEVdovZvg== + dependencies: + map-age-cleaner "^0.1.1" + mimic-fn "^1.0.0" + p-is-promise "^2.0.0" + memoize-one@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-4.0.0.tgz#fc5e2f1427a216676a62ec652cf7398cfad123db" @@ -6503,7 +7118,7 @@ methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" -micromatch@^2.1.5, micromatch@^2.3.11, micromatch@^2.3.7: +micromatch@^2.3.11, micromatch@^2.3.7: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" dependencies: @@ -6558,7 +7173,7 @@ mime-db@~1.36.0: version "1.36.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.36.0.tgz#5020478db3c7fe93aad7bbcc4dcf869c43363397" -mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.7: +mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16: version "2.1.17" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" dependencies: @@ -6609,6 +7224,7 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" @@ -6622,6 +7238,7 @@ minimist-options@^3.0.1: minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= minimist@1.1.x: version "1.1.3" @@ -6634,6 +7251,7 @@ minimist@^0.1.0: minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= minimist@~0.0.1: version "0.0.10" @@ -6683,6 +7301,7 @@ mkdirp-promise@^5.0.1: mkdirp@*, mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= dependencies: minimist "0.0.8" @@ -6719,6 +7338,11 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" +ms@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + multicast-dns-service-types@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" @@ -6759,7 +7383,7 @@ nan@^2.0.8, nan@^2.3.3: version "2.11.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.0.tgz#574e360e4d954ab16966ec102c0c049fd961a099" -nan@^2.2.1, nan@^2.3.0: +nan@^2.2.1: version "2.8.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" @@ -6865,6 +7489,11 @@ node-libs-browser@^2.0.0: util "^0.10.3" vm-browserify "0.0.4" +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + node-notifier@5.2.1, node-notifier@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea" @@ -6889,21 +7518,12 @@ node-pre-gyp@^0.10.0: semver "^5.3.0" tar "^4" -node-pre-gyp@^0.6.39: - version "0.6.39" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" +node-releases@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.6.tgz#47d160033e24a64e79487a62de63cf691052ec54" + integrity sha512-lODUVHEIZutZx+TDdOk47qLik8FJMXzJ+WnyUGci1MTvTOyzZrz5eVPIIpc5Hb3NfHZGeGHeuwrRYVI1PEITWg== dependencies: - detect-libc "^1.0.2" - hawk "3.1.3" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.0.2" - rc "^1.1.7" - request "2.81.0" - rimraf "^2.6.1" semver "^5.3.0" - tar "^2.2.1" - tar-pack "^3.4.0" nomnom@^1.8.1: version "1.8.1" @@ -6928,7 +7548,7 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: +normalize-path@^2.0.1, normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: @@ -7015,7 +7635,7 @@ nwsapi@^2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.7.tgz#6fc54c254621f10cac5225b76e81c74120139b78" -oauth-sign@~0.8.1, oauth-sign@~0.8.2: +oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" @@ -7036,13 +7656,19 @@ object-copy@^0.1.0: kind-of "^3.0.3" object-hash@^1.1.4: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.0.tgz#76d9ba6ff113cf8efc0d996102851fe6723963e2" + version "1.3.1" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df" + integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA== -object-keys@^1.0.11, object-keys@^1.0.8: +object-keys@^1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" +object-keys@^1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" + integrity sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag== + object-visit@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" @@ -7070,6 +7696,7 @@ object.entries@^1.0.4: object.getownpropertydescriptors@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= dependencies: define-properties "^1.1.2" es-abstract "^1.5.1" @@ -7107,7 +7734,7 @@ on-headers@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" -once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: @@ -7182,6 +7809,15 @@ os-locale@^2.0.0: lcid "^1.0.0" mem "^1.1.0" +os-locale@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" + integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + dependencies: + execa "^1.0.0" + lcid "^2.0.0" + mem "^4.0.0" + os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -7193,13 +7829,14 @@ osenv@^0.1.4: os-homedir "^1.0.0" os-tmpdir "^1.0.0" -output-file-sync@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" +output-file-sync@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-2.0.1.tgz#f53118282f5f553c2799541792b723a4c71430c0" + integrity sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ== dependencies: - graceful-fs "^4.1.4" + graceful-fs "^4.1.11" + is-plain-obj "^1.1.0" mkdirp "^0.5.1" - object-assign "^4.1.0" p-cancelable@^0.3.0: version "0.3.0" @@ -7209,6 +7846,11 @@ p-cancelable@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" +p-defer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" + integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + p-each-series@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" @@ -7223,26 +7865,42 @@ p-is-promise@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" +p-is-promise@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" + integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== + p-lazy@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-lazy/-/p-lazy-1.0.0.tgz#ec53c802f2ee3ac28f166cc82d0b2b02de27a835" -p-limit@^1.0.0: +p-limit@^1.0.0, p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" dependencies: p-try "^1.0.0" -p-limit@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" +p-limit@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.1.0.tgz#1d5a0d20fb12707c758a655f6bbc4386b5930d68" + integrity sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g== + dependencies: + p-try "^2.0.0" p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= dependencies: p-limit "^1.1.0" +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" + integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + dependencies: + p-limit "^2.0.0" + p-map@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b" @@ -7266,6 +7924,12 @@ p-timeout@^2.0.1: p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" + integrity sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ== pako@~1.0.5: version "1.0.6" @@ -7368,16 +8032,19 @@ path-dirname@^1.0.0: path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= dependencies: pinkie-promise "^2.0.0" path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-is-inside@^1.0.1, path-is-inside@^1.0.2: version "1.0.2" @@ -7387,9 +8054,10 @@ path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" -path-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" +path-parse@^1.0.5, path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== path-to-regexp@0.1.7: version "0.1.7" @@ -7441,10 +8109,6 @@ pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -7456,20 +8120,31 @@ pify@^2.0.0, pify@^2.3.0: pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pinkie-promise@^2.0.0, pinkie-promise@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= dependencies: pinkie "^2.0.0" pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pirates@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.0.tgz#850b18781b4ac6ec58a43c9ed9ec5fe6796addbd" + integrity sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA== + dependencies: + node-modules-regexp "^1.0.0" pkg-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= dependencies: find-up "^1.0.0" @@ -7479,9 +8154,17 @@ pkg-dir@^2.0.0: dependencies: find-up "^2.1.0" +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" + integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + dependencies: + find-up "^3.0.0" + pkg-up@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= dependencies: find-up "^2.1.0" @@ -7732,6 +8415,14 @@ pump@^2.0.0, pump@^2.0.1: end-of-stream "^1.1.0" once "^1.3.1" +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + pumpify@^1.3.3: version "1.4.0" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.4.0.tgz#80b7c5df7e24153d03f0e7ac8a05a5d068bd07fb" @@ -7768,10 +8459,6 @@ qs@6.5.2, qs@~6.5.1, qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" -qs@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - query-string@^5.0.1: version "5.1.1" resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" @@ -8193,7 +8880,7 @@ readable-stream@^2.0.1, readable-stream@^2.2.9, readable-stream@^2.3.0, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4: +readable-stream@^2.0.2, readable-stream@^2.0.6: version "2.3.3" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" dependencies: @@ -8291,17 +8978,26 @@ redux@4.0.0: loose-envify "^1.1.0" symbol-observable "^1.2.0" +regenerate-unicode-properties@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c" + integrity sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw== + dependencies: + regenerate "^1.4.0" + regenerate@^1.2.1: version "1.3.3" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" -regenerator-runtime@^0.10.5: - version "0.10.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" +regenerate@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== regenerator-runtime@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz#7e54fe5b5ccd5d6624ea6255c3473be090b802e1" + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== regenerator-runtime@^0.12.0: version "0.12.1" @@ -8315,6 +9011,13 @@ regenerator-transform@^0.10.0: babel-types "^6.19.0" private "^0.1.6" +regenerator-transform@^0.13.3: + version "0.13.3" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb" + integrity sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA== + dependencies: + private "^0.1.6" + regex-cache@^0.4.2: version "0.4.4" resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" @@ -8328,6 +9031,15 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexp-tree@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.1.tgz#27b455f9b138ca2e84c090e9aff1ffe2a04d97fa" + integrity sha512-HwRjOquc9QOwKTgbxvZTcddS5mlNlwePMQ3NFL8broajMLD5CXDAqas8Y5yxJH5QtZp5iRor3YCILd5pz71Cgw== + dependencies: + cli-table3 "^0.5.0" + colors "^1.1.2" + yargs "^12.0.5" + regexpp@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" @@ -8340,16 +9052,40 @@ regexpu-core@^2.0.0: regjsgen "^0.2.0" regjsparser "^0.1.4" +regexpu-core@^4.1.3, regexpu-core@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.4.0.tgz#8d43e0d1266883969720345e70c275ee0aec0d32" + integrity sha512-eDDWElbwwI3K0Lo6CqbQbA6FwgtCz4kYTarrri1okfkRLZAqstU+B3voZBCjg8Fl6iq0gXrJG6MvRgLthfvgOA== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^7.0.0" + regjsgen "^0.5.0" + regjsparser "^0.6.0" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.0.2" + regjsgen@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" +regjsgen@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" + integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== + regjsparser@^0.1.4: version "0.1.5" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" dependencies: jsesc "~0.5.0" +regjsparser@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" + integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== + dependencies: + jsesc "~0.5.0" + relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" @@ -8451,33 +9187,6 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.0" tough-cookie ">=2.3.3" -request@2.81.0: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - request@^2.79.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" @@ -8554,6 +9263,7 @@ requires-port@^1.0.0: reselect@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/reselect/-/reselect-3.0.1.tgz#efdaa98ea7451324d092b2b2163a6a1d7a9a2147" + integrity sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc= resolve-cwd@^2.0.0: version "2.0.0" @@ -8598,7 +9308,14 @@ resolve@^1.1.6: dependencies: path-parse "^1.0.5" -resolve@^1.4.0, resolve@^1.5.0, resolve@^1.6.0: +resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" + integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== + dependencies: + path-parse "^1.0.6" + +resolve@^1.5.0, resolve@^1.6.0: version "1.8.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" dependencies: @@ -8634,12 +9351,19 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2: +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" dependencies: glob "^7.0.5" +rimraf@^2.6.1: + version "2.6.3" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" + integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + dependencies: + glob "^7.1.3" + rimraf@~2.2.6: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" @@ -8821,6 +9545,11 @@ semver@^5.4.1, semver@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" +semver@^5.5.1: + version "5.6.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" + integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== + send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" @@ -8994,6 +9723,11 @@ slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + slice-ansi@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" @@ -9035,12 +9769,6 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - sockjs-client@1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" @@ -9092,6 +9820,14 @@ source-map-support@^0.5.6: buffer-from "^1.0.0" source-map "^0.6.0" +source-map-support@^0.5.9: + version "0.5.10" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" + integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" @@ -9103,6 +9839,7 @@ source-map@0.5.6: source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= source-map@^0.4.4: version "0.4.4" @@ -9335,10 +10072,6 @@ stringify-entities@^1.0.1: is-alphanumerical "^1.0.0" is-hexadecimal "^1.0.0" -stringstream@~0.0.4: - version "0.0.5" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" - strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -9510,7 +10243,7 @@ stylis-rule-sheet@^0.0.10: version "0.0.10" resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" -stylis@^3.0.0, stylis@^3.5.0: +stylis@^3.5.0: version "3.5.3" resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.3.tgz#99fdc46afba6af4deff570825994181a5e6ce546" @@ -9536,7 +10269,7 @@ supports-color@^4.0.0: dependencies: has-flag "^2.0.0" -supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.0: +supports-color@^5.1.0, supports-color@^5.4.0: version "5.4.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" dependencies: @@ -9548,9 +10281,10 @@ supports-color@^5.2.0: dependencies: has-flag "^3.0.0" -supports-color@^5.5.0: +supports-color@^5.3.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" @@ -9618,19 +10352,6 @@ tapable@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" -tar-pack@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" - dependencies: - debug "^2.2.0" - fstream "^1.0.10" - fstream-ignore "^1.0.5" - once "^1.3.3" - readable-stream "^2.1.4" - rimraf "^2.5.1" - tar "^2.2.1" - uid-number "^0.0.6" - tar-stream@^1.5.2: version "1.6.1" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.1.tgz#f84ef1696269d6223ca48f6e1eeede3f7e81f395" @@ -9653,7 +10374,7 @@ tar.gz@^1.0.5: mout "^0.11.0" tar "^2.1.1" -tar@^2.1.1, tar@^2.2.1: +tar@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" dependencies: @@ -9760,10 +10481,12 @@ to-buffer@^1.1.0: to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= to-object-path@^0.3.0: version "0.3.0" @@ -9798,12 +10521,6 @@ tough-cookie@>=2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.4.3: psl "^1.1.24" punycode "^1.4.1" -tough-cookie@~2.3.0: - version "2.3.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" - dependencies: - punycode "^1.4.1" - tough-cookie@~2.3.3: version "2.3.4" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" @@ -9835,6 +10552,7 @@ trim-newlines@^2.0.0: trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= trim-trailing-lines@^1.0.0: version "1.1.1" @@ -9948,10 +10666,6 @@ uglifyjs-webpack-plugin@^1.2.4: webpack-sources "^1.1.0" worker-farm "^1.5.2" -uid-number@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - ultron@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" @@ -9978,6 +10692,29 @@ unherit@^1.0.4: inherits "^2.0.1" xtend "^4.0.1" +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" + integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" + integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4" + integrity sha512-Rx7yODZC1L/T8XKo/2kNzVAQaRE88AaMvI1EF/Xnj3GW2wzN6fop9DDWuFAKUVFH7vozkz26DzP0qyWLKLIVPQ== + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" + integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg== + unified@^6.0.0: version "6.2.0" resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba" @@ -10129,10 +10866,6 @@ use@^3.1.0: dependencies: kind-of "^6.0.2" -user-home@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" - utf8@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.1.tgz#2e01db02f7d8d0944f77104f1609eb0c304cf768" @@ -10176,10 +10909,6 @@ uuid@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" -uuid@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" - uuid@^3.0.1, uuid@^3.1.0: version "3.2.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" @@ -10192,12 +10921,6 @@ v8-compile-cache@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4" -v8flags@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" - dependencies: - user-home "^1.1.1" - validate-npm-package-license@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" @@ -10788,6 +11511,7 @@ wrap-ansi@^2.0.0: wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= write-file-atomic@^1.2.0: version "1.3.4" @@ -10881,7 +11605,7 @@ y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" -y18n@^4.0.0: +"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" @@ -10897,6 +11621,14 @@ yallist@^3.0.0, yallist@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" +yargs-parser@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + yargs-parser@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" @@ -10937,6 +11669,24 @@ yargs@^11.0.0, yargs@^11.1.0: y18n "^3.2.1" yargs-parser "^9.0.2" +yargs@^12.0.5: + version "12.0.5" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" + integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== + dependencies: + cliui "^4.0.0" + decamelize "^1.2.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^11.1.1" + yargs@~1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/yargs/-/yargs-1.2.6.tgz#9c7b4a82fd5d595b2bf17ab6dcc43135432fe34b" From 536b861c05b5bb4a631cb9475e274dd30f261eb2 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Sat, 2 Feb 2019 14:42:12 +0100 Subject: [PATCH 130/219] update babel packages to last version --- package.json | 17 ++++++++--------- yarn.lock | 16 ++++++++-------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 37a52d95..37ba0c07 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ "server:stable": "node ./server/index.js --buildType=stable" }, "dependencies": { - "@babel/core": "^7.0.0", "bignumber.js": "2.4.0", "color-hash": "^1.0.3", "commander": "^2.19.0", @@ -80,20 +79,20 @@ "yarn-run-all": "^3.1.1" }, "devDependencies": { - "@babel/cli": "^7.0.0", - "@babel/core": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-flow-strip-types": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/preset-env": "^7.0.0", + "@babel/cli": "^7.2.3", + "@babel/core": "^7.2.2", + "@babel/plugin-proposal-class-properties": "^7.3.0", + "@babel/plugin-proposal-object-rest-spread": "^7.3.1", + "@babel/plugin-transform-flow-strip-types": "^7.2.3", + "@babel/plugin-transform-runtime": "^7.2.0", + "@babel/preset-env": "^7.3.1", "@babel/preset-flow": "^7.0.0", "@babel/preset-react": "^7.0.0", "@babel/register": "^7.0.0", "babel-core": "^7.0.0-bridge.0", "babel-eslint": "^9.0.0", "babel-jest": "^23.4.2", - "babel-loader": "^8.0.0", + "babel-loader": "^8.0.5", "babel-plugin-module-resolver": "^3.1.3", "babel-plugin-styled-components": "^1.10.0", "babel-preset-jest": "^24.0.0", diff --git a/yarn.lock b/yarn.lock index 19479bdb..12fcea77 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -"@babel/cli@^7.0.0": +"@babel/cli@^7.2.3": version "7.2.3" resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.2.3.tgz#1b262e42a3e959d28ab3d205ba2718e1923cfee6" integrity sha512-bfna97nmJV6nDJhXNPeEfxyMjWnt6+IjUAaDPiYRTBlm8L41n8nvw6UAqUCbvpFfU246gHPxW7sfWwqtF4FcYA== @@ -38,7 +38,7 @@ dependencies: "@babel/highlight" "7.0.0-beta.55" -"@babel/core@^7.0.0": +"@babel/core@^7.2.2": version "7.2.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" integrity sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw== @@ -324,7 +324,7 @@ "@babel/helper-remap-async-to-generator" "^7.1.0" "@babel/plugin-syntax-async-generators" "^7.2.0" -"@babel/plugin-proposal-class-properties@^7.0.0": +"@babel/plugin-proposal-class-properties@^7.3.0": version "7.3.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.3.0.tgz#272636bc0fa19a0bc46e601ec78136a173ea36cd" integrity sha512-wNHxLkEKTQ2ay0tnsam2z7fGZUi+05ziDJflEt3AZTP3oXLKHJp9HqhfroB/vdMvt3sda9fAbq7FsG8QPDrZBg== @@ -340,7 +340,7 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-json-strings" "^7.2.0" -"@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.3.1": +"@babel/plugin-proposal-object-rest-spread@^7.3.1": version "7.3.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.1.tgz#f69fb6a1ea6a4e1c503994a91d9cf76f3c4b36e8" integrity sha512-Nmmv1+3LqxJu/V5jU9vJmxR/KIRWFk2qLHmbB56yRRRFhlaSuOVXscX3gUmhaKgUhzA3otOHVubbIEVYsZ0eZg== @@ -490,7 +490,7 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" "@babel/helper-plugin-utils" "^7.0.0" -"@babel/plugin-transform-flow-strip-types@^7.0.0": +"@babel/plugin-transform-flow-strip-types@^7.0.0", "@babel/plugin-transform-flow-strip-types@^7.2.3": version "7.2.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.2.3.tgz#e3ac2a594948454e7431c7db33e1d02d51b5cd69" integrity sha512-xnt7UIk9GYZRitqCnsVMjQK1O2eKZwFB3CvvHjf5SGx6K6vr/MScCKQDnf1DxRaj501e3pXjti+inbSXX2ZUoQ== @@ -623,7 +623,7 @@ dependencies: regenerator-transform "^0.13.3" -"@babel/plugin-transform-runtime@^7.0.0": +"@babel/plugin-transform-runtime@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz#566bc43f7d0aedc880eaddbd29168d0f248966ea" integrity sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw== @@ -679,7 +679,7 @@ "@babel/helper-regex" "^7.0.0" regexpu-core "^4.1.3" -"@babel/preset-env@^7.0.0": +"@babel/preset-env@^7.3.1": version "7.3.1" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.3.1.tgz#389e8ca6b17ae67aaf9a2111665030be923515db" integrity sha512-FHKrD6Dxf30e8xgHQO0zJZpUPfVZg+Xwgz5/RdSWCbza9QLNk4Qbp40ctRoqDxml3O8RMzB1DU55SXeDG6PqHQ== @@ -1654,7 +1654,7 @@ babel-jest@^23.4.2: babel-plugin-istanbul "^4.1.6" babel-preset-jest "^23.2.0" -babel-loader@^8.0.0: +babel-loader@^8.0.5: version "8.0.5" resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.5.tgz#225322d7509c2157655840bba52e46b6c2f2fe33" integrity sha512-NTnHnVRd2JnRqPC0vW+iOQWU5pchDbYXsG2E6DMXEpMfUcQKclF9gmf3G3ZMhzG7IG9ji4coL0cm+FxeWxDpnw== From d2194310d5aaf22fc4a7bff193b45bd66b694104 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Sat, 2 Feb 2019 14:42:45 +0100 Subject: [PATCH 131/219] upgrade to jest 24 --- package.json | 4 +- yarn.lock | 960 ++++++++++++++++++++++++++------------------------- 2 files changed, 485 insertions(+), 479 deletions(-) diff --git a/package.json b/package.json index 37ba0c07..5a952829 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "@babel/register": "^7.0.0", "babel-core": "^7.0.0-bridge.0", "babel-eslint": "^9.0.0", - "babel-jest": "^23.4.2", + "babel-jest": "^24.0.0", "babel-loader": "^8.0.5", "babel-plugin-module-resolver": "^3.1.3", "babel-plugin-styled-components": "^1.10.0", @@ -107,7 +107,7 @@ "eslint-plugin-react": "^7.10.0", "file-loader": "1.1.11", "flow-bin": "0.75.0", - "jest": "^23.4.2", + "jest": "^24.0.0", "stylelint": "^8.0.0", "stylelint-config-standard": "^18.2.0", "stylelint-config-styled-components": "^0.1.1", diff --git a/yarn.lock b/yarn.lock index 12fcea77..b985cb2e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32,13 +32,7 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/code-frame@^7.0.0-beta.35": - version "7.0.0-beta.55" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.55.tgz#71f530e7b010af5eb7a7df7752f78921dd57e9ee" - dependencies: - "@babel/highlight" "7.0.0-beta.55" - -"@babel/core@^7.2.2": +"@babel/core@^7.1.0", "@babel/core@^7.2.2": version "7.2.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" integrity sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw== @@ -68,7 +62,7 @@ source-map "^0.5.0" trim-right "^1.0.1" -"@babel/generator@^7.2.2": +"@babel/generator@^7.0.0", "@babel/generator@^7.2.2": version "7.3.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.0.tgz#f663838cd7b542366de3aa608a657b8ccb2a99eb" integrity sha512-dZTwMvTgWfhmibq4V9X+LMf6Bgl7zAodRn9PvcPdhlzFMbvUutx74dbEv7Atz3ToeEpevYEJtAwfxq/bDCzHWg== @@ -281,14 +275,6 @@ "@babel/traverse" "^7.1.5" "@babel/types" "^7.3.0" -"@babel/highlight@7.0.0-beta.55": - version "7.0.0-beta.55" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.55.tgz#988653647d629c261dae156e74d5f0252ba520c0" - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - "@babel/highlight@7.0.0-rc.1": version "7.0.0-rc.1" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-rc.1.tgz#e0ca4731fa4786f7b9500421d6ff5e5a7753e81e" @@ -775,7 +761,7 @@ "@babel/types" "7.0.0-rc.1" lodash "^4.17.10" -"@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": +"@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": version "7.2.2" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" integrity sha512-zRL0IMM02AUDwghf5LMSSDEz7sBCO2YnNmpg3uWTZj/v1rcG2BmQUvaGU8GhU8BvfMh1k2KIAYZ7Ji9KXPUg7g== @@ -1142,18 +1128,6 @@ ajv@^6.1.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" -align-text@^0.1.1, align-text@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" - dependencies: - kind-of "^3.0.2" - longest "^1.0.1" - repeat-string "^1.5.2" - -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - ansi-escapes@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -1174,6 +1148,11 @@ ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" +ansi-regex@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.0.0.tgz#70de791edf021404c3fd615aa89118ae0432e5a9" + integrity sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w== + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -1377,13 +1356,14 @@ async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" -async@^1.4.0, async@^1.5.0, async@^1.5.2: +async@^1.5.0, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.1.4: +async@^2.5.0, async@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" + integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ== dependencies: lodash "^4.17.10" @@ -1438,30 +1418,6 @@ babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: esutils "^2.0.2" js-tokens "^3.0.2" -babel-core@^6.0.0: - version "6.26.3" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" - dependencies: - babel-code-frame "^6.26.0" - babel-generator "^6.26.0" - babel-helpers "^6.24.1" - babel-messages "^6.23.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - convert-source-map "^1.5.1" - debug "^2.6.9" - json5 "^0.5.1" - lodash "^4.17.4" - minimatch "^3.0.4" - path-is-absolute "^1.0.1" - private "^0.1.8" - slash "^1.0.0" - source-map "^0.5.7" - babel-core@^6.0.14, babel-core@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" @@ -1503,19 +1459,6 @@ babel-eslint@^9.0.0: eslint-scope "3.7.1" eslint-visitor-keys "^1.0.0" -babel-generator@^6.18.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - babel-generator@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" @@ -1647,12 +1590,13 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.4.2.tgz#f276de67798a5d68f2d6e87ff518c2f6e1609877" +babel-jest@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.0.0.tgz#8a0c767f03f4a595fb921afdab13ff126edd00da" + integrity sha512-YGKRbZUjoRmNIAyG7x4wYxUyHvHPFpYXj6Mx1A5cslhaQOUgP/+LF3wtFgMuOQkIpjbVNBufmOnVY0QVwB5v9Q== dependencies: - babel-plugin-istanbul "^4.1.6" - babel-preset-jest "^23.2.0" + babel-plugin-istanbul "^5.1.0" + babel-preset-jest "^24.0.0" babel-loader@^8.0.5: version "8.0.5" @@ -1676,18 +1620,14 @@ babel-plugin-check-es2015-constants@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-istanbul@^4.1.6: - version "4.1.6" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" +babel-plugin-istanbul@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.0.tgz#6892f529eff65a3e2d33d87dc5888ffa2ecd4a30" + integrity sha512-CLoXPRSUWiR8yao8bShqZUIC6qLfZVVY3X1wj+QPNXu0wfmrRRfarh1LYy+dYMVI+bDj0ghy3tuqFFRFZmL1Nw== dependencies: - babel-plugin-syntax-object-rest-spread "^6.13.0" - find-up "^2.1.0" - istanbul-lib-instrument "^1.10.1" - test-exclude "^4.2.1" - -babel-plugin-jest-hoist@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167" + find-up "^3.0.0" + istanbul-lib-instrument "^3.0.0" + test-exclude "^5.0.0" babel-plugin-jest-hoist@^24.0.0: version "24.0.0" @@ -1763,7 +1703,7 @@ babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" -babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0: +babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" @@ -2053,13 +1993,6 @@ babel-preset-es2015@^6.24.0, babel-preset-es2015@^6.9.0: babel-plugin-transform-es2015-unicode-regex "^6.24.1" babel-plugin-transform-regenerator "^6.24.1" -babel-preset-jest@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46" - dependencies: - babel-plugin-jest-hoist "^23.2.0" - babel-plugin-syntax-object-rest-spread "^6.13.0" - babel-preset-jest@^24.0.0: version "24.0.0" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.0.0.tgz#d23782e5e036cff517859640a80960bd628bd82b" @@ -2114,7 +2047,7 @@ babel-runtime@6.x, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^ core-js "^2.4.0" regenerator-runtime "^0.11.0" -babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: +babel-template@^6.24.1, babel-template@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" dependencies: @@ -2124,7 +2057,7 @@ babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: babylon "^6.18.0" lodash "^4.17.4" -babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: +babel-traverse@^6.24.1, babel-traverse@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" dependencies: @@ -2138,7 +2071,7 @@ babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-tra invariant "^2.2.2" lodash "^4.17.4" -babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" dependencies: @@ -2600,9 +2533,10 @@ callsites@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" +callsites@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" + integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== camel-case@3.0.x: version "3.0.0" @@ -2626,10 +2560,6 @@ camelcase-keys@^4.0.0: map-obj "^2.0.0" quick-lru "^1.0.0" -camelcase@^1.0.2: - version "1.2.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" - camelcase@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" @@ -2666,13 +2596,6 @@ ccount@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.0.3.tgz#f1cec43f332e2ea5a569fd46f9f5bde4e6102aff" -center-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" - dependencies: - align-text "^0.1.3" - lazy-cache "^1.0.3" - chain-function@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/chain-function/-/chain-function-1.0.0.tgz#0d4ab37e7e18ead0bdc47b920764118ce58733dc" @@ -2799,9 +2722,10 @@ chrome-trace-event@^1.0.0: dependencies: tslib "^1.9.0" -ci-info@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2" +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" @@ -2876,14 +2800,6 @@ cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" -cliui@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" - dependencies: - center-align "^0.1.1" - right-align "^0.1.1" - wordwrap "0.0.2" - cliui@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.0.0.tgz#743d4650e05f36d1ed2575b59638d87322bfbbcc" @@ -3011,7 +2927,7 @@ commander@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" -commander@^2.8.1: +commander@^2.8.1, commander@~2.17.1: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" @@ -3030,9 +2946,10 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -compare-versions@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.3.0.tgz#af93ea705a96943f622ab309578b9b90586f39c3" +compare-versions@^3.2.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.4.0.tgz#e0747df5c9cb7f054d6d3dc3e1dbc444f9e92b26" + integrity sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg== component-classes@^1.2.5: version "1.2.6" @@ -3132,7 +3049,7 @@ convert-source-map@^1.1.0: dependencies: safe-buffer "~5.1.1" -convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1: +convert-source-map@^1.4.0, convert-source-map@^1.5.0: version "1.5.1" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" @@ -3416,7 +3333,7 @@ debug@^3.0.0, debug@^3.1.0: dependencies: ms "2.0.0" -debug@^4.1.0: +debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== @@ -3430,7 +3347,7 @@ decamelize-keys@^1.0.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.0.0, decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -3617,7 +3534,12 @@ detect-node@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" -diff@^3.2.0, diff@^3.3.1, diff@^3.5.0: +diff-sequences@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.0.0.tgz#cdf8e27ed20d8b8d3caccb4e0c0d8fe31a173013" + integrity sha512-46OkIuVGBBnrC0soO/4LHu5LHGHx0uhP65OVz8XOrAJpqiCB2aVIuESvjI1F9oqebuvY8lekS1pt6TN7vt7qsw== + +diff@^3.3.1, diff@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" @@ -4393,16 +4315,16 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-23.4.0.tgz#6da4ecc99c1471253e7288338983ad1ebadb60c3" +expect@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.0.0.tgz#71f71d88a4202746fc79849bb4c6498008b5ef03" + integrity sha512-qDHRU4lGsme0xjg8dXp/RQhvO9XIo9FWqVo7dTHDPBwzy25JGEHAWFsnpmRYErB50tgi/6euo3ir5e/kF9LUTA== dependencies: ansi-styles "^3.2.0" - jest-diff "^23.2.0" - jest-get-type "^22.1.0" - jest-matcher-utils "^23.2.0" - jest-message-util "^23.4.0" - jest-regex-util "^23.3.0" + jest-get-type "^24.0.0" + jest-matcher-utils "^24.0.0" + jest-message-util "^24.0.0" + jest-regex-util "^24.0.0" express@^4.14.0, express@^4.16.2, express@^4.16.3: version "4.16.3" @@ -4611,9 +4533,10 @@ filename-regex@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" -fileset@^2.0.2: +fileset@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" + integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= dependencies: glob "^7.0.3" minimatch "^3.0.3" @@ -5140,6 +5063,11 @@ graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6 version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +graceful-fs@^4.1.15: + version "4.1.15" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" + integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== + "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -5165,15 +5093,16 @@ handle-thing@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" -handlebars@^4.0.3: - version "4.0.11" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc" +handlebars@^4.0.11: + version "4.0.12" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.12.tgz#2c15c8a96d46da5e266700518ba8cb8d919d5bc5" + integrity sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA== dependencies: - async "^1.4.0" + async "^2.5.0" optimist "^0.6.1" - source-map "^0.4.4" + source-map "^0.6.1" optionalDependencies: - uglify-js "^2.6" + uglify-js "^3.1.4" har-schema@^2.0.0: version "2.0.0" @@ -5526,6 +5455,14 @@ import-local@^1.0.0: pkg-dir "^2.0.0" resolve-cwd "^2.0.0" +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" + integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -5703,11 +5640,12 @@ is-callable@^1.1.3, is-callable@^1.1.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== -is-ci@^1.0.10: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: - ci-info "^1.0.0" + ci-info "^2.0.0" is-data-descriptor@^0.1.4: version "0.1.4" @@ -5798,9 +5736,10 @@ is-function@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" -is-generator-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" +is-generator-fn@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.0.0.tgz#038c31b774709641bda678b1f06a4e3227c10b3e" + integrity sha512-elzyIdM7iKoFHzcrndIqjYomImhxrFRnGP3galODoII4TB9gI7mZ+FnlLQmmjf27SxHS2gKEeyhX5/+YRS6H9g== is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" @@ -6007,69 +5946,94 @@ isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -istanbul-api@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.1.tgz#4c3b05d18c0016d1022e079b98dc82c40f488954" - dependencies: - async "^2.1.4" - compare-versions "^3.1.0" - fileset "^2.0.2" - istanbul-lib-coverage "^1.2.0" - istanbul-lib-hook "^1.2.0" - istanbul-lib-instrument "^1.10.1" - istanbul-lib-report "^1.1.4" - istanbul-lib-source-maps "^1.2.4" - istanbul-reports "^1.3.0" - js-yaml "^3.7.0" - mkdirp "^0.5.1" +istanbul-api@^2.0.8: + version "2.1.0" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-2.1.0.tgz#37ab0c2c3e83065462f5254b94749d6157846c4e" + integrity sha512-+Ygg4t1StoiNlBGc6x0f8q/Bv26FbZqP/+jegzfNpU7Q8o+4ZRoJxJPhBkgE/UonpAjtxnE4zCZIyJX+MwLRMQ== + dependencies: + async "^2.6.1" + compare-versions "^3.2.1" + fileset "^2.0.3" + istanbul-lib-coverage "^2.0.3" + istanbul-lib-hook "^2.0.3" + istanbul-lib-instrument "^3.1.0" + istanbul-lib-report "^2.0.4" + istanbul-lib-source-maps "^3.0.2" + istanbul-reports "^2.1.0" + js-yaml "^3.12.0" + make-dir "^1.3.0" + minimatch "^3.0.4" once "^1.4.0" -istanbul-lib-coverage@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341" +istanbul-lib-coverage@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#2aee0e073ad8c5f6a0b00e0dfbf52b4667472eda" + integrity sha512-nPvSZsVlbG9aLhZYaC3Oi1gT/tpyo3Yt5fNyf6NmcKIayz4VV/txxJFFKAK/gU4dcNn8ehsanBbVHVl0+amOLA== -istanbul-lib-hook@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.1.tgz#f614ec45287b2a8fc4f07f5660af787575601805" +istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#0b891e5ad42312c2b9488554f603795f9a2211ba" + integrity sha512-dKWuzRGCs4G+67VfW9pBFFz2Jpi4vSp/k7zBcJ888ofV5Mi1g5CUML5GvMvV6u9Cjybftu+E8Cgp+k0dI1E5lw== + +istanbul-lib-hook@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.3.tgz#e0e581e461c611be5d0e5ef31c5f0109759916fb" + integrity sha512-CLmEqwEhuCYtGcpNVJjLV1DQyVnIqavMLFHV/DP+np/g3qvdxu3gsPqYoJMXm15sN84xOlckFB3VNvRbf5yEgA== dependencies: append-transform "^1.0.0" -istanbul-lib-instrument@^1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz#724b4b6caceba8692d3f1f9d0727e279c401af7b" +istanbul-lib-instrument@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.0.0.tgz#b5f066b2a161f75788be17a9d556f40a0cf2afc9" + integrity sha512-eQY9vN9elYjdgN9Iv6NS/00bptm02EBBk70lRMaVjeA6QYocQgenVrSgC28TJurdnZa80AGO3ASdFN+w/njGiQ== dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.2.0" - semver "^5.3.0" + "@babel/generator" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + istanbul-lib-coverage "^2.0.1" + semver "^5.5.0" -istanbul-lib-report@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz#e886cdf505c4ebbd8e099e4396a90d0a28e2acb5" +istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.1.0.tgz#a2b5484a7d445f1f311e93190813fa56dfb62971" + integrity sha512-ooVllVGT38HIk8MxDj/OIHXSYvH+1tq/Vb38s8ixt9GoJadXska4WkGY+0wkmtYCZNYtaARniH/DixUGGLZ0uA== dependencies: - istanbul-lib-coverage "^1.2.0" - mkdirp "^0.5.1" - path-parse "^1.0.5" - supports-color "^3.1.2" + "@babel/generator" "^7.0.0" + "@babel/parser" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + istanbul-lib-coverage "^2.0.3" + semver "^5.5.0" -istanbul-lib-source-maps@^1.2.4: - version "1.2.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz#ffe6be4e7ab86d3603e4290d54990b14506fc9b1" +istanbul-lib-report@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.4.tgz#bfd324ee0c04f59119cb4f07dab157d09f24d7e4" + integrity sha512-sOiLZLAWpA0+3b5w5/dq0cjm2rrNdAfHWaGhmn7XEFW6X++IV9Ohn+pnELAl9K3rfpaeBfbmH9JU5sejacdLeA== dependencies: - debug "^3.1.0" - istanbul-lib-coverage "^1.2.0" - mkdirp "^0.5.1" - rimraf "^2.6.1" - source-map "^0.5.3" + istanbul-lib-coverage "^2.0.3" + make-dir "^1.3.0" + supports-color "^6.0.0" -istanbul-reports@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.3.0.tgz#2f322e81e1d9520767597dca3c20a0cce89a3554" +istanbul-lib-source-maps@^3.0.1, istanbul-lib-source-maps@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.2.tgz#f1e817229a9146e8424a28e5d69ba220fda34156" + integrity sha512-JX4v0CiKTGp9fZPmoxpu9YEkPbEqCqBbO3403VabKjH+NRXo72HafD5UgnjTEqHL2SAjaZK1XDuDOkn6I5QVfQ== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^2.0.3" + make-dir "^1.3.0" + rimraf "^2.6.2" + source-map "^0.6.1" + +istanbul-reports@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.1.0.tgz#87b8b55cd1901ba1748964c98ddd8900ce306d59" + integrity sha512-azQdSX+dtTtkQEfqq20ICxWi6eOHXyHIgMFw1VOOVi8iIPWeCWRgCyFh/CsBKIhcgskMI8ExXmU7rjXTRCIJ+A== dependencies: - handlebars "^4.0.3" + handlebars "^4.0.11" istextorbinary@^2.2.1: version "2.2.1" @@ -6086,107 +6050,123 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" -jest-changed-files@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.2.tgz#1eed688370cd5eebafe4ae93d34bb3b64968fe83" +jest-changed-files@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.0.0.tgz#c02c09a8cc9ca93f513166bc773741bd39898ff7" + integrity sha512-nnuU510R9U+UX0WNb5XFEcsrMqriSiRLeO9KWDFgPrpToaQm60prfQYpxsXigdClpvNot5bekDY440x9dNGnsQ== dependencies: + execa "^1.0.0" throat "^4.0.0" -jest-cli@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.4.2.tgz#49d56bcfe6cf01871bfcc4a0494e08edaf2b61d0" +jest-cli@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.0.0.tgz#691fd4f7bce2574c1865db6844a43b56e60ce2a4" + integrity sha512-mElnFipLaGxo1SiQ1CLvuaz3eX07MJc4HcyKrApSJf8xSdY1/EwaHurKwu1g2cDiwIgY8uHj7UcF5OYbtiBOWg== dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" exit "^0.1.2" glob "^7.1.2" - graceful-fs "^4.1.11" - import-local "^1.0.0" - is-ci "^1.0.10" - istanbul-api "^1.3.1" - istanbul-lib-coverage "^1.2.0" - istanbul-lib-instrument "^1.10.1" - istanbul-lib-source-maps "^1.2.4" - jest-changed-files "^23.4.2" - jest-config "^23.4.2" - jest-environment-jsdom "^23.4.0" - jest-get-type "^22.1.0" - jest-haste-map "^23.4.1" - jest-message-util "^23.4.0" - jest-regex-util "^23.3.0" - jest-resolve-dependencies "^23.4.2" - jest-runner "^23.4.2" - jest-runtime "^23.4.2" - jest-snapshot "^23.4.2" - jest-util "^23.4.0" - jest-validate "^23.4.0" - jest-watcher "^23.4.0" - jest-worker "^23.2.0" - micromatch "^2.3.11" + graceful-fs "^4.1.15" + import-local "^2.0.0" + is-ci "^2.0.0" + istanbul-api "^2.0.8" + istanbul-lib-coverage "^2.0.2" + istanbul-lib-instrument "^3.0.1" + istanbul-lib-source-maps "^3.0.1" + jest-changed-files "^24.0.0" + jest-config "^24.0.0" + jest-environment-jsdom "^24.0.0" + jest-get-type "^24.0.0" + jest-haste-map "^24.0.0" + jest-message-util "^24.0.0" + jest-regex-util "^24.0.0" + jest-resolve-dependencies "^24.0.0" + jest-runner "^24.0.0" + jest-runtime "^24.0.0" + jest-snapshot "^24.0.0" + jest-util "^24.0.0" + jest-validate "^24.0.0" + jest-watcher "^24.0.0" + jest-worker "^24.0.0" + micromatch "^3.1.10" node-notifier "^5.2.1" - prompts "^0.1.9" + p-each-series "^1.0.0" + pirates "^4.0.0" + prompts "^2.0.1" realpath-native "^1.0.0" rimraf "^2.5.4" - slash "^1.0.0" + slash "^2.0.0" string-length "^2.0.0" - strip-ansi "^4.0.0" + strip-ansi "^5.0.0" which "^1.2.12" - yargs "^11.0.0" + yargs "^12.0.2" -jest-config@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.4.2.tgz#62a105e14b8266458f2bf4d32403b2c44418fa77" +jest-config@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.0.0.tgz#878abe03c060c74a0ec30d3cd5dd1897873e030e" + integrity sha512-9/soqWL5YSq1ZJtgVJ5YYPCL1f9Mi2lVCp5+OXuYBOaN8DHSFRCSWip0rQ6N+mPTOEIAlCvcUH8zaPOwK4hePg== dependencies: - babel-core "^6.0.0" - babel-jest "^23.4.2" + "@babel/core" "^7.1.0" + babel-jest "^24.0.0" chalk "^2.0.1" glob "^7.1.1" - jest-environment-jsdom "^23.4.0" - jest-environment-node "^23.4.0" - jest-get-type "^22.1.0" - jest-jasmine2 "^23.4.2" - jest-regex-util "^23.3.0" - jest-resolve "^23.4.1" - jest-util "^23.4.0" - jest-validate "^23.4.0" - pretty-format "^23.2.0" - -jest-diff@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.2.0.tgz#9f2cf4b51e12c791550200abc16b47130af1062a" + jest-environment-jsdom "^24.0.0" + jest-environment-node "^24.0.0" + jest-get-type "^24.0.0" + jest-jasmine2 "^24.0.0" + jest-regex-util "^24.0.0" + jest-resolve "^24.0.0" + jest-util "^24.0.0" + jest-validate "^24.0.0" + micromatch "^3.1.10" + pretty-format "^24.0.0" + realpath-native "^1.0.2" + uuid "^3.3.2" + +jest-diff@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.0.0.tgz#a3e5f573dbac482f7d9513ac9cfa21644d3d6b34" + integrity sha512-XY5wMpRaTsuMoU+1/B2zQSKQ9RdE9gsLkGydx3nvApeyPijLA8GtEvIcPwISRCer+VDf9W1mStTYYq6fPt8ryA== dependencies: chalk "^2.0.1" - diff "^3.2.0" - jest-get-type "^22.1.0" - pretty-format "^23.2.0" + diff-sequences "^24.0.0" + jest-get-type "^24.0.0" + pretty-format "^24.0.0" -jest-docblock@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7" +jest-docblock@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.0.0.tgz#54d77a188743e37f62181a91a01eb9222289f94e" + integrity sha512-KfAKZ4SN7CFOZpWg4i7g7MSlY0M+mq7K0aMqENaG2vHuhC9fc3vkpU/iNN9sOus7v3h3Y48uEjqz3+Gdn2iptA== dependencies: detect-newline "^2.1.0" -jest-each@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.4.0.tgz#2fa9edd89daa1a4edc9ff9bf6062a36b71345143" +jest-each@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.0.0.tgz#10987a06b21c7ffbfb7706c89d24c52ed864be55" + integrity sha512-gFcbY4Cu55yxExXMkjrnLXov3bWO3dbPAW7HXb31h/DNWdNc/6X8MtxGff8nh3/MjkF9DpVqnj0KsPKuPK0cpA== dependencies: chalk "^2.0.1" - pretty-format "^23.2.0" + jest-get-type "^24.0.0" + jest-util "^24.0.0" + pretty-format "^24.0.0" -jest-environment-jsdom@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz#056a7952b3fea513ac62a140a2c368c79d9e6023" +jest-environment-jsdom@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.0.0.tgz#5affa0654d6e44cd798003daa1a8701dbd6e4d11" + integrity sha512-1YNp7xtxajTRaxbylDc2pWvFnfDTH5BJJGyVzyGAKNt/lEULohwEV9zFqTgG4bXRcq7xzdd+sGFws+LxThXXOw== dependencies: - jest-mock "^23.2.0" - jest-util "^23.4.0" + jest-mock "^24.0.0" + jest-util "^24.0.0" jsdom "^11.5.1" -jest-environment-node@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.4.0.tgz#57e80ed0841dea303167cce8cd79521debafde10" +jest-environment-node@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.0.0.tgz#330948980656ed8773ce2e04eb597ed91e3c7190" + integrity sha512-62fOFcaEdU0VLaq8JL90TqwI7hLn0cOKOl8vY2n477vRkCJRojiRRtJVRzzCcgFvs6gqU97DNqX5R0BrBP6Rxg== dependencies: - jest-mock "^23.2.0" - jest-util "^23.4.0" + jest-mock "^24.0.0" + jest-util "^24.0.0" jest-fetch-mock@^1.6.5: version "1.6.5" @@ -6196,191 +6176,215 @@ jest-fetch-mock@^1.6.5: isomorphic-fetch "^2.2.1" promise-polyfill "^7.1.1" -jest-get-type@^22.1.0: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" +jest-get-type@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.0.0.tgz#36e72930b78e33da59a4f63d44d332188278940b" + integrity sha512-z6/Eyf6s9ZDGz7eOvl+fzpuJmN9i0KyTt1no37/dHu8galssxz5ZEgnc1KaV8R31q1khxyhB4ui/X5ZjjPk77w== -jest-haste-map@^23.4.1: - version "23.4.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.4.1.tgz#43a174ba7ac079ae1dd74eaf5a5fe78989474dd2" +jest-haste-map@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.0.0.tgz#e9ef51b2c9257384b4d6beb83bd48c65b37b5e6e" + integrity sha512-CcViJyUo41IQqttLxXVdI41YErkzBKbE6cS6dRAploCeutePYfUimWd3C9rQEWhX0YBOQzvNsC0O9nYxK2nnxQ== dependencies: fb-watchman "^2.0.0" - graceful-fs "^4.1.11" - jest-docblock "^23.2.0" - jest-serializer "^23.0.1" - jest-worker "^23.2.0" - micromatch "^2.3.11" - sane "^2.0.0" + graceful-fs "^4.1.15" + invariant "^2.2.4" + jest-serializer "^24.0.0" + jest-util "^24.0.0" + jest-worker "^24.0.0" + micromatch "^3.1.10" + sane "^3.0.0" -jest-jasmine2@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.4.2.tgz#2fbf52f93e43ed4c5e7326a90bb1d785be4321ac" +jest-jasmine2@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.0.0.tgz#7d87be9d8b32d34ac5980ad646b7ae7f99e33a19" + integrity sha512-q1xEV9KHM0bgfBj3yrkrjRF5kxpNDkWPCwVfSPN1DC+pD6J5wrM9/u2BgzhKhALXiaZUUhJ+f/OcEC0Gwpw90A== dependencies: - babel-traverse "^6.0.0" + "@babel/traverse" "^7.1.0" chalk "^2.0.1" co "^4.6.0" - expect "^23.4.0" - is-generator-fn "^1.0.0" - jest-diff "^23.2.0" - jest-each "^23.4.0" - jest-matcher-utils "^23.2.0" - jest-message-util "^23.4.0" - jest-snapshot "^23.4.2" - jest-util "^23.4.0" - pretty-format "^23.2.0" - -jest-leak-detector@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.2.0.tgz#c289d961dc638f14357d4ef96e0431ecc1aa377d" - dependencies: - pretty-format "^23.2.0" - -jest-matcher-utils@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.2.0.tgz#4d4981f23213e939e3cedf23dc34c747b5ae1913" + expect "^24.0.0" + is-generator-fn "^2.0.0" + jest-each "^24.0.0" + jest-matcher-utils "^24.0.0" + jest-message-util "^24.0.0" + jest-snapshot "^24.0.0" + jest-util "^24.0.0" + pretty-format "^24.0.0" + +jest-leak-detector@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.0.0.tgz#78280119fd05ee98317daee62cddb3aa537a31c6" + integrity sha512-ZYHJYFeibxfsDSKowjDP332pStuiFT2xfc5R67Rjm/l+HFJWJgNIOCOlQGeXLCtyUn3A23+VVDdiCcnB6dTTrg== + dependencies: + pretty-format "^24.0.0" + +jest-matcher-utils@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.0.0.tgz#fc9c41cfc49b2c3ec14e576f53d519c37729d579" + integrity sha512-LQTDmO+aWRz1Tf9HJg+HlPHhDh1E1c65kVwRFo5mwCVp5aQDzlkz4+vCvXhOKFjitV2f0kMdHxnODrXVoi+rlA== dependencies: chalk "^2.0.1" - jest-get-type "^22.1.0" - pretty-format "^23.2.0" + jest-diff "^24.0.0" + jest-get-type "^24.0.0" + pretty-format "^24.0.0" -jest-message-util@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.4.0.tgz#17610c50942349508d01a3d1e0bda2c079086a9f" +jest-message-util@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.0.0.tgz#a07a141433b2c992dbaec68d4cbfe470ba289619" + integrity sha512-J9ROJIwz/IeC+eV1XSwnRK4oAwPuhmxEyYx1+K5UI+pIYwFZDSrfZaiWTdq0d2xYFw4Xiu+0KQWsdsQpgJMf3Q== dependencies: - "@babel/code-frame" "^7.0.0-beta.35" + "@babel/code-frame" "^7.0.0" chalk "^2.0.1" - micromatch "^2.3.11" - slash "^1.0.0" + micromatch "^3.1.10" + slash "^2.0.0" stack-utils "^1.0.1" -jest-mock@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134" +jest-mock@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.0.0.tgz#9a4b53e01d66a0e780f7d857462d063e024c617d" + integrity sha512-sQp0Hu5fcf5NZEh1U9eIW2qD0BwJZjb63Yqd98PQJFvf/zzUTBoUAwv/Dc/HFeNHIw1f3hl/48vNn+j3STaI7A== -jest-regex-util@^23.3.0: - version "23.3.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5" +jest-regex-util@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.0.0.tgz#4feee8ec4a358f5bee0a654e94eb26163cb9089a" + integrity sha512-Jv/uOTCuC+PY7WpJl2mpoI+WbY2ut73qwwO9ByJJNwOCwr1qWhEW2Lyi2S9ZewUdJqeVpEBisdEVZSI+Zxo58Q== -jest-resolve-dependencies@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.4.2.tgz#0675ba876a5b819deffc449ad72e9985c2592048" +jest-resolve-dependencies@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.0.0.tgz#86540611d660bdcaab8b87d069247d3832811d94" + integrity sha512-CJGS5ME2g5wL16o3Y22ga9p5ntNT5CUYX40/0lYj9ic9jB5YHm/qMKTgbFt9kowEBiMOFpXy15dWtBTEU54+zg== dependencies: - jest-regex-util "^23.3.0" - jest-snapshot "^23.4.2" + jest-regex-util "^24.0.0" + jest-snapshot "^24.0.0" -jest-resolve@^23.4.1: - version "23.4.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.4.1.tgz#7f3c17104732a2c0c940a01256025ed745814982" +jest-resolve@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.0.0.tgz#0206cfe842324f8796b01f706f4075309bf7b405" + integrity sha512-uKDGyJqNaBQKox1DJzm27CJobADsIMNgZGusXhtYzl98LKu/fKuokkRsd7EBVgoDA80HKHc3LOPKuYLryMu1vw== dependencies: browser-resolve "^1.11.3" chalk "^2.0.1" realpath-native "^1.0.0" -jest-runner@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.4.2.tgz#579a88524ac52c846075b0129a21c7b483e75a7e" +jest-runner@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.0.0.tgz#00b280d52d23286111a8ed0362ed958283f7f0e3" + integrity sha512-XefXm2XimKtwdfi2am4364GfCmLD1tOjiRtDexY65diCXt4Rw23rxj2wiW7p9s8Nh9dzJQNmrheqZ5rzvn762g== dependencies: exit "^0.1.2" - graceful-fs "^4.1.11" - jest-config "^23.4.2" - jest-docblock "^23.2.0" - jest-haste-map "^23.4.1" - jest-jasmine2 "^23.4.2" - jest-leak-detector "^23.2.0" - jest-message-util "^23.4.0" - jest-runtime "^23.4.2" - jest-util "^23.4.0" - jest-worker "^23.2.0" + graceful-fs "^4.1.15" + jest-config "^24.0.0" + jest-docblock "^24.0.0" + jest-haste-map "^24.0.0" + jest-jasmine2 "^24.0.0" + jest-leak-detector "^24.0.0" + jest-message-util "^24.0.0" + jest-runtime "^24.0.0" + jest-util "^24.0.0" + jest-worker "^24.0.0" source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.4.2.tgz#00c3bb8385253d401a394a27d1112d3615e5a65c" +jest-runtime@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.0.0.tgz#bc80756f5458c2c8e4db86f44b687ff692026c13" + integrity sha512-UeVoTGiij8upcqfyBlJvImws7IGY+ZWtgVpt1h4VmVbyei39tVGia/20VoP3yvodS6FdjTwBj+JzVNuoh/9UTw== dependencies: - babel-core "^6.0.0" - babel-plugin-istanbul "^4.1.6" + "@babel/core" "^7.1.0" + babel-plugin-istanbul "^5.1.0" chalk "^2.0.1" convert-source-map "^1.4.0" exit "^0.1.2" fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.11" - jest-config "^23.4.2" - jest-haste-map "^23.4.1" - jest-message-util "^23.4.0" - jest-regex-util "^23.3.0" - jest-resolve "^23.4.1" - jest-snapshot "^23.4.2" - jest-util "^23.4.0" - jest-validate "^23.4.0" - micromatch "^2.3.11" + glob "^7.1.3" + graceful-fs "^4.1.15" + jest-config "^24.0.0" + jest-haste-map "^24.0.0" + jest-message-util "^24.0.0" + jest-regex-util "^24.0.0" + jest-resolve "^24.0.0" + jest-snapshot "^24.0.0" + jest-util "^24.0.0" + jest-validate "^24.0.0" + micromatch "^3.1.10" realpath-native "^1.0.0" - slash "^1.0.0" + slash "^2.0.0" strip-bom "3.0.0" - write-file-atomic "^2.1.0" - yargs "^11.0.0" + write-file-atomic "^2.4.2" + yargs "^12.0.2" -jest-serializer@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" +jest-serializer@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.0.0.tgz#522c44a332cdd194d8c0531eb06a1ee5afb4256b" + integrity sha512-9FKxQyrFgHtx3ozU+1a8v938ILBE7S8Ko3uiAVjT8Yfi2o91j/fj81jacCQZ/Ihjiff/VsUCXVgQ+iF1XdImOw== -jest-snapshot@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.4.2.tgz#8fa6130feb5a527dac73e5fa80d86f29f7c42ab6" +jest-snapshot@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.0.0.tgz#fb447a753a3271660b3d89d068698014eb14c414" + integrity sha512-7OcrckVnfzVYxSGPYl2Sn+HyT30VpDv+FMBFbQxSQ6DV2K9Js6vYT6d4SBPKp6DfDiEL2txNssJBxtlvF+Dymw== dependencies: - babel-types "^6.0.0" + "@babel/types" "^7.0.0" chalk "^2.0.1" - jest-diff "^23.2.0" - jest-matcher-utils "^23.2.0" - jest-message-util "^23.4.0" - jest-resolve "^23.4.1" + jest-diff "^24.0.0" + jest-matcher-utils "^24.0.0" + jest-message-util "^24.0.0" + jest-resolve "^24.0.0" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^23.2.0" + pretty-format "^24.0.0" semver "^5.5.0" -jest-util@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.4.0.tgz#4d063cb927baf0a23831ff61bec2cbbf49793561" +jest-util@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.0.0.tgz#fd38fcafd6dedbd0af2944d7a227c0d91b68f7d6" + integrity sha512-QxsALc4wguYS7cfjdQSOr5HTkmjzkHgmZvIDkcmPfl1ib8PNV8QUWLwbKefCudWS0PRKioV+VbQ0oCUPC691fQ== dependencies: - callsites "^2.0.0" + callsites "^3.0.0" chalk "^2.0.1" - graceful-fs "^4.1.11" - is-ci "^1.0.10" - jest-message-util "^23.4.0" + graceful-fs "^4.1.15" + is-ci "^2.0.0" + jest-message-util "^24.0.0" mkdirp "^0.5.1" - slash "^1.0.0" + slash "^2.0.0" source-map "^0.6.0" -jest-validate@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.4.0.tgz#d96eede01ef03ac909c009e9c8e455197d48c201" +jest-validate@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.0.0.tgz#aa8571a46983a6538328fef20406b4a496b6c020" + integrity sha512-vMrKrTOP4BBFIeOWsjpsDgVXATxCspC9S1gqvbJ3Tnn/b9ACsJmteYeVx9830UMV28Cob1RX55x96Qq3Tfad4g== dependencies: + camelcase "^5.0.0" chalk "^2.0.1" - jest-get-type "^22.1.0" + jest-get-type "^24.0.0" leven "^2.1.0" - pretty-format "^23.2.0" + pretty-format "^24.0.0" -jest-watcher@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.4.0.tgz#d2e28ce74f8dad6c6afc922b92cabef6ed05c91c" +jest-watcher@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.0.0.tgz#20d44244d10b0b7312410aefd256c1c1eef68890" + integrity sha512-GxkW2QrZ4YxmW1GUWER05McjVDunBlKMFfExu+VsGmXJmpej1saTEKvONdx5RJBlVdpPI5x6E3+EDQSIGgl53g== dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" + jest-util "^24.0.0" string-length "^2.0.0" -jest-worker@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9" +jest-worker@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.0.0.tgz#3d3483b077bf04f412f47654a27bba7e947f8b6d" + integrity sha512-s64/OThpfQvoCeHG963MiEZOAAxu8kHsaL/rCMF7lpdzo7vgF0CtPml9hfguOMgykgH/eOm4jFP4ibfHLruytg== dependencies: merge-stream "^1.0.1" + supports-color "^6.1.0" -jest@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest/-/jest-23.4.2.tgz#1fae3ed832192143070ae85156b25cea891a1260" +jest@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.0.0.tgz#b8e2c8e6274e1092c7f56e57762a1fdc7800201e" + integrity sha512-1Z2EblP4BnERbWZGtipGb9zjHDq7nCHgCY7V57F5SYaFRJV4DE1HKoOz+CRC5OrAThN9OVhRlUhTzsTFArg2iQ== dependencies: - import-local "^1.0.0" - jest-cli "^23.4.2" + import-local "^2.0.0" + jest-cli "^24.0.0" js-base64@^2.1.9: version "2.3.2" @@ -6404,7 +6408,15 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.7.0, js-yaml@^3.9.0, js-yaml@^3.9.1: +js-yaml@^3.12.0: + version "3.12.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.1.tgz#295c8632a18a23e054cf5c9d3cecafe678167600" + integrity sha512-um46hB9wNOKlwkHgiuyEVAybXBjwFUV0Z/RaHJblRd9DXltue9FTYvzCr9ErQrK9Adz5MU4gHWVaNUfdmrC8qA== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^3.9.0, js-yaml@^3.9.1: version "3.12.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" dependencies: @@ -6630,18 +6642,15 @@ kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" -kleur@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-2.0.1.tgz#7cc64b0d188d0dcbc98bdcdfdda2cc10619ddce8" +kleur@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.1.tgz#4f5b313f5fa315432a400f19a24db78d451ede62" + integrity sha512-P3kRv+B+Ra070ng2VKQqW4qW7gd/v3iD8sy/zOdcYRsfiD+QBokQNOps/AfP6Hr48cBhIIBFWckB9aO+IZhrWg== known-css-properties@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.5.0.tgz#6ff66943ed4a5b55657ee095779a91f4536f8084" -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -6895,10 +6904,6 @@ longest-streak@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.2.tgz#2421b6ba939a443bb9ffebf596585a50b4c38e2e" -longest@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" - loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" @@ -6937,7 +6942,7 @@ lru-cache@^4.0.1, lru-cache@^4.1.1: pseudomap "^1.0.2" yallist "^2.1.2" -make-dir@^1.0.0, make-dir@^1.1.0: +make-dir@^1.0.0, make-dir@^1.1.0, make-dir@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== @@ -8298,14 +8303,15 @@ pretty-error@^2.0.2: renderkid "^2.0.1" utila "~0.4" -pretty-format@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.2.0.tgz#3b0aaa63c018a53583373c1cb3a5d96cc5e83017" +pretty-format@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.0.0.tgz#cb6599fd73ac088e37ed682f61291e4678f48591" + integrity sha512-LszZaKG665djUcqg5ZQq+XzezHLKrxsA86ZABTozp+oNhkdqa+tG2dX4qa6ERl5c/sRDrAa3lHmwnvKoP+OG/g== dependencies: - ansi-regex "^3.0.0" + ansi-regex "^4.0.0" ansi-styles "^3.2.0" -private@^0.1.6, private@^0.1.7, private@^0.1.8, private@~0.1.5: +private@^0.1.6, private@^0.1.7, private@~0.1.5: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -8343,12 +8349,13 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -prompts@^0.1.9: - version "0.1.13" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-0.1.13.tgz#7fad7ee1c6cafe49834ca0b2a6a471262de57620" +prompts@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.0.1.tgz#201b3718b4276fb407f037db48c0029d6465245c" + integrity sha512-8lnEOSIGQbgbnO47+13S+H204L8ISogGulyi0/NNEFAQ9D1VMNTrJ9SBX2Ra03V4iPn/zt36HQMndRYkaPoWiQ== dependencies: - kleur "^2.0.1" - sisteransi "^0.1.1" + kleur "^3.0.0" + sisteransi "^1.0.0" prop-types@15.x, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.8, prop-types@^15.6.0: version "15.6.0" @@ -8823,6 +8830,14 @@ read-pkg-up@^3.0.0: find-up "^2.0.0" read-pkg "^3.0.0" +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + read-pkg@^1.0.0, read-pkg@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -8907,6 +8922,13 @@ realpath-native@^1.0.0: dependencies: util.promisify "^1.0.0" +realpath-native@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.2.tgz#cd51ce089b513b45cf9b1516c82989b51ccc6560" + integrity sha512-+S3zTvVt9yTntFrBpm7TQmQ3tzpCrnA1a/y+3cUHAc9ZR6aIjG0WNLR+Rj79QpJktY+VeW/TQtFlQ1bzsehI8g== + dependencies: + util.promisify "^1.0.0" + recast@^0.12.5: version "0.12.9" resolved "https://registry.yarnpkg.com/recast/-/recast-0.12.9.tgz#e8e52bdb9691af462ccbd7c15d5a5113647a15f1" @@ -9345,12 +9367,6 @@ ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" -right-align@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" - dependencies: - align-text "^0.1.1" - rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" @@ -9443,13 +9459,15 @@ safe-regex@^1.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" -sane@^2.0.0: - version "2.5.2" - resolved "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa" +sane@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-3.1.0.tgz#995193b7dc1445ef1fe41ddfca2faf9f111854c6" + integrity sha512-G5GClRRxT1cELXfdAq7UKtUsv8q/ZC5k8lQGmjEm4HcAl3HzBy68iglyNCmw4+0tiXPCBZntslHlRhbnsSws+Q== dependencies: anymatch "^2.0.0" capture-exit "^1.2.0" exec-sh "^0.2.0" + execa "^1.0.0" fb-watchman "^2.0.0" micromatch "^3.1.4" minimist "^1.1.1" @@ -9715,9 +9733,10 @@ simple-get@^2.7.0: once "^1.3.1" simple-concat "^1.0.0" -sisteransi@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce" +sisteransi@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c" + integrity sha512-N+z4pHB4AmUv0SjveWRd6q1Nj5w62m5jodv+GD8lvmbY/83T/rpbJGZOnK5T149OldDj4Db07BSv9xY4K6NTPQ== slash@^1.0.0: version "1.0.0" @@ -9836,17 +9855,11 @@ source-map@0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" -source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: +source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -source-map@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - dependencies: - amdefine ">=0.0.4" - source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -10084,6 +10097,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.0.0.tgz#f78f68b5d0866c20b2c9b8c61b5298508dc8756f" + integrity sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow== + dependencies: + ansi-regex "^4.0.0" + strip-ansi@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" @@ -10257,7 +10277,7 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -supports-color@^3.1.2, supports-color@^3.2.3: +supports-color@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" dependencies: @@ -10288,6 +10308,13 @@ supports-color@^5.3.0, supports-color@^5.5.0: dependencies: has-flag "^3.0.0" +supports-color@^6.0.0, supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" + integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + dependencies: + has-flag "^3.0.0" + svg-tags@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" @@ -10401,14 +10428,14 @@ temp@^0.8.1: os-tmpdir "^1.0.0" rimraf "~2.2.6" -test-exclude@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa" +test-exclude@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.0.0.tgz#cdce7cece785e0e829cd5c2b27baf18bc583cfb7" + integrity sha512-bO3Lj5+qFa9YLfYW2ZcXMOV1pmQvw+KS/DpjqhyX6Y6UZ8zstpZJ+mA2ERkXfpOqhxsJlQiLeVXD3Smsrs6oLw== dependencies: arrify "^1.0.1" - micromatch "^3.1.8" - object-assign "^4.1.0" - read-pkg-up "^1.0.1" + minimatch "^3.0.4" + read-pkg-up "^4.0.0" require-main-filename "^1.0.1" text-table@^0.2.0, text-table@~0.2.0: @@ -10640,18 +10667,13 @@ uglify-js@3.4.x: commander "~2.16.0" source-map "~0.6.1" -uglify-js@^2.6: - version "2.8.29" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" +uglify-js@^3.1.4: + version "3.4.9" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.9.tgz#af02f180c1207d76432e473ed24a28f4a782bae3" + integrity sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q== dependencies: - source-map "~0.5.1" - yargs "~3.10.0" - optionalDependencies: - uglify-to-browserify "~1.0.0" - -uglify-to-browserify@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + commander "~2.17.1" + source-map "~0.6.1" uglifyjs-webpack-plugin@^1.2.4: version "1.2.7" @@ -11479,14 +11501,6 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2" -window-size@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" - -wordwrap@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" - wordwrap@~0.0.2: version "0.0.3" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" @@ -11521,9 +11535,10 @@ write-file-atomic@^1.2.0: imurmurhash "^0.1.4" slide "^1.1.5" -write-file-atomic@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab" +write-file-atomic@^2.4.2: + version "2.4.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.2.tgz#a7181706dfba17855d221140a9c06e15fcdd87b9" + integrity sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g== dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" @@ -11652,7 +11667,7 @@ yargs@11.0.0: y18n "^3.2.1" yargs-parser "^9.0.2" -yargs@^11.0.0, yargs@^11.1.0: +yargs@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" dependencies: @@ -11669,7 +11684,7 @@ yargs@^11.0.0, yargs@^11.1.0: y18n "^3.2.1" yargs-parser "^9.0.2" -yargs@^12.0.5: +yargs@^12.0.2, yargs@^12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== @@ -11693,15 +11708,6 @@ yargs@~1.2.6: dependencies: minimist "^0.1.0" -yargs@~3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" - dependencies: - camelcase "^1.0.2" - cliui "^2.1.0" - decamelize "^1.0.0" - window-size "0.1.0" - yarn-run-all@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yarn-run-all/-/yarn-run-all-3.1.1.tgz#385053ee85c7156f87cec8949a0ffb6bfd0de0b0" From b9f7b020223b3fa8b73b9ac4b9f3da55e4c6d4bf Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Sun, 3 Feb 2019 17:08:27 +0100 Subject: [PATCH 132/219] Add friendly error webpack plugin --- package.json | 1 + webpack/dev.babel.js | 2 ++ webpack/production.babel.js | 3 +++ yarn.lock | 21 +++++++++++++++++++++ 4 files changed, 27 insertions(+) diff --git a/package.json b/package.json index 8247332f..86c03fe9 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "ethereumjs-util": "^5.1.4", "express": "^4.16.3", "flow-webpack-plugin": "^1.2.0", + "friendly-errors-webpack-plugin": "^1.7.0", "git-revision-webpack-plugin": "^3.0.3", "hdkey": "^0.8.0", "history": "^4.7.2", diff --git a/webpack/dev.babel.js b/webpack/dev.babel.js index 1d527a7a..4d5f71c3 100644 --- a/webpack/dev.babel.js +++ b/webpack/dev.babel.js @@ -1,6 +1,7 @@ import webpack from 'webpack'; import GitRevisionPlugin from 'git-revision-webpack-plugin'; import HtmlWebpackPlugin from 'html-webpack-plugin'; +import FriendlyErrorsWebpackPlugin from 'friendly-errors-webpack-plugin'; import FlowWebpackPlugin from 'flow-webpack-plugin'; import WebpackBuildNotifierPlugin from 'webpack-build-notifier'; @@ -122,5 +123,6 @@ module.exports = { new webpack.NoEmitOnErrorsPlugin(), new webpack.HotModuleReplacementPlugin(), new webpack.NamedModulesPlugin(), + new FriendlyErrorsWebpackPlugin(), ], }; diff --git a/webpack/production.babel.js b/webpack/production.babel.js index 63294226..b3fd03da 100644 --- a/webpack/production.babel.js +++ b/webpack/production.babel.js @@ -2,9 +2,11 @@ import webpack from 'webpack'; import GitRevisionPlugin from 'git-revision-webpack-plugin'; import HtmlWebpackPlugin from 'html-webpack-plugin'; +import FriendlyErrorsWebpackPlugin from 'friendly-errors-webpack-plugin'; import CopyWebpackPlugin from 'copy-webpack-plugin'; import { SRC, BUILD, PUBLIC } from './constants'; + const gitRevisionPlugin = new GitRevisionPlugin(); module.exports = { @@ -80,5 +82,6 @@ module.exports = { new webpack.optimize.OccurrenceOrderPlugin(), new webpack.NoEmitOnErrorsPlugin(), new webpack.NamedModulesPlugin(), + new FriendlyErrorsWebpackPlugin(), ], }; diff --git a/yarn.lock b/yarn.lock index 143b3525..959c82ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3371,6 +3371,13 @@ error-stack-parser@^1.3.6: dependencies: stackframe "^0.3.1" +error-stack-parser@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.2.tgz#4ae8dbaa2bf90a8b450707b9149dcabca135520d" + integrity sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw== + dependencies: + stackframe "^1.0.4" + error@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02" @@ -4233,6 +4240,15 @@ fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" +friendly-errors-webpack-plugin@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz#efc86cbb816224565861a1be7a9d84d0aafea136" + integrity sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw== + dependencies: + chalk "^1.1.3" + error-stack-parser "^2.0.0" + string-width "^2.0.0" + from2@^2.1.0, from2@^2.1.1: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" @@ -9209,6 +9225,11 @@ stackframe@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4" +stackframe@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b" + integrity sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw== + state-toggle@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.1.tgz#c3cb0974f40a6a0f8e905b96789eb41afa1cde3a" From 02a976a759dc80d129491353b7c82dcc43f889a9 Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Sun, 3 Feb 2019 17:10:39 +0100 Subject: [PATCH 133/219] Turn off standart errors --- webpack/dev.babel.js | 1 + 1 file changed, 1 insertion(+) diff --git a/webpack/dev.babel.js b/webpack/dev.babel.js index 4d5f71c3..8d6862c1 100644 --- a/webpack/dev.babel.js +++ b/webpack/dev.babel.js @@ -33,6 +33,7 @@ module.exports = { ], hot: true, https: false, + quiet: true, port: PORT, stats: 'minimal', inline: true, From ca8325f0d734d38542923fbd9bdf8c54485e67aa Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Mon, 4 Feb 2019 13:14:24 +0100 Subject: [PATCH 134/219] upgrade webpack, webpack-cli --- package.json | 4 +- yarn.lock | 1630 ++++++++++++-------------------------------------- 2 files changed, 374 insertions(+), 1260 deletions(-) diff --git a/package.json b/package.json index 5a952829..dcc3edf0 100644 --- a/package.json +++ b/package.json @@ -72,7 +72,7 @@ "trezor-connect": "7.0.0-beta.2", "wallet-address-validator": "^0.2.4", "web3": "1.0.0-beta.35", - "webpack": "^4.16.3", + "webpack": "^4.29.0", "webpack-build-notifier": "^0.1.29", "webpack-bundle-analyzer": "^2.13.1", "whatwg-fetch": "^2.0.4", @@ -114,7 +114,7 @@ "stylelint-custom-processor-loader": "^0.5.0", "stylelint-processor-styled-components": "^1.3.2", "stylelint-webpack-plugin": "^0.10.5", - "webpack-cli": "^2.1.3", + "webpack-cli": "^3.2.1", "webpack-dev-server": "^3.1.4", "yargs": "11.0.0" }, diff --git a/yarn.lock b/yarn.lock index b985cb2e..ddf440b7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -873,160 +873,162 @@ version "0.2.2" resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.2.tgz#63985d3d8b02530e0869962f4da09142ee8e200e" -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - -"@nodelib/fs.stat@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.0.2.tgz#d056b68999769728a1cff8d643bc59eb6f0be436" - -"@sindresorhus/is@^0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" - "@types/jest@^23.0.0": version "23.3.2" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.2.tgz#07b90f6adf75d42c34230c026a2529e56c249dbb" -"@webassemblyjs/ast@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.13.tgz#81155a570bd5803a30ec31436bc2c9c0ede38f25" - dependencies: - "@webassemblyjs/helper-module-context" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/wast-parser" "1.5.13" - debug "^3.1.0" - mamacro "^0.0.3" - -"@webassemblyjs/floating-point-hex-parser@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz#29ce0baa97411f70e8cce68ce9c0f9d819a4e298" - -"@webassemblyjs/helper-api-error@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz#e49b051d67ee19a56e29b9aa8bd949b5b4442a59" - -"@webassemblyjs/helper-buffer@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz#873bb0a1b46449231137c1262ddfd05695195a1e" - dependencies: - debug "^3.1.0" - -"@webassemblyjs/helper-code-frame@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz#1bd2181b6a0be14e004f0fe9f5a660d265362b58" - dependencies: - "@webassemblyjs/wast-printer" "1.5.13" - -"@webassemblyjs/helper-fsm@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz#cdf3d9d33005d543a5c5e5adaabf679ffa8db924" - -"@webassemblyjs/helper-module-context@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz#dc29ddfb51ed657655286f94a5d72d8a489147c5" - dependencies: - debug "^3.1.0" - mamacro "^0.0.3" - -"@webassemblyjs/helper-wasm-bytecode@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz#03245817f0a762382e61733146f5773def15a747" - -"@webassemblyjs/helper-wasm-section@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz#efc76f44a10d3073b584b43c38a179df173d5c7d" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-buffer" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/wasm-gen" "1.5.13" - debug "^3.1.0" - -"@webassemblyjs/ieee754@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz#573e97c8c12e4eebb316ca5fde0203ddd90b0364" - dependencies: - ieee754 "^1.1.11" - -"@webassemblyjs/leb128@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.5.13.tgz#ab52ebab9cec283c1c1897ac1da833a04a3f4cee" - dependencies: - long "4.0.0" - -"@webassemblyjs/utf8@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.5.13.tgz#6b53d2cd861cf94fa99c1f12779dde692fbc2469" - -"@webassemblyjs/wasm-edit@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz#c9cef5664c245cf11b3b3a73110c9155831724a8" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-buffer" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/helper-wasm-section" "1.5.13" - "@webassemblyjs/wasm-gen" "1.5.13" - "@webassemblyjs/wasm-opt" "1.5.13" - "@webassemblyjs/wasm-parser" "1.5.13" - "@webassemblyjs/wast-printer" "1.5.13" - debug "^3.1.0" - -"@webassemblyjs/wasm-gen@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz#8e6ea113c4b432fa66540189e79b16d7a140700e" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/ieee754" "1.5.13" - "@webassemblyjs/leb128" "1.5.13" - "@webassemblyjs/utf8" "1.5.13" - -"@webassemblyjs/wasm-opt@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz#147aad7717a7ee4211c36b21a5f4c30dddf33138" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-buffer" "1.5.13" - "@webassemblyjs/wasm-gen" "1.5.13" - "@webassemblyjs/wasm-parser" "1.5.13" - debug "^3.1.0" +"@webassemblyjs/ast@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" + integrity sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA== + dependencies: + "@webassemblyjs/helper-module-context" "1.7.11" + "@webassemblyjs/helper-wasm-bytecode" "1.7.11" + "@webassemblyjs/wast-parser" "1.7.11" + +"@webassemblyjs/floating-point-hex-parser@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313" + integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg== + +"@webassemblyjs/helper-api-error@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a" + integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg== + +"@webassemblyjs/helper-buffer@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b" + integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w== + +"@webassemblyjs/helper-code-frame@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b" + integrity sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw== + dependencies: + "@webassemblyjs/wast-printer" "1.7.11" + +"@webassemblyjs/helper-fsm@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181" + integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A== + +"@webassemblyjs/helper-module-context@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209" + integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg== + +"@webassemblyjs/helper-wasm-bytecode@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06" + integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ== + +"@webassemblyjs/helper-wasm-section@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a" + integrity sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q== + dependencies: + "@webassemblyjs/ast" "1.7.11" + "@webassemblyjs/helper-buffer" "1.7.11" + "@webassemblyjs/helper-wasm-bytecode" "1.7.11" + "@webassemblyjs/wasm-gen" "1.7.11" + +"@webassemblyjs/ieee754@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b" + integrity sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63" + integrity sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw== + dependencies: + "@xtuc/long" "4.2.1" + +"@webassemblyjs/utf8@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82" + integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA== + +"@webassemblyjs/wasm-edit@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005" + integrity sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg== + dependencies: + "@webassemblyjs/ast" "1.7.11" + "@webassemblyjs/helper-buffer" "1.7.11" + "@webassemblyjs/helper-wasm-bytecode" "1.7.11" + "@webassemblyjs/helper-wasm-section" "1.7.11" + "@webassemblyjs/wasm-gen" "1.7.11" + "@webassemblyjs/wasm-opt" "1.7.11" + "@webassemblyjs/wasm-parser" "1.7.11" + "@webassemblyjs/wast-printer" "1.7.11" + +"@webassemblyjs/wasm-gen@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8" + integrity sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA== + dependencies: + "@webassemblyjs/ast" "1.7.11" + "@webassemblyjs/helper-wasm-bytecode" "1.7.11" + "@webassemblyjs/ieee754" "1.7.11" + "@webassemblyjs/leb128" "1.7.11" + "@webassemblyjs/utf8" "1.7.11" + +"@webassemblyjs/wasm-opt@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7" + integrity sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg== + dependencies: + "@webassemblyjs/ast" "1.7.11" + "@webassemblyjs/helper-buffer" "1.7.11" + "@webassemblyjs/wasm-gen" "1.7.11" + "@webassemblyjs/wasm-parser" "1.7.11" + +"@webassemblyjs/wasm-parser@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a" + integrity sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg== + dependencies: + "@webassemblyjs/ast" "1.7.11" + "@webassemblyjs/helper-api-error" "1.7.11" + "@webassemblyjs/helper-wasm-bytecode" "1.7.11" + "@webassemblyjs/ieee754" "1.7.11" + "@webassemblyjs/leb128" "1.7.11" + "@webassemblyjs/utf8" "1.7.11" + +"@webassemblyjs/wast-parser@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c" + integrity sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ== + dependencies: + "@webassemblyjs/ast" "1.7.11" + "@webassemblyjs/floating-point-hex-parser" "1.7.11" + "@webassemblyjs/helper-api-error" "1.7.11" + "@webassemblyjs/helper-code-frame" "1.7.11" + "@webassemblyjs/helper-fsm" "1.7.11" + "@xtuc/long" "4.2.1" + +"@webassemblyjs/wast-printer@1.7.11": + version "1.7.11" + resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813" + integrity sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg== + dependencies: + "@webassemblyjs/ast" "1.7.11" + "@webassemblyjs/wast-parser" "1.7.11" + "@xtuc/long" "4.2.1" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== -"@webassemblyjs/wasm-parser@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz#6f46516c5bb23904fbdf58009233c2dd8a54c72f" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-api-error" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/ieee754" "1.5.13" - "@webassemblyjs/leb128" "1.5.13" - "@webassemblyjs/utf8" "1.5.13" - -"@webassemblyjs/wast-parser@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz#5727a705d397ae6a3ae99d7f5460acf2ec646eea" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/floating-point-hex-parser" "1.5.13" - "@webassemblyjs/helper-api-error" "1.5.13" - "@webassemblyjs/helper-code-frame" "1.5.13" - "@webassemblyjs/helper-fsm" "1.5.13" - long "^3.2.0" - mamacro "^0.0.3" - -"@webassemblyjs/wast-printer@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz#bb34d528c14b4f579e7ec11e793ec50ad7cd7c95" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/wast-parser" "1.5.13" - long "^3.2.0" +"@xtuc/long@4.2.1": + version "4.2.1" + resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8" + integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g== abab@^1.0.4: version "1.0.4" @@ -1054,11 +1056,10 @@ accepts@~1.3.5: mime-types "~2.1.18" negotiator "0.6.1" -acorn-dynamic-import@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278" - dependencies: - acorn "^5.0.0" +acorn-dynamic-import@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" + integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== acorn-globals@^4.1.0: version "4.1.0" @@ -1076,7 +1077,7 @@ acorn@^3.0.4: version "3.3.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" -acorn@^5.0.0, acorn@^5.5.0, acorn@^5.5.3, acorn@^5.6.2: +acorn@^5.0.0, acorn@^5.5.0, acorn@^5.5.3: version "5.7.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" @@ -1084,12 +1085,22 @@ acorn@^5.3.0: version "5.7.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.2.tgz#91fa871883485d06708800318404e72bfb26dcc5" +acorn@^6.0.5: + version "6.0.7" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.7.tgz#490180ce18337270232d9488a44be83d9afb7fd3" + integrity sha512-HNJNgE60C9eOTgn974Tlp3dpLZdUr+SoxxDwPaY9J/kDNOLQTkaDgwBUXAF4SSsrAwD9RpdxuHK/EbuF+W9Ahw== + add-dom-event-listener@1.x: version "1.0.2" resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.0.2.tgz#8faed2c41008721cf111da1d30d995b85be42bed" dependencies: object-assign "4.x" +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" + integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + ajv-keywords@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" @@ -1128,10 +1139,6 @@ ajv@^6.1.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" -ansi-escapes@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" - ansi-escapes@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" @@ -1170,14 +1177,6 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" - -any-observable@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/any-observable/-/any-observable-0.2.0.tgz#c67870058003579009083f54ac0abafb5c33d242" - any-promise@1.3.0, any-promise@^1.0.0, any-promise@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" @@ -1237,10 +1236,6 @@ arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" -array-differ@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" - array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" @@ -1336,14 +1331,6 @@ ast-types-flow@0.0.7, ast-types-flow@^0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" -ast-types@0.10.1: - version "0.10.1" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.10.1.tgz#f52fca9715579a14f841d67d7f8d25432ab6a3dd" - -ast-types@0.11.3: - version "0.11.3" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.3.tgz#c20757fe72ee71278ea0ff3d87e5c2ca30d9edf8" - astral-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" @@ -1356,7 +1343,7 @@ async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" -async@^1.5.0, async@^1.5.2: +async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -1367,12 +1354,6 @@ async@^2.5.0, async@^2.6.1: dependencies: lodash "^4.17.10" -async@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" - dependencies: - lodash "^4.14.0" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -1472,22 +1453,6 @@ babel-generator@^6.26.0: source-map "^0.5.6" trim-right "^1.0.1" -babel-helper-bindify-decorators@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" - dependencies: - babel-helper-explode-assignable-expression "^6.24.1" - babel-runtime "^6.22.0" - babel-types "^6.24.1" - babel-helper-call-delegate@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" @@ -1506,23 +1471,6 @@ babel-helper-define-map@^6.24.1: babel-types "^6.26.0" lodash "^4.17.4" -babel-helper-explode-assignable-expression@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" - dependencies: - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - -babel-helper-explode-class@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" - dependencies: - babel-helper-bindify-decorators "^6.24.1" - babel-runtime "^6.22.0" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babel-helper-function-name@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" @@ -1562,16 +1510,6 @@ babel-helper-regex@^6.24.1: babel-types "^6.26.0" lodash "^4.17.4" -babel-helper-remap-async-to-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" - dependencies: - babel-helper-function-name "^6.24.1" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babel-helper-replace-supers@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" @@ -1663,97 +1601,10 @@ babel-plugin-styled-components@^1.10.0: babel-plugin-syntax-jsx "^6.18.0" lodash "^4.17.10" -babel-plugin-syntax-async-functions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" - -babel-plugin-syntax-async-generators@^6.5.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" - -babel-plugin-syntax-class-constructor-call@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-constructor-call/-/babel-plugin-syntax-class-constructor-call-6.18.0.tgz#9cb9d39fe43c8600bec8146456ddcbd4e1a76416" - -babel-plugin-syntax-class-properties@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" - -babel-plugin-syntax-decorators@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" - -babel-plugin-syntax-dynamic-import@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" - -babel-plugin-syntax-exponentiation-operator@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" - -babel-plugin-syntax-export-extensions@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-export-extensions/-/babel-plugin-syntax-export-extensions-6.13.0.tgz#70a1484f0f9089a4e84ad44bac353c95b9b12721" - -babel-plugin-syntax-flow@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz#4c3ab20a2af26aa20cd25995c398c4eb70310c8d" - babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" -babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - -babel-plugin-syntax-trailing-function-commas@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" - -babel-plugin-transform-async-generator-functions@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" - dependencies: - babel-helper-remap-async-to-generator "^6.24.1" - babel-plugin-syntax-async-generators "^6.5.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-async-to-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" - dependencies: - babel-helper-remap-async-to-generator "^6.24.1" - babel-plugin-syntax-async-functions "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-class-constructor-call@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-constructor-call/-/babel-plugin-transform-class-constructor-call-6.24.1.tgz#80dc285505ac067dcb8d6c65e2f6f11ab7765ef9" - dependencies: - babel-plugin-syntax-class-constructor-call "^6.18.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-class-properties@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" - dependencies: - babel-helper-function-name "^6.24.1" - babel-plugin-syntax-class-properties "^6.8.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-plugin-transform-decorators@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" - dependencies: - babel-helper-explode-class "^6.24.1" - babel-plugin-syntax-decorators "^6.13.0" - babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-types "^6.24.1" - babel-plugin-transform-es2015-arrow-functions@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" @@ -1922,35 +1773,6 @@ babel-plugin-transform-es2015-unicode-regex@^6.24.1: babel-runtime "^6.22.0" regexpu-core "^2.0.0" -babel-plugin-transform-exponentiation-operator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" - dependencies: - babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" - babel-plugin-syntax-exponentiation-operator "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-export-extensions@^6.22.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-export-extensions/-/babel-plugin-transform-export-extensions-6.22.0.tgz#53738b47e75e8218589eea946cbbd39109bbe653" - dependencies: - babel-plugin-syntax-export-extensions "^6.8.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-flow-strip-types@^6.8.0: - version "6.22.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz#84cb672935d43714fdc32bce84568d87441cf7cf" - dependencies: - babel-plugin-syntax-flow "^6.18.0" - babel-runtime "^6.22.0" - -babel-plugin-transform-object-rest-spread@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.26.0" - babel-plugin-transform-regenerator@^6.24.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" @@ -1964,7 +1786,7 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-runtime "^6.22.0" babel-types "^6.24.1" -babel-preset-es2015@^6.24.0, babel-preset-es2015@^6.9.0: +babel-preset-es2015@^6.24.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" dependencies: @@ -2001,34 +1823,7 @@ babel-preset-jest@^24.0.0: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" babel-plugin-jest-hoist "^24.0.0" -babel-preset-stage-1@^6.5.0: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-stage-1/-/babel-preset-stage-1-6.24.1.tgz#7692cd7dcd6849907e6ae4a0a85589cfb9e2bfb0" - dependencies: - babel-plugin-transform-class-constructor-call "^6.24.1" - babel-plugin-transform-export-extensions "^6.22.0" - babel-preset-stage-2 "^6.24.1" - -babel-preset-stage-2@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" - dependencies: - babel-plugin-syntax-dynamic-import "^6.18.0" - babel-plugin-transform-class-properties "^6.24.1" - babel-plugin-transform-decorators "^6.24.1" - babel-preset-stage-3 "^6.24.1" - -babel-preset-stage-3@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" - dependencies: - babel-plugin-syntax-trailing-function-commas "^6.22.0" - babel-plugin-transform-async-generator-functions "^6.24.1" - babel-plugin-transform-async-to-generator "^6.24.1" - babel-plugin-transform-exponentiation-operator "^6.24.1" - babel-plugin-transform-object-rest-spread "^6.22.0" - -babel-register@^6.26.0, babel-register@^6.9.0: +babel-register@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" dependencies: @@ -2087,11 +1882,11 @@ babelify@^7.3.0: babel-core "^6.0.14" object-assign "^4.0.0" -babylon@^6.17.3, babylon@^6.18.0: +babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" -babylon@^7.0.0-beta.30, babylon@^7.0.0-beta.40: +babylon@^7.0.0-beta.40: version "7.0.0-beta.47" resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80" @@ -2176,10 +1971,6 @@ binary-extensions@^1.0.0: version "1.11.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" -binaryextensions@2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.1.1.tgz#3209a51ca4a4ad541a3b8d3d6a6d5b83a2485935" - bindings@^1.2.1: version "1.3.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" @@ -2211,6 +2002,11 @@ bluebird@^3.5.0, bluebird@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" +bluebird@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" + integrity sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw== + bn.js@4.11.6: version "4.11.6" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" @@ -2493,6 +2289,26 @@ cacache@^10.0.4: unique-filename "^1.1.0" y18n "^4.0.0" +cacache@^11.0.2: + version "11.3.2" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.2.tgz#2d81e308e3d258ca38125b676b98b2ac9ce69bfa" + integrity sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg== + dependencies: + bluebird "^3.5.3" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.3" + graceful-fs "^4.1.15" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.2" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + cache-base@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" @@ -2507,22 +2323,6 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -cacheable-request@^2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" - dependencies: - clone-response "1.0.2" - get-stream "3.0.0" - http-cache-semantics "3.8.1" - keyv "3.0.0" - lowercase-keys "1.0.0" - normalize-url "2.0.1" - responselike "1.0.2" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - caller-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" @@ -2600,7 +2400,7 @@ chain-function@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/chain-function/-/chain-function-1.0.0.tgz#0d4ab37e7e18ead0bdc47b920764118ce58733dc" -chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: +chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -2619,7 +2419,7 @@ chalk@^2.0.0: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^2.0.1, chalk@^2.3.2, chalk@^2.4.1: +chalk@^2.0.1, chalk@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" dependencies: @@ -2643,14 +2443,6 @@ chalk@^2.3.0: escape-string-regexp "^1.0.5" supports-color "^4.0.0" -chalk@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - dependencies: - ansi-styles "~1.0.0" - has-color "~0.1.0" - strip-ansi "~0.1.0" - character-entities-html4@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.2.tgz#c44fdde3ce66b52e8d321d6c1bf46101f0150610" @@ -2716,6 +2508,11 @@ chownr@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" +chownr@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494" + integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g== + chrome-trace-event@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.0.tgz#45a91bd2c20c9411f0963b5aaeb9a1b95e09cc48" @@ -2757,22 +2554,12 @@ clean-css@4.1.x: dependencies: source-map "0.5.x" -cli-cursor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" - dependencies: - restore-cursor "^1.0.1" - cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" dependencies: restore-cursor "^2.0.0" -cli-spinners@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" - cli-table3@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" @@ -2783,19 +2570,6 @@ cli-table3@^0.5.0: optionalDependencies: colors "^1.1.2" -cli-table@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" - dependencies: - colors "1.0.3" - -cli-truncate@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" - dependencies: - slice-ansi "0.0.4" - string-width "^1.0.1" - cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" @@ -2808,10 +2582,6 @@ cliui@^4.0.0: strip-ansi "^4.0.0" wrap-ansi "^2.0.0" -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - clone-regexp@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/clone-regexp/-/clone-regexp-1.0.1.tgz#051805cd33173375d82118fc0918606da39fd60f" @@ -2819,36 +2589,6 @@ clone-regexp@^1.0.0: is-regexp "^1.0.0" is-supported-regexp-flag "^1.0.0" -clone-response@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - dependencies: - mimic-response "^1.0.0" - -clone-stats@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" - -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - -clone@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - -clone@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" - -cloneable-readable@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -2891,10 +2631,6 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -colors@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" - colors@^1.1.2: version "1.2.1" resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.1.tgz#f4a3d302976aaf042356ba1ade3b1a2c62d9d794" @@ -2931,10 +2667,6 @@ commander@^2.8.1, commander@~2.17.1: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" -commander@~2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" - commander@~2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" @@ -3102,10 +2834,6 @@ core-js@^2.4.0, core-js@^2.5.7: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.3.tgz#4b70938bdffdaf64931e66e2db158f0892289c49" integrity sha512-l00tmFFZOBHtYhN4Cz7k32VM7vTn3rE2ANjQDxdEN6zmXZ/xq1jQuutnmHvMG1ZJ7xd72+TA5YpUK8wz3rWsfQ== -core-js@^2.4.1: - version "2.5.6" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.6.tgz#0fe6d45bf3cac3ac364a9d72de7576f4eb221b9d" - core-js@^2.5.0: version "2.5.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" @@ -3291,10 +3019,6 @@ damerau-levenshtein@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" -dargs@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-5.1.0.tgz#ec7ea50c78564cd36c9d5ec18f66329fade27829" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -3309,7 +3033,7 @@ data-urls@^1.0.0: whatwg-mimetype "^2.0.0" whatwg-url "^6.4.0" -date-fns@^1.27.2, date-fns@^1.29.0: +date-fns@^1.29.0: version "1.29.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" @@ -3317,10 +3041,6 @@ date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" -dateformat@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -3418,10 +3138,6 @@ deep-equal@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" -deep-extend@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f" - deep-extend@~0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" @@ -3512,9 +3228,10 @@ destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" -detect-conflict@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/detect-conflict/-/detect-conflict-1.0.1.tgz#088657a66a961c05019db7c4230883b1c6b4176e" +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= detect-indent@^4.0.0: version "4.0.0" @@ -3539,10 +3256,6 @@ diff-sequences@^24.0.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.0.0.tgz#cdf8e27ed20d8b8d3caccb4e0c0d8fe31a173013" integrity sha512-46OkIuVGBBnrC0soO/4LHu5LHGHx0uhP65OVz8XOrAJpqiCB2aVIuESvjI1F9oqebuvY8lekS1pt6TN7vt7qsw== -diff@^3.3.1, diff@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -3704,15 +3417,11 @@ ecc-jsbn@~0.1.1: dependencies: jsbn "~0.1.0" -editions@^1.3.3: - version "1.3.4" - resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.4.tgz#3662cb592347c3168eb8e498a0ff73271d67f50b" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -ejs@^2.5.7, ejs@^2.5.9: +ejs@^2.5.7: version "2.6.1" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" @@ -3725,10 +3434,6 @@ electron-to-chromium@^1.3.30: version "1.3.62" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.62.tgz#2e8e2dc070c800ec8ce23ff9dfcceb585d6f9ed8" -elegant-spinner@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" - elliptic@^6.0.0, elliptic@^6.2.3: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" @@ -3778,14 +3483,6 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.0.0.tgz#e34a6eaa790f62fccd71d93959f56b2b432db10a" - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - tapable "^1.0.0" - enhanced-resolve@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" @@ -3798,10 +3495,6 @@ entities@^1.1.1, entities@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" -envinfo@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-4.4.2.tgz#472c49f3a8b9bca73962641ce7cb692bf623cd1c" - errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -3820,13 +3513,6 @@ error-stack-parser@^1.3.6: dependencies: stackframe "^0.3.1" -error@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/error/-/error-7.0.2.tgz#a5f75fff4d9926126ddac0ea5dc38e689153cb02" - dependencies: - string-template "~0.2.1" - xtend "~4.0.0" - es-abstract@^1.4.3, es-abstract@^1.6.1: version "1.12.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" @@ -4096,10 +3782,6 @@ esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" -esprima@~4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" - esquery@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" @@ -4277,10 +3959,6 @@ execall@^1.0.0: dependencies: clone-regexp "^1.0.0" -exit-hook@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" - exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" @@ -4378,7 +4056,7 @@ extend@^3.0.0, extend@~3.0.1, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" -external-editor@^2.0.4, external-editor@^2.1.0: +external-editor@^2.0.4: version "2.2.0" resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" dependencies: @@ -4417,17 +4095,6 @@ fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" -fast-glob@^2.0.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.2.tgz#71723338ac9b4e0e2fff1d6748a2a13d5ed352bf" - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.0.1" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.1" - micromatch "^3.1.10" - fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" @@ -4490,12 +4157,10 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" -figures@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" - dependencies: - escape-string-regexp "^1.0.5" - object-assign "^4.1.0" +figgy-pudding@^3.5.1: + version "3.5.1" + resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" + integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== figures@^2.0.0: version "2.0.0" @@ -4632,11 +4297,15 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -first-chunk-stream@^2.0.0: +findup-sync@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" + integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw= dependencies: - readable-stream "^2.0.2" + detect-file "^1.0.0" + is-glob "^3.1.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" flat-cache@^1.2.1: version "1.3.0" @@ -4651,10 +4320,6 @@ flow-bin@0.75.0: version "0.75.0" resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.75.0.tgz#b96d1ee99d3b446a3226be66b4013224ce9df260" -flow-parser@^0.*: - version "0.72.0" - resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.72.0.tgz#6c8041e76ac7d0be1a71ce29c00cd1435fb6013c" - flow-webpack-plugin@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/flow-webpack-plugin/-/flow-webpack-plugin-1.2.0.tgz#1958821d16135028e391cad5ee2f3a4fa78197ec" @@ -4721,7 +4386,7 @@ fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" -from2@^2.1.0, from2@^2.1.1: +from2@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" dependencies: @@ -4827,10 +4492,6 @@ get-stdin@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" -get-stream@3.0.0, get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - get-stream@^2.2.0: version "2.3.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" @@ -4838,6 +4499,10 @@ get-stream@^2.2.0: object-assign "^4.0.1" pinkie-promise "^2.0.0" +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -4855,30 +4520,10 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -gh-got@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gh-got/-/gh-got-6.0.0.tgz#d74353004c6ec466647520a10bd46f7299d268d0" - dependencies: - got "^7.0.0" - is-plain-obj "^1.1.0" - git-revision-webpack-plugin@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/git-revision-webpack-plugin/-/git-revision-webpack-plugin-3.0.3.tgz#f909949d7851d1039ed530518f73f5d46594e66f" -github-username@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/github-username/-/github-username-4.1.0.tgz#cbe280041883206da4212ae9e4b5f169c30bf417" - dependencies: - gh-got "^6.0.0" - -glob-all@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-all/-/glob-all-3.1.0.tgz#8913ddfb5ee1ac7812656241b03d5217c64b02ab" - dependencies: - glob "^7.0.5" - yargs "~1.2.6" - glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -4899,10 +4544,6 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - glob@^7.0.0, glob@^7.0.3, glob@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" @@ -4926,6 +4567,11 @@ glob@^7.0.5, glob@^7.1.2, glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" +global-modules-path@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.1.tgz#e541f4c800a1a8514a990477b267ac67525b9931" + integrity sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg== + global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" @@ -4996,18 +4642,6 @@ globby@^7.0.0, globby@^7.1.1: pify "^3.0.0" slash "^1.0.0" -globby@^8.0.0, globby@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.1.tgz#b5ad48b8aa80b35b814fc1281ecc851f1d2b5b50" - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - fast-glob "^2.0.2" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - globjoin@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" @@ -5018,7 +4652,7 @@ gonzales-pe@^4.0.3: dependencies: minimist "1.1.x" -got@7.1.0, got@^7.0.0, got@^7.1.0: +got@7.1.0, got@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" dependencies: @@ -5037,28 +4671,6 @@ got@7.1.0, got@^7.0.0, got@^7.1.0: url-parse-lax "^1.0.0" url-to-options "^1.0.1" -got@^8.2.0: - version "8.3.1" - resolved "https://registry.yarnpkg.com/got/-/got-8.3.1.tgz#093324403d4d955f5a16a7a8d39955d055ae10ed" - dependencies: - "@sindresorhus/is" "^0.7.0" - cacheable-request "^2.1.1" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - into-stream "^3.1.0" - is-retry-allowed "^1.1.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - mimic-response "^1.0.0" - p-cancelable "^0.4.0" - p-timeout "^2.0.1" - pify "^3.0.0" - safe-buffer "^5.1.1" - timed-out "^4.0.1" - url-parse-lax "^3.0.0" - url-to-options "^1.0.1" - graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -5072,12 +4684,6 @@ graceful-fs@^4.1.15: version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" -grouped-queue@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/grouped-queue/-/grouped-queue-0.3.3.tgz#c167d2a5319c5a0e0964ef6a25b7c2df8996c85c" - dependencies: - lodash "^4.17.2" - growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -5128,10 +4734,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-color@~0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" @@ -5349,10 +4951,6 @@ htmlparser2@~3.3.0: domutils "1.1" readable-stream "1.0" -http-cache-semantics@3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" - http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" @@ -5422,7 +5020,7 @@ iconv-lite@0.4.23, iconv-lite@^0.4.17, iconv-lite@^0.4.4: dependencies: safer-buffer ">= 2.1.2 < 3" -ieee754@^1.1.11, ieee754@^1.1.4: +ieee754@^1.1.4: version "1.1.12" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" @@ -5524,40 +5122,16 @@ inquirer@^3.0.6: strip-ansi "^4.0.0" through "^2.3.6" -inquirer@^5.1.0, inquirer@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-5.2.0.tgz#db350c2b73daca77ff1243962e9f22f099685726" - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^2.1.0" - figures "^2.0.0" - lodash "^4.3.0" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^5.5.2" - string-width "^2.1.0" - strip-ansi "^4.0.0" - through "^2.3.6" - internal-ip@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" dependencies: meow "^3.3.0" -interpret@^1.0.0, interpret@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" - -into-stream@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-3.1.0.tgz#96fb0a936c12babd6ff1752a17d05616abd094c6" - dependencies: - from2 "^2.1.1" - p-is-promise "^1.1.0" +interpret@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" + integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== invariant@^2.2.1, invariant@^2.2.2: version "2.2.2" @@ -5795,12 +5369,6 @@ is-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" -is-observable@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/is-observable/-/is-observable-0.2.0.tgz#b361311d83c6e5d726cabf5e250b0237106f5ae2" - dependencies: - symbol-observable "^0.2.2" - is-odd@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24" @@ -5823,7 +5391,7 @@ is-path-inside@^1.0.0: dependencies: path-is-inside "^1.0.1" -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: +is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" @@ -5860,16 +5428,10 @@ is-resolvable@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" -is-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0: +is-retry-allowed@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" -is-scoped@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-scoped/-/is-scoped-1.0.0.tgz#449ca98299e713038256289ecb2b540dc437cb30" - dependencies: - scoped-regex "^1.0.0" - is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -5917,10 +5479,6 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" -isbinaryfile@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.2.tgz#4a3e974ec0cba9004d3fc6cde7209ea69368a621" - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" @@ -6035,14 +5593,6 @@ istanbul-reports@^2.1.0: dependencies: handlebars "^4.0.11" -istextorbinary@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.2.1.tgz#a5231a08ef6dd22b268d0895084cf8d58b5bec53" - dependencies: - binaryextensions "2" - editions "^1.3.3" - textextensions "2" - isurl@^1.0.0-alpha5: version "1.0.0" resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" @@ -6427,46 +5977,6 @@ jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" -jscodeshift@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.4.1.tgz#da91a1c2eccfa03a3387a21d39948e251ced444a" - dependencies: - async "^1.5.0" - babel-plugin-transform-flow-strip-types "^6.8.0" - babel-preset-es2015 "^6.9.0" - babel-preset-stage-1 "^6.5.0" - babel-register "^6.9.0" - babylon "^6.17.3" - colors "^1.1.2" - flow-parser "^0.*" - lodash "^4.13.1" - micromatch "^2.3.7" - node-dir "0.1.8" - nomnom "^1.8.1" - recast "^0.12.5" - temp "^0.8.1" - write-file-atomic "^1.2.0" - -jscodeshift@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.5.0.tgz#bdb7b6cc20dd62c16aa728c3fa2d2fe66ca7c748" - dependencies: - babel-plugin-transform-flow-strip-types "^6.8.0" - babel-preset-es2015 "^6.9.0" - babel-preset-stage-1 "^6.5.0" - babel-register "^6.9.0" - babylon "^7.0.0-beta.30" - colors "^1.1.2" - flow-parser "^0.*" - lodash "^4.13.1" - micromatch "^2.3.7" - neo-async "^2.5.0" - node-dir "0.1.8" - nomnom "^1.8.1" - recast "^0.14.1" - temp "^0.8.1" - write-file-atomic "^1.2.0" - jsdom@^11.5.1: version "11.12.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" @@ -6511,10 +6021,6 @@ jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -6612,12 +6118,6 @@ keccakjs@^0.2.1: browserify-sha3 "^0.0.1" sha3 "^1.1.0" -keyv@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" - dependencies: - json-buffer "3.0.0" - killable@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.0.tgz#da8b84bd47de5395878f95d64d02f2449fe05e6b" @@ -6679,53 +6179,10 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -listr-silent-renderer@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" - -listr-update-renderer@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz#344d980da2ca2e8b145ba305908f32ae3f4cc8a7" - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - elegant-spinner "^1.0.1" - figures "^1.7.0" - indent-string "^3.0.0" - log-symbols "^1.0.2" - log-update "^1.0.2" - strip-ansi "^3.0.1" - -listr-verbose-renderer@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35" - dependencies: - chalk "^1.1.3" - cli-cursor "^1.0.2" - date-fns "^1.27.2" - figures "^1.7.0" - -listr@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/listr/-/listr-0.13.0.tgz#20bb0ba30bae660ee84cc0503df4be3d5623887d" - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - figures "^1.7.0" - indent-string "^2.1.0" - is-observable "^0.2.0" - is-promise "^2.1.0" - is-stream "^1.1.0" - listr-silent-renderer "^1.1.1" - listr-update-renderer "^0.4.0" - listr-verbose-renderer "^0.4.0" - log-symbols "^1.0.2" - log-update "^1.0.2" - ora "^0.2.3" - p-map "^1.1.1" - rxjs "^5.4.2" - stream-to-observable "^0.2.0" - strip-ansi "^3.0.1" +lightercollective@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/lightercollective/-/lightercollective-0.1.0.tgz#70df102c530dcb8d0ccabfe6175a8d00d5f61300" + integrity sha512-J9tg5uraYoQKaWbmrzDDexbG6hHnMcWS1qLYgJSWE+mpA3U5OCSeMUhb+K55otgZJ34oFdR0ECvdIb3xuO5JOQ== load-json-file@^1.0.0: version "1.1.0" @@ -6849,7 +6306,7 @@ lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" -lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.3.0: +lodash@^4.13.1, lodash@^4.17.3, lodash@^4.3.0: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" @@ -6862,25 +6319,12 @@ lodash@^4.17.5: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" -log-symbols@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" - dependencies: - chalk "^1.0.0" - -log-symbols@^2.0.0, log-symbols@^2.1.0, log-symbols@^2.2.0: +log-symbols@^2.0.0, log-symbols@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" dependencies: chalk "^2.0.1" -log-update@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" - dependencies: - ansi-escapes "^1.0.0" - cli-cursor "^1.0.2" - loglevel@^1.4.1: version "1.6.1" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" @@ -6892,14 +6336,6 @@ loglevelnext@^1.0.1: es6-symbol "^3.1.1" object.assign "^4.1.0" -long@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" - -long@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" - longest-streak@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.2.tgz#2421b6ba939a443bb9ffebf596585a50b4c38e2e" @@ -6927,10 +6363,6 @@ lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" -lowercase-keys@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - lowercase-keys@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" @@ -6942,7 +6374,14 @@ lru-cache@^4.0.1, lru-cache@^4.1.1: pseudomap "^1.0.2" yallist "^2.1.2" -make-dir@^1.0.0, make-dir@^1.1.0, make-dir@^1.3.0: +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +make-dir@^1.0.0, make-dir@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== @@ -6955,10 +6394,6 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" -mamacro@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - map-age-cleaner@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" @@ -7018,30 +6453,6 @@ media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" -mem-fs-editor@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/mem-fs-editor/-/mem-fs-editor-4.0.2.tgz#55a79b1e824da631254c4c95ba6366602c77af90" - dependencies: - commondir "^1.0.1" - deep-extend "^0.5.1" - ejs "^2.5.9" - glob "^7.0.3" - globby "^8.0.0" - isbinaryfile "^3.0.2" - mkdirp "^0.5.0" - multimatch "^2.0.0" - rimraf "^2.2.8" - through2 "^2.0.0" - vinyl "^2.0.1" - -mem-fs@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/mem-fs/-/mem-fs-1.1.3.tgz#b8ae8d2e3fcb6f5d3f9165c12d4551a065d989cc" - dependencies: - through2 "^2.0.0" - vinyl "^1.1.0" - vinyl-file "^2.0.0" - mem@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" @@ -7111,10 +6522,6 @@ merge-stream@^1.0.1: dependencies: readable-stream "^2.0.1" -merge2@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.2.tgz#03212e3da8d86c4d8523cebd6318193414f94e34" - merge@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" @@ -7123,7 +6530,7 @@ methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" -micromatch@^2.3.11, micromatch@^2.3.7: +micromatch@^2.3.11: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" dependencies: @@ -7141,7 +6548,7 @@ micromatch@^2.3.11, micromatch@^2.3.7: parse-glob "^3.0.4" regex-cache "^0.4.2" -micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9: +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" dependencies: @@ -7226,7 +6633,7 @@ 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" -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: +minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -7249,10 +6656,6 @@ minimist@1.1.x: version "1.1.3" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" -minimist@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" - minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -7290,6 +6693,22 @@ mississippi@^2.0.0: stream-each "^1.1.0" through2 "^2.0.0" +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" + integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + mixin-deep@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" @@ -7359,15 +6778,6 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -multimatch@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-2.1.0.tgz#9c7906a22fb4c02919e2f5f75161b4cdbd4b2a2b" - dependencies: - array-differ "^1.0.0" - array-union "^1.0.1" - arrify "^1.0.0" - minimatch "^3.0.0" - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -7447,10 +6857,6 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" -node-dir@0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.8.tgz#55fb8deb699070707fb67f91a460f0448294c77d" - node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -7530,13 +6936,6 @@ node-releases@^1.1.3: dependencies: semver "^5.3.0" -nomnom@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" - dependencies: - chalk "~0.4.0" - underscore "~1.6.0" - nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -7567,14 +6966,6 @@ normalize-selector@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/normalize-selector/-/normalize-selector-0.2.0.tgz#d0b145eb691189c63a78d201dc4fdb1293ef0c03" -normalize-url@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" - dependencies: - prepend-http "^2.0.0" - query-string "^5.0.1" - sort-keys "^2.0.0" - npm-bundled@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308" @@ -7745,10 +7136,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -onetime@^1.0.0: - version "1.1.0" - resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" - onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -7783,15 +7170,6 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" -ora@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" - dependencies: - chalk "^1.1.1" - cli-cursor "^1.0.2" - cli-spinners "^0.1.2" - object-assign "^4.0.1" - original@>=0.0.5: version "1.0.1" resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190" @@ -7847,10 +7225,6 @@ p-cancelable@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" -p-cancelable@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.4.1.tgz#35f363d67d52081c8d9585e37bcceb7e0bbcb2a0" - p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" @@ -7866,19 +7240,11 @@ p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" -p-is-promise@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" - p-is-promise@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.0.0.tgz#7554e3d572109a87e1f3f53f6a7d85d1b194f4c5" integrity sha512-pzQPhYMCAgLAKPWD2jC3Se9fEfrD9npNos0y150EeqZll7akhEgGhTW/slB6lHku8AvYGiJ+YJ5hfHKePPgFWg== -p-lazy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-lazy/-/p-lazy-1.0.0.tgz#ec53c802f2ee3ac28f166cc82d0b2b02de27a835" - p-limit@^1.0.0, p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -7920,12 +7286,6 @@ p-timeout@^1.1.1: dependencies: p-finally "^1.0.0" -p-timeout@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-2.0.1.tgz#d8dd1979595d2dc0139e1fe46b8b646cb3cdf038" - dependencies: - p-finally "^1.0.0" - p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -8280,22 +7640,10 @@ prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -prettier@^1.5.3: - version "1.12.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.12.1.tgz#c1ad20e803e7749faf905a409d2367e06bbe7325" - -pretty-bytes@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9" - pretty-error@^2.0.2: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" @@ -8311,18 +7659,18 @@ pretty-format@^24.0.0: ansi-regex "^4.0.0" ansi-styles "^3.2.0" -private@^0.1.6, private@^0.1.7, private@~0.1.5: +private@^0.1.6, private@^0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" -process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" - process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" @@ -8802,13 +8150,6 @@ react@^16.6.3: prop-types "^15.6.2" scheduler "^0.11.2" -read-chunk@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-2.1.0.tgz#6a04c0928005ed9d42e1a6ac5600e19cbc7ff655" - dependencies: - pify "^3.0.0" - safe-buffer "^5.1.1" - read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -8929,31 +8270,6 @@ realpath-native@^1.0.2: dependencies: util.promisify "^1.0.0" -recast@^0.12.5: - version "0.12.9" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.12.9.tgz#e8e52bdb9691af462ccbd7c15d5a5113647a15f1" - dependencies: - ast-types "0.10.1" - core-js "^2.4.1" - esprima "~4.0.0" - private "~0.1.5" - source-map "~0.6.1" - -recast@^0.14.1: - version "0.14.7" - resolved "https://registry.yarnpkg.com/recast/-/recast-0.14.7.tgz#4f1497c2b5826d42a66e8e3c9d80c512983ff61d" - dependencies: - ast-types "0.11.3" - esprima "~4.0.0" - private "~0.1.5" - source-map "~0.6.1" - -rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - dependencies: - resolve "^1.1.6" - redbox-react@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/redbox-react/-/redbox-react-1.6.0.tgz#e753ac02595bc1bf695b3935889a4f5b1b5a21a1" @@ -9187,11 +8503,7 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -replace-ext@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" - -replace-ext@1.0.0, replace-ext@^1.0.0: +replace-ext@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" @@ -9293,7 +8605,7 @@ resolve-cwd@^2.0.0: dependencies: resolve-from "^3.0.0" -resolve-dir@^1.0.0: +resolve-dir@^1.0.0, resolve-dir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" dependencies: @@ -9324,12 +8636,6 @@ resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -resolve@^1.1.6: - version "1.7.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.7.1.tgz#aadd656374fd298aee895bc026b8297418677fd3" - dependencies: - path-parse "^1.0.5" - resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1: version "1.10.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" @@ -9343,19 +8649,6 @@ resolve@^1.5.0, resolve@^1.6.0: dependencies: path-parse "^1.0.5" -responselike@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - dependencies: - lowercase-keys "^1.0.0" - -restore-cursor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" - dependencies: - exit-hook "^1.0.0" - onetime "^1.0.0" - restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -9380,10 +8673,6 @@ rimraf@^2.6.1: dependencies: glob "^7.1.3" -rimraf@~2.2.6: - version "2.2.8" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" - ripemd160@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" @@ -9413,7 +8702,7 @@ rtcpeerconnection-shim@^1.2.14: dependencies: sdp "^2.6.0" -run-async@^2.0.0, run-async@^2.2.0: +run-async@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" dependencies: @@ -9435,12 +8724,6 @@ rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" -rxjs@^5.4.2, rxjs@^5.5.2: - version "5.5.10" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.10.tgz#fde02d7a614f6c8683d0d1957827f492e09db045" - dependencies: - symbol-observable "1.0.1" - safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -9494,9 +8777,14 @@ schema-utils@^0.4.4, schema-utils@^0.4.5: ajv "^6.1.0" ajv-keywords "^3.1.0" -scoped-regex@^1.0.0: +schema-utils@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/scoped-regex/-/scoped-regex-1.0.0.tgz#a346bb1acd4207ae70bd7c0c7ca9e566b6baddb8" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" + integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" scrypt.js@0.2.0: version "0.2.0" @@ -9701,14 +8989,6 @@ shell-quote@^1.6.1: array-reduce "~0.0.0" jsonify "~0.0.0" -shelljs@^0.8.0: - version "0.8.2" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.2.tgz#345b7df7763f4c2340d584abb532c5f752ca9e35" - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" @@ -9747,20 +9027,12 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== -slice-ansi@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" - slice-ansi@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" dependencies: is-fullwidth-code-point "^2.0.0" -slide@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -9806,12 +9078,6 @@ sockjs@0.3.19: faye-websocket "^0.10.0" uuid "^3.0.1" -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - dependencies: - is-plain-obj "^1.0.0" - source-list-map@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" @@ -9839,7 +9105,7 @@ source-map-support@^0.5.6: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@^0.5.9: +source-map-support@^0.5.9, source-map-support@~0.5.9: version "0.5.10" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== @@ -9951,6 +9217,13 @@ ssri@^5.2.4: dependencies: safe-buffer "^5.1.1" +ssri@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" + integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + dependencies: + figgy-pudding "^3.5.1" + stack-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620" @@ -10016,12 +9289,6 @@ stream-shift@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" -stream-to-observable@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.2.0.tgz#59d6ea393d87c2c0ddac10aa0d561bc6ba6f0e10" - dependencies: - any-observable "^0.2.0" - strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -10033,10 +9300,6 @@ string-length@^2.0.0: astral-regex "^1.0.0" strip-ansi "^4.0.0" -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" - string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -10104,17 +9367,6 @@ strip-ansi@^5.0.0: dependencies: ansi-regex "^4.0.0" -strip-ansi@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" - -strip-bom-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" - dependencies: - first-chunk-stream "^2.0.0" - strip-bom "^2.0.0" - strip-bom@3.0.0, strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -10337,14 +9589,6 @@ swarm-js@0.1.37: tar.gz "^1.0.5" xhr-request-promise "^0.1.2" -symbol-observable@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" - -symbol-observable@^0.2.2: - version "0.2.4" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-0.2.4.tgz#95a83db26186d6af7e7a18dbd9760a2f86d08f40" - symbol-observable@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" @@ -10379,6 +9623,11 @@ tapable@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2" +tapable@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.1.tgz#4d297923c5a72a42360de2ab52dadfaaec00018e" + integrity sha512-9I2ydhj8Z9veORCw5PRm4u9uebCn0mcCa6scWoNcbZ6dAtoo2618u9UUzxgmsCOreJpqDDuv61LvwofW7hLcBA== + tar-stream@^1.5.2: version "1.6.1" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.1.tgz#f84ef1696269d6223ca48f6e1eeede3f7e81f395" @@ -10421,12 +9670,28 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.2" -temp@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" +terser-webpack-plugin@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.1.tgz#7545da9ae5f4f9ae6a0ac961eb46f5e7c845cc26" + integrity sha512-GGSt+gbT0oKcMDmPx4SRSfJPE1XaN3kQRWG4ghxKQw9cn5G9x6aCKSsgYdvyM0na9NJ4Drv0RG6jbBByZ5CMjw== dependencies: - os-tmpdir "^1.0.0" - rimraf "~2.2.6" + cacache "^11.0.2" + find-cache-dir "^2.0.0" + schema-utils "^1.0.0" + serialize-javascript "^1.4.0" + source-map "^0.6.1" + terser "^3.8.1" + webpack-sources "^1.1.0" + worker-farm "^1.5.2" + +terser@^3.8.1: + version "3.16.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-3.16.1.tgz#5b0dd4fa1ffd0b0b43c2493b2c364fd179160493" + integrity sha512-JDJjgleBROeek2iBcSNzOHLKsB/MdDf+E/BOAJ0Tk9r7p9/fVobfv7LMJ/g/k3v9SXdmjZnIlFd5nfn/Rt0Xow== + dependencies: + commander "~2.17.1" + source-map "~0.6.1" + source-map-support "~0.5.9" test-exclude@^5.0.0: version "5.0.0" @@ -10438,14 +9703,10 @@ test-exclude@^5.0.0: read-pkg-up "^4.0.0" require-main-filename "^1.0.1" -text-table@^0.2.0, text-table@~0.2.0: +text-table@~0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" -textextensions@2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.2.0.tgz#38ac676151285b658654581987a0ce1a4490d286" - thenify-all@^1.0.0, thenify-all@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" @@ -10653,13 +9914,6 @@ ua-parser-js@^0.7.9: version "0.7.17" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" -uglify-es@^3.3.4: - version "3.3.9" - resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677" - dependencies: - commander "~2.13.0" - source-map "~0.6.1" - uglify-js@3.4.x: version "3.4.6" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.6.tgz#bc546d53f3e02b05d97d0ca5a7abfe0fb0384ddb" @@ -10675,19 +9929,6 @@ uglify-js@^3.1.4: commander "~2.17.1" source-map "~0.6.1" -uglifyjs-webpack-plugin@^1.2.4: - version "1.2.7" - resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz#57638dd99c853a1ebfe9d97b42160a8a507f9d00" - dependencies: - cacache "^10.0.4" - find-cache-dir "^1.0.0" - schema-utils "^0.4.5" - serialize-javascript "^1.4.0" - source-map "^0.6.1" - uglify-es "^3.3.4" - webpack-sources "^1.1.0" - worker-farm "^1.5.2" - ultron@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" @@ -10703,10 +9944,6 @@ underscore@1.8.3: version "1.8.3" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" -underscore@~1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" - unherit@^1.0.4: version "1.1.1" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.1.tgz#132748da3e88eab767e08fabfbb89c5e9d28628c" @@ -10767,6 +10004,13 @@ unique-filename@^1.1.0: dependencies: unique-slug "^2.0.0" +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + unique-slug@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab" @@ -10822,10 +10066,6 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -untildify@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-3.0.2.tgz#7f1f302055b3fea0f3e81dc78eb36766cb65e3f1" - upath@^1.0.0, upath@^1.0.5: version "1.1.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" @@ -10854,12 +10094,6 @@ url-parse-lax@^1.0.0: dependencies: prepend-http "^1.0.1" -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - dependencies: - prepend-http "^2.0.0" - url-parse@^1.1.8, url-parse@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.0.tgz#6bfdaad60098c7fe06f623e42b22de62de0d3d75" @@ -10939,9 +10173,10 @@ uuid@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" -v8-compile-cache@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-1.1.2.tgz#8d32e4f16974654657e676e0e467a348e89b0dc4" +v8-compile-cache@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c" + integrity sha512-1wFuMUIM16MDJRCrpbpuEPTUGmM5QMUg0cr3KFwra2XgOgFcPGDQHDh3CszSCD2Zewc/dh/pamNEW8CbfDebUw== validate-npm-package-license@^3.0.1: version "3.0.1" @@ -10985,36 +10220,6 @@ vfile@^2.0.0: unist-util-stringify-position "^1.0.0" vfile-message "^1.0.0" -vinyl-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-2.0.0.tgz#a7ebf5ffbefda1b7d18d140fcb07b223efb6751a" - dependencies: - graceful-fs "^4.1.2" - pify "^2.3.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - strip-bom-stream "^2.0.0" - vinyl "^1.1.0" - -vinyl@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" - dependencies: - clone "^1.0.0" - clone-stats "^0.0.1" - replace-ext "0.0.1" - -vinyl@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.1.0.tgz#021f9c2cf951d6b939943c89eb5ee5add4fd924c" - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - vm-browserify@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" @@ -11272,12 +10477,6 @@ webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" -webpack-addons@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/webpack-addons/-/webpack-addons-1.1.5.tgz#2b178dfe873fb6e75e40a819fa5c26e4a9bc837a" - dependencies: - jscodeshift "^0.4.0" - webpack-build-notifier@^0.1.29: version "0.1.29" resolved "https://registry.yarnpkg.com/webpack-build-notifier/-/webpack-build-notifier-0.1.29.tgz#d71f89bb94346c6b748e07aa3d117d2beb0a151f" @@ -11303,36 +10502,24 @@ webpack-bundle-analyzer@^2.13.1: opener "^1.4.3" ws "^4.0.0" -webpack-cli@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-2.1.3.tgz#65d166851abaa56067ef3f716b02a97ba6bbe84d" +webpack-cli@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.2.1.tgz#779c696c82482491f0803907508db2e276ed3b61" + integrity sha512-jeJveHwz/vwpJ3B8bxEL5a/rVKIpRNJDsKggfKnxuYeohNDW4Y/wB9N/XHJA093qZyS0r6mYL+/crLsIol4WKA== dependencies: - chalk "^2.3.2" + chalk "^2.4.1" cross-spawn "^6.0.5" - diff "^3.5.0" - enhanced-resolve "^4.0.0" - envinfo "^4.4.2" - glob-all "^3.1.0" + enhanced-resolve "^4.1.0" + findup-sync "^2.0.0" global-modules "^1.0.0" - got "^8.2.0" - import-local "^1.0.0" - inquirer "^5.1.0" - interpret "^1.0.4" - jscodeshift "^0.5.0" - listr "^0.13.0" + global-modules-path "^2.3.0" + import-local "^2.0.0" + interpret "^1.1.0" + lightercollective "^0.1.0" loader-utils "^1.1.0" - lodash "^4.17.5" - log-symbols "^2.2.0" - mkdirp "^0.5.1" - p-each-series "^1.0.0" - p-lazy "^1.0.0" - prettier "^1.5.3" - supports-color "^5.3.0" - v8-compile-cache "^1.1.2" - webpack-addons "^1.1.5" - yargs "^11.1.0" - yeoman-environment "^2.0.0" - yeoman-generator "^2.0.4" + supports-color "^5.5.0" + v8-compile-cache "^2.0.2" + yargs "^12.0.4" webpack-dev-middleware@3.1.3: version "3.1.3" @@ -11388,24 +10575,32 @@ webpack-log@^1.0.1, webpack-log@^1.1.2: loglevelnext "^1.0.1" uuid "^3.1.0" -webpack-sources@^1.0.1, webpack-sources@^1.1.0: +webpack-sources@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" dependencies: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.16.3: - version "4.16.3" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.16.3.tgz#861be3176d81e7e3d71c66c8acc9bba35588b525" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-module-context" "1.5.13" - "@webassemblyjs/wasm-edit" "1.5.13" - "@webassemblyjs/wasm-opt" "1.5.13" - "@webassemblyjs/wasm-parser" "1.5.13" - acorn "^5.6.2" - acorn-dynamic-import "^3.0.0" +webpack-sources@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85" + integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA== + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^4.29.0: + version "4.29.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.29.0.tgz#f2cfef83f7ae404ba889ff5d43efd285ca26e750" + integrity sha512-pxdGG0keDBtamE1mNvT5zyBdx+7wkh6mh7uzMOo/uRQ/fhsdj5FXkh/j5mapzs060forql1oXqXN9HJGju+y7w== + dependencies: + "@webassemblyjs/ast" "1.7.11" + "@webassemblyjs/helper-module-context" "1.7.11" + "@webassemblyjs/wasm-edit" "1.7.11" + "@webassemblyjs/wasm-parser" "1.7.11" + acorn "^6.0.5" + acorn-dynamic-import "^4.0.0" ajv "^6.1.0" ajv-keywords "^3.1.0" chrome-trace-event "^1.0.0" @@ -11420,10 +10615,10 @@ webpack@^4.16.3: neo-async "^2.5.0" node-libs-browser "^2.0.0" schema-utils "^0.4.4" - tapable "^1.0.0" - uglifyjs-webpack-plugin "^1.2.4" + tapable "^1.1.0" + terser-webpack-plugin "^1.1.0" watchpack "^1.5.0" - webpack-sources "^1.0.1" + webpack-sources "^1.3.0" webrtc-adapter@^6.4.0: version "6.4.8" @@ -11527,14 +10722,6 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^1.2.0: - version "1.3.4" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - write-file-atomic@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.2.tgz#a7181706dfba17855d221140a9c06e15fcdd87b9" @@ -11612,7 +10799,7 @@ xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -11667,24 +10854,7 @@ yargs@11.0.0: y18n "^3.2.1" yargs-parser "^9.0.2" -yargs@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^9.0.2" - -yargs@^12.0.2, yargs@^12.0.5: +yargs@^12.0.2, yargs@^12.0.4, yargs@^12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== @@ -11702,12 +10872,6 @@ yargs@^12.0.2, yargs@^12.0.5: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" -yargs@~1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-1.2.6.tgz#9c7b4a82fd5d595b2bf17ab6dcc43135432fe34b" - dependencies: - minimist "^0.1.0" - yarn-run-all@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yarn-run-all/-/yarn-run-all-3.1.1.tgz#385053ee85c7156f87cec8949a0ffb6bfd0de0b0" @@ -11729,53 +10893,3 @@ yauzl@^2.4.2: dependencies: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" - -yeoman-environment@^2.0.0, yeoman-environment@^2.0.5: - version "2.1.1" - resolved "https://registry.yarnpkg.com/yeoman-environment/-/yeoman-environment-2.1.1.tgz#10a045f7fc4397873764882eae055a33e56ee1c5" - dependencies: - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^3.1.0" - diff "^3.3.1" - escape-string-regexp "^1.0.2" - globby "^8.0.1" - grouped-queue "^0.3.3" - inquirer "^5.2.0" - is-scoped "^1.0.0" - lodash "^4.17.10" - log-symbols "^2.1.0" - mem-fs "^1.1.0" - strip-ansi "^4.0.0" - text-table "^0.2.0" - untildify "^3.0.2" - -yeoman-generator@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/yeoman-generator/-/yeoman-generator-2.0.5.tgz#57b0b3474701293cc9ec965288f3400b00887c81" - dependencies: - async "^2.6.0" - chalk "^2.3.0" - cli-table "^0.3.1" - cross-spawn "^6.0.5" - dargs "^5.1.0" - dateformat "^3.0.3" - debug "^3.1.0" - detect-conflict "^1.0.0" - error "^7.0.2" - find-up "^2.1.0" - github-username "^4.0.0" - istextorbinary "^2.2.1" - lodash "^4.17.10" - make-dir "^1.1.0" - mem-fs-editor "^4.0.0" - minimist "^1.2.0" - pretty-bytes "^4.0.2" - read-chunk "^2.1.0" - read-pkg-up "^3.0.0" - rimraf "^2.6.2" - run-async "^2.0.0" - shelljs "^0.8.0" - text-table "^0.2.0" - through2 "^2.0.0" - yeoman-environment "^2.0.5" From 6a8ee2bb03b459555a24855d9087ceba29016303 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Mon, 4 Feb 2019 14:07:20 +0100 Subject: [PATCH 135/219] delete optional dependency on fsevent --- package.json | 4 +--- yarn.lock | 45 ++++++++++++++++++++++++++------------------- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index dcc3edf0..efa4c70c 100644 --- a/package.json +++ b/package.json @@ -118,7 +118,5 @@ "webpack-dev-server": "^3.1.4", "yargs": "11.0.0" }, - "optionalDependencies": { - "fsevents": "*" - } + "optionalDependencies": {} } diff --git a/yarn.lock b/yarn.lock index ddf440b7..d9efb946 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1400,8 +1400,9 @@ babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: js-tokens "^3.0.2" babel-core@^6.0.14, babel-core@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" + version "6.26.3" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== dependencies: babel-code-frame "^6.26.0" babel-generator "^6.26.0" @@ -1413,15 +1414,15 @@ babel-core@^6.0.14, babel-core@^6.26.0: babel-traverse "^6.26.0" babel-types "^6.26.0" babylon "^6.18.0" - convert-source-map "^1.5.0" - debug "^2.6.8" + convert-source-map "^1.5.1" + debug "^2.6.9" json5 "^0.5.1" lodash "^4.17.4" minimatch "^3.0.4" path-is-absolute "^1.0.1" - private "^0.1.7" + private "^0.1.8" slash "^1.0.0" - source-map "^0.5.6" + source-map "^0.5.7" babel-core@^7.0.0-bridge.0: version "7.0.0-bridge.0" @@ -1441,8 +1442,9 @@ babel-eslint@^9.0.0: eslint-visitor-keys "^1.0.0" babel-generator@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== dependencies: babel-messages "^6.23.0" babel-runtime "^6.26.0" @@ -1450,7 +1452,7 @@ babel-generator@^6.26.0: detect-indent "^4.0.0" jsesc "^1.3.0" lodash "^4.17.4" - source-map "^0.5.6" + source-map "^0.5.7" trim-right "^1.0.1" babel-helper-call-delegate@^6.24.1: @@ -1524,6 +1526,7 @@ babel-helper-replace-supers@^6.24.1: babel-helpers@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" @@ -1826,6 +1829,7 @@ babel-preset-jest@^24.0.0: babel-register@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= dependencies: babel-core "^6.26.0" babel-runtime "^6.26.0" @@ -1878,6 +1882,7 @@ babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: babelify@^7.3.0: version "7.3.0" resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5" + integrity sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU= dependencies: babel-core "^6.0.14" object-assign "^4.0.0" @@ -2774,14 +2779,14 @@ content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" -convert-source-map@^1.1.0: +convert-source-map@^1.1.0, convert-source-map@^1.5.1: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== dependencies: safe-buffer "~5.1.1" -convert-source-map@^1.4.0, convert-source-map@^1.5.0: +convert-source-map@^1.4.0: version "1.5.1" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" @@ -2829,15 +2834,11 @@ core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" -core-js@^2.4.0, core-js@^2.5.7: +core-js@^2.4.0, core-js@^2.5.0, core-js@^2.5.7: version "2.6.3" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.3.tgz#4b70938bdffdaf64931e66e2db158f0892289c49" integrity sha512-l00tmFFZOBHtYhN4Cz7k32VM7vTn3rE2ANjQDxdEN6zmXZ/xq1jQuutnmHvMG1ZJ7xd72+TA5YpUK8wz3rWsfQ== -core-js@^2.5.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" - core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -3236,6 +3237,7 @@ detect-file@^1.0.0: detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= dependencies: repeating "^2.0.0" @@ -4442,7 +4444,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@*, fsevents@^1.1.2, fsevents@^1.2.2, fsevents@^1.2.3: +fsevents@^1.1.2, fsevents@^1.2.2, fsevents@^1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" dependencies: @@ -4865,6 +4867,7 @@ hoist-non-react-statics@^3.2.1: home-or-tmp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.1" @@ -6011,6 +6014,7 @@ jsdom@^11.5.1: jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= jsesc@^2.5.1: version "2.5.2" @@ -7042,6 +7046,7 @@ oauth-sign@~0.9.0: object-assign@4.x, object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-copy@^0.1.0: version "0.1.0" @@ -7204,6 +7209,7 @@ os-locale@^3.0.0: os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= osenv@^0.1.4: version "0.1.4" @@ -7659,7 +7665,7 @@ pretty-format@^24.0.0: ansi-regex "^4.0.0" ansi-styles "^3.2.0" -private@^0.1.6, private@^0.1.7: +private@^0.1.6, private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -9095,6 +9101,7 @@ source-map-resolve@^0.5.0: source-map-support@^0.4.15: version "0.4.18" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== dependencies: source-map "^0.5.6" @@ -9121,7 +9128,7 @@ source-map@0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" -source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.6: +source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= From 0b7b349344f56b18981c1c4734125301c049e0d6 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Mon, 4 Feb 2019 15:09:35 +0100 Subject: [PATCH 136/219] move babel configuration to js file --- .babelrc | 46 --------------------------------------------- babel.config.js | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 46 deletions(-) delete mode 100644 .babelrc create mode 100644 babel.config.js diff --git a/.babelrc b/.babelrc deleted file mode 100644 index e82f99b3..00000000 --- a/.babelrc +++ /dev/null @@ -1,46 +0,0 @@ -{ - "presets": [ - [ - "@babel/preset-env", - { - "useBuiltIns": "entry", - "loose": true - } - ], - "@babel/preset-react", - "@babel/preset-flow" - ], - "plugins": [ - "react-hot-loader/babel", - "@babel/plugin-transform-flow-strip-types", - "@babel/plugin-proposal-class-properties", - "@babel/plugin-proposal-object-rest-spread", - [ - "@babel/plugin-transform-runtime", - { - "regenerator": true - } - ], - [ - "module-resolver", - { - "root": [ - "./src" - ], - "alias": { - "public": [ - "./public" - ] - } - } - ], - "babel-plugin-styled-components" - ], - "env": { - "test": { - "presets": [ - "jest" - ] - } - } -} diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 00000000..5556ac0f --- /dev/null +++ b/babel.config.js @@ -0,0 +1,50 @@ +module.exports = (api) => { + api.cache(true); + + return { + presets: [ + [ + '@babel/preset-env', + { + useBuiltIns: 'entry', + loose: true, + }, + ], + '@babel/preset-react', + '@babel/preset-flow', + ], + plugins: [ + 'react-hot-loader/babel', + '@babel/plugin-transform-flow-strip-types', + '@babel/plugin-proposal-class-properties', + '@babel/plugin-proposal-object-rest-spread', + [ + '@babel/plugin-transform-runtime', + { + regenerator: true, + }, + ], + [ + 'module-resolver', + { + root: [ + './src', + ], + alias: { + public: [ + './public', + ], + }, + }, + ], + 'babel-plugin-styled-components', + ], + env: { + test: { + presets: [ + 'jest', + ], + }, + }, + }; +}; \ No newline at end of file From 3066693a5723d5b391bf2fa97fd8be7c1f5d5c77 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Mon, 4 Feb 2019 16:19:57 +0100 Subject: [PATCH 137/219] update ethereumjs-util --- package.json | 3 +-- yarn.lock | 12 ++++-------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index efa4c70c..32cfb6a2 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "date-fns": "^1.29.0", "ethereumjs-tx": "^1.3.3", "ethereumjs-units": "^0.2.0", - "ethereumjs-util": "^5.1.4", + "ethereumjs-util": "^5.2.0", "express": "^4.16.3", "flow-webpack-plugin": "^1.2.0", "git-revision-webpack-plugin": "^3.0.3", @@ -89,7 +89,6 @@ "@babel/preset-flow": "^7.0.0", "@babel/preset-react": "^7.0.0", "@babel/register": "^7.0.0", - "babel-core": "^7.0.0-bridge.0", "babel-eslint": "^9.0.0", "babel-jest": "^24.0.0", "babel-loader": "^8.0.5", diff --git a/yarn.lock b/yarn.lock index d9efb946..a0a050c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1424,11 +1424,6 @@ babel-core@^6.0.14, babel-core@^6.26.0: slash "^1.0.0" source-map "^0.5.7" -babel-core@^7.0.0-bridge.0: - version "7.0.0-bridge.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" - integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg== - babel-eslint@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-9.0.0.tgz#7d9445f81ed9f60aff38115f838970df9f2b6220" @@ -3861,9 +3856,10 @@ ethereumjs-util@^5.0.0: rlp "^2.0.0" secp256k1 "^3.0.1" -ethereumjs-util@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.1.4.tgz#d1a4a9be31eaf8b33aad399894f854fdafda2469" +ethereumjs-util@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.0.tgz#3e0c0d1741471acf1036052d048623dee54ad642" + integrity sha512-CJAKdI0wgMbQFLlLRtZKGcy/L6pzVRgelIZqRqNbuVFM3K9VEnyfbcvz0ncWMRNCe4kaHWjwRYQcYMucmwsnWA== dependencies: bn.js "^4.11.0" create-hash "^1.1.2" From 66826478985dd5ce856b6639cb95ca8ca1b1d490 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Mon, 4 Feb 2019 16:20:54 +0100 Subject: [PATCH 138/219] Revert "delete optional dependency on fsevent" This reverts commit 6a8ee2bb03b459555a24855d9087ceba29016303. --- package.json | 4 +++- yarn.lock | 45 +++++++++++++++++++-------------------------- 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/package.json b/package.json index 32cfb6a2..0e0bfea2 100644 --- a/package.json +++ b/package.json @@ -117,5 +117,7 @@ "webpack-dev-server": "^3.1.4", "yargs": "11.0.0" }, - "optionalDependencies": {} + "optionalDependencies": { + "fsevents": "*" + } } diff --git a/yarn.lock b/yarn.lock index a0a050c0..4cd88623 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1400,9 +1400,8 @@ babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: js-tokens "^3.0.2" babel-core@^6.0.14, babel-core@^6.26.0: - version "6.26.3" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" - integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" dependencies: babel-code-frame "^6.26.0" babel-generator "^6.26.0" @@ -1414,15 +1413,15 @@ babel-core@^6.0.14, babel-core@^6.26.0: babel-traverse "^6.26.0" babel-types "^6.26.0" babylon "^6.18.0" - convert-source-map "^1.5.1" - debug "^2.6.9" + convert-source-map "^1.5.0" + debug "^2.6.8" json5 "^0.5.1" lodash "^4.17.4" minimatch "^3.0.4" path-is-absolute "^1.0.1" - private "^0.1.8" + private "^0.1.7" slash "^1.0.0" - source-map "^0.5.7" + source-map "^0.5.6" babel-eslint@^9.0.0: version "9.0.0" @@ -1437,9 +1436,8 @@ babel-eslint@^9.0.0: eslint-visitor-keys "^1.0.0" babel-generator@^6.26.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" dependencies: babel-messages "^6.23.0" babel-runtime "^6.26.0" @@ -1447,7 +1445,7 @@ babel-generator@^6.26.0: detect-indent "^4.0.0" jsesc "^1.3.0" lodash "^4.17.4" - source-map "^0.5.7" + source-map "^0.5.6" trim-right "^1.0.1" babel-helper-call-delegate@^6.24.1: @@ -1521,7 +1519,6 @@ babel-helper-replace-supers@^6.24.1: babel-helpers@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" - integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= dependencies: babel-runtime "^6.22.0" babel-template "^6.24.1" @@ -1824,7 +1821,6 @@ babel-preset-jest@^24.0.0: babel-register@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" - integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= dependencies: babel-core "^6.26.0" babel-runtime "^6.26.0" @@ -1877,7 +1873,6 @@ babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: babelify@^7.3.0: version "7.3.0" resolved "https://registry.yarnpkg.com/babelify/-/babelify-7.3.0.tgz#aa56aede7067fd7bd549666ee16dc285087e88e5" - integrity sha1-qlau3nBn/XvVSWZu4W3ChQh+iOU= dependencies: babel-core "^6.0.14" object-assign "^4.0.0" @@ -2774,14 +2769,14 @@ content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" -convert-source-map@^1.1.0, convert-source-map@^1.5.1: +convert-source-map@^1.1.0: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== dependencies: safe-buffer "~5.1.1" -convert-source-map@^1.4.0: +convert-source-map@^1.4.0, convert-source-map@^1.5.0: version "1.5.1" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" @@ -2829,11 +2824,15 @@ core-js@^1.0.0: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" -core-js@^2.4.0, core-js@^2.5.0, core-js@^2.5.7: +core-js@^2.4.0, core-js@^2.5.7: version "2.6.3" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.3.tgz#4b70938bdffdaf64931e66e2db158f0892289c49" integrity sha512-l00tmFFZOBHtYhN4Cz7k32VM7vTn3rE2ANjQDxdEN6zmXZ/xq1jQuutnmHvMG1ZJ7xd72+TA5YpUK8wz3rWsfQ== +core-js@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -3232,7 +3231,6 @@ detect-file@^1.0.0: detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= dependencies: repeating "^2.0.0" @@ -4440,7 +4438,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^1.1.2, fsevents@^1.2.2, fsevents@^1.2.3: +fsevents@*, fsevents@^1.1.2, fsevents@^1.2.2, fsevents@^1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" dependencies: @@ -4863,7 +4861,6 @@ hoist-non-react-statics@^3.2.1: home-or-tmp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= dependencies: os-homedir "^1.0.0" os-tmpdir "^1.0.1" @@ -6010,7 +6007,6 @@ jsdom@^11.5.1: jsesc@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= jsesc@^2.5.1: version "2.5.2" @@ -7042,7 +7038,6 @@ oauth-sign@~0.9.0: object-assign@4.x, object-assign@^4, object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-copy@^0.1.0: version "0.1.0" @@ -7205,7 +7200,6 @@ os-locale@^3.0.0: os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= osenv@^0.1.4: version "0.1.4" @@ -7661,7 +7655,7 @@ pretty-format@^24.0.0: ansi-regex "^4.0.0" ansi-styles "^3.2.0" -private@^0.1.6, private@^0.1.8: +private@^0.1.6, private@^0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -9097,7 +9091,6 @@ source-map-resolve@^0.5.0: source-map-support@^0.4.15: version "0.4.18" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== dependencies: source-map "^0.5.6" @@ -9124,7 +9117,7 @@ source-map@0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" -source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: +source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= From 0bb2573387a61a0e4da5d4f9a6545a7a0224ad5e Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Mon, 4 Feb 2019 17:17:20 +0100 Subject: [PATCH 139/219] fix babel config --- babel.config.js | 85 +++++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 42 deletions(-) diff --git a/babel.config.js b/babel.config.js index 5556ac0f..63b60eee 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,50 +1,51 @@ module.exports = (api) => { - api.cache(true); + // api.cache.forever(); - return { - presets: [ - [ - '@babel/preset-env', - { - useBuiltIns: 'entry', - loose: true, - }, - ], - '@babel/preset-react', - '@babel/preset-flow', + const presets = [ + [ + '@babel/preset-env', + { + useBuiltIns: 'entry', + loose: true, + }, ], - plugins: [ - 'react-hot-loader/babel', - '@babel/plugin-transform-flow-strip-types', - '@babel/plugin-proposal-class-properties', - '@babel/plugin-proposal-object-rest-spread', - [ - '@babel/plugin-transform-runtime', - { - regenerator: true, - }, - ], - [ - 'module-resolver', - { - root: [ - './src', - ], - alias: { - public: [ - './public', - ], - }, - }, - ], - 'babel-plugin-styled-components', + '@babel/preset-react', + '@babel/preset-flow', + ]; + + const plugins = [ + 'react-hot-loader/babel', + '@babel/plugin-transform-flow-strip-types', + '@babel/plugin-proposal-class-properties', + '@babel/plugin-proposal-object-rest-spread', + [ + '@babel/plugin-transform-runtime', + { + regenerator: true, + }, ], - env: { - test: { - presets: [ - 'jest', + [ + 'module-resolver', + { + root: [ + './src', ], + alias: { + public: [ + './public', + ], + }, }, - }, + ], + 'babel-plugin-styled-components', + ]; + + if (api.env('test')) { + presets.push('jest'); + } + + return { + presets, + plugins, }; }; \ No newline at end of file From 90086179a10ec3afaea3325a952c6c607456e8f0 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Mon, 4 Feb 2019 18:09:47 +0100 Subject: [PATCH 140/219] add webpack plugin for hot reloader --- webpack/dev.babel.js | 1 + 1 file changed, 1 insertion(+) diff --git a/webpack/dev.babel.js b/webpack/dev.babel.js index 8d6862c1..c5e16bcd 100644 --- a/webpack/dev.babel.js +++ b/webpack/dev.babel.js @@ -45,6 +45,7 @@ module.exports = { exclude: /node_modules/, use: [ 'babel-loader', + 'react-hot-loader/webpack', { loader: 'eslint-loader', options: { From 18dc1f908e40b9a41d6fbe506f9a12a8eb9bb5e4 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Mon, 4 Feb 2019 19:15:30 +0100 Subject: [PATCH 141/219] fix height to fill screen --- src/views/Landing/components/BetaDisclaimer/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/Landing/components/BetaDisclaimer/index.js b/src/views/Landing/components/BetaDisclaimer/index.js index d9dfd824..ee57396d 100644 --- a/src/views/Landing/components/BetaDisclaimer/index.js +++ b/src/views/Landing/components/BetaDisclaimer/index.js @@ -17,7 +17,7 @@ import * as WalletActions from 'actions/WalletActions'; const Wrapper = styled.div` width: 100%; - height: 100%; + min-height: 100vh; top: 0px; left: 0px; background: rgba(0, 0, 0, 0.35); From 16c2f9288f06ed67f8bd7179af819d1ac9490e8a Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Tue, 5 Feb 2019 14:02:52 +0100 Subject: [PATCH 142/219] Fix node version --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f0a4b250..b13c3420 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -image: node:9.3 +image: node:10.15.1 cache: key: ${CI_COMMIT_REF_SLUG} From 46fe6d00fc579678e5734a5326ca8fca5336cb79 Mon Sep 17 00:00:00 2001 From: Vladimir Volek <volek.vladimir@gmail.com> Date: Tue, 5 Feb 2019 14:26:40 +0100 Subject: [PATCH 143/219] Integration tests (#311) * Add base test env * Add eslint rules for cypress * Add configs and scripts in package json * Added docker file for bridge and emualator * Bridge install progress * Bridge install next step * Add task for integration tests * Fixed deps * Added baseUrl * Added baseUrl fix * Added npx * Added caching for cypress bin * Added path to binary * Install cypress * Finalized dockerfile * Fixed bridge lib path * Fixed path for binary * Adjust script again * Run all the things properly * Try to run the tests * First POC test * First POC test in gitlab * Fixed flow * Fixed gitlab test url, try docker service * export artifacts * Test only integration tests in CI * Test only integration tests in CI 2 * Test only integration tests in CI 3 * Added tests for initialize device * Try to add docker in only one step * Turn on other integration steps * Correct node version * Ignore cache in flow * Run bridge and emulator in debug link mode * Fix param * Try to run new config in CI * init device in docker * Remove docker image after run * Remove amp * Fix path * Artifacts on fail * Artifacts on fail with volume * Artifacts on fail with volume 2 * Install mkdir * Install mkdir again * test * test 2 * test 3 * test 4 * test 5 * test 6 * test 7 * test 8 * test 9 * test 10 * test 11 * test 12 * test 13 * test 14 * test 15 * test 16 * test 17 * Revert "test 17" This reverts commit f3f6c0d6906cdc470aa11ae728b4b61a6b71a732. * test 18 * test 19 * test 20 * test 21 try chrome * test 22 * test 23 * test 24 * test 25 * test 25 try to install chrome again * test 25 try to install chrome again * Added missing deps * Added debug * Install chromium * Install chromium 2 * turn on chromium * turn off debug * turn on debug * fix folder * turn off debug * Fix init device * Add header dashboard test * Bring things back * clean * clean fix * Build image in CI * Added stage step * Added docker image * Added service * Added tests to docker image * Refactor a bit * Correct registry image * Build wallet again * Add test for dashbaord content * new node version, more tests * Remove unused code * typo * Correct snapshots, moved deps to dev, beta disclaimer prop --- .eslintrc | 11 +- .flowconfig | 1 + .gitignore | 4 +- .gitlab-ci.yml | 48 +- Dockerfile | 53 +- cypress.json | 11 + package.json | 10 + src/components/Button/index.js | 4 + src/components/DeviceHeader/index.js | 3 + src/components/Header/index.js | 2 +- .../components/BetaDisclaimer/index.js | 2 +- .../components/CoinMenu/index.js | 3 +- .../components/Divider/index.js | 4 +- .../Wallet/components/LeftNavigation/index.js | 3 +- src/views/Wallet/index.js | 6 +- src/views/Wallet/views/Dashboard/index.js | 2 +- src/views/Wallet/views/Initialize/index.js | 2 +- test/integration/dashboard.spec.js | 26 + test/plugins/index.js | 7 + test/scripts/init-device.js | 6 + test/scripts/run-all.sh | 20 + .../Dashboard page -- content.snap.png | Bin 0 -> 33887 bytes .../Dashboard page -- device header.snap.png | Bin 0 -> 11056 bytes .../Dashboard page -- navigation.snap.png | Bin 0 -> 13364 bytes test/support/commands.js | 5 + test/support/index.js | 5 + yarn.lock | 872 ++++++++++++++++-- 27 files changed, 1011 insertions(+), 99 deletions(-) create mode 100644 cypress.json create mode 100644 test/integration/dashboard.spec.js create mode 100644 test/plugins/index.js create mode 100644 test/scripts/init-device.js create mode 100755 test/scripts/run-all.sh create mode 100644 test/snapshots/All Specs/Dashboard page -- content.snap.png create mode 100644 test/snapshots/All Specs/Dashboard page -- device header.snap.png create mode 100644 test/snapshots/All Specs/Dashboard page -- navigation.snap.png create mode 100644 test/support/commands.js create mode 100644 test/support/index.js diff --git a/.eslintrc b/.eslintrc index a2540fde..30b99d6a 100644 --- a/.eslintrc +++ b/.eslintrc @@ -10,7 +10,8 @@ }, "env": { "browser": true, - "jest": true + "jest": true, + "cypress/globals": true }, "rules": { "import/prefer-default-export": 0, @@ -32,13 +33,17 @@ "new-cap": 0, "max-len": 0, "eol-last": 0, - "spaced-comment": 0 + "spaced-comment": 0, + "no-unused-expressions": 0, + "chai-friendly/no-unused-expressions": 2 }, "plugins": [ "import", "react", "jest", - "flowtype" + "flowtype", + "cypress", + "chai-friendly" ], "settings": { "import/resolver": { diff --git a/.flowconfig b/.flowconfig index 97214ee1..13295242 100644 --- a/.flowconfig +++ b/.flowconfig @@ -10,6 +10,7 @@ .*/_old/.* .*/scripts/solidity/.* .*/build/.* +.*/cache/.* [libs] ./src/flowtype/npm/redux_v3.x.x.js diff --git a/.gitignore b/.gitignore index 495fb80e..9120523b 100644 --- a/.gitignore +++ b/.gitignore @@ -19,4 +19,6 @@ logs _old -coverage \ No newline at end of file +coverage +test/**/__diff_output__ +test/screenshots \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f0a4b250..3046d582 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,14 +1,19 @@ -image: node:9.3 +image: node:10.15.1 + +variables: + CYPRESS_CACHE_FOLDER: "$CI_PROJECT_DIR/cache/Cypress" cache: key: ${CI_COMMIT_REF_SLUG} paths: - - node_modules/ + - node_modules + - ${CYPRESS_CACHE_FOLDER} stages: - test - build - deploy + - integration tests lint: stage: test @@ -62,7 +67,23 @@ build stable: expire_in: 1 week paths: - build/stable - - scripts/s3sync.sh + - scripts/s3sync.sh + +build emulator and bridge image: + variables: + CONTAINER_NAME: "$CI_REGISTRY/emulator-bridge-tests" + image: docker:latest + services: + - docker:dind + before_script: + - docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD + stage: build + when: manual + script: + - docker pull $CONTAINER_NAME:latest || true + - docker build --cache-from $CONTAINER_NAME:latest --tag $CONTAINER_NAME:$CI_COMMIT_SHA --tag $CONTAINER_NAME:latest . + - docker push $CONTAINER_NAME:$CI_COMMIT_SHA + - docker push $CONTAINER_NAME:latest deploy review: stage: deploy @@ -138,3 +159,24 @@ delete review: - branches tags: - deploy + +integration tests: + image: docker:latest + services: + - docker:dind + stage: integration tests + script: + - 'export SHARED_PATH="$(dirname ${CI_PROJECT_DIR})/shared"' + - rm -r ${SHARED_PATH} || true + - docker build -t wallet-emulator-bridge-tests . + - mkdir -p ${SHARED_PATH}/trezor-wallet/screenshots + - mkdir -p ${SHARED_PATH}/trezor-wallet/videos + - docker run --volume ${SHARED_PATH}/trezor-wallet/screenshots:/trezor-wallet/test/screenshots --volume ${SHARED_PATH}/trezor-wallet/videos:/trezor-wallet/test/videos --rm wallet-emulator-bridge-tests + - find ${SHARED_PATH} + - mkdir trezor-wallet + - cp -r ${SHARED_PATH}/ trezor-wallet/ + artifacts: + when: always + expire_in: 1 week + paths: + - trezor-wallet/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 7d2db3a6..06d122b5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,50 @@ -FROM node:9.3 +FROM python:latest -ARG BUILD_TYPE=stable +# +# setup +# +RUN apt-get update +RUN curl -sL https://deb.nodesource.com/setup_8.x | bash - +RUN apt-get install -y chromium libappindicator3-1 xdg-utils fonts-liberation nodejs wget dpkg git python python3 python3-pip xvfb libgtk2.0-0 libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 +RUN npm install -g yarn -WORKDIR /trezor-wallet-app +RUN ln -s /usr/bin/chromium /usr/local/bin/chromium-browser -COPY package.json /trezor-wallet-app -COPY yarn.lock /trezor-wallet-app +# +# build emulator +# +RUN mkdir /trezor-emulator +WORKDIR /trezor-emulator -RUN yarn install +RUN git clone https://github.com/trezor/trezor-core +WORKDIR /trezor-emulator/trezor-core +RUN git submodule update --init --recursive -COPY . /trezor-wallet-app +RUN apt-get install libusb-1.0-0 +RUN pip3 install scons trezor +RUN make build_unix_noui -RUN yarn run build:${BUILD_TYPE} +# +# install bridge +# +RUN mkdir /trezor-bridge +WORKDIR /trezor-bridge +RUN wget https://wallet.trezor.io/data/bridge/2.0.25/trezor-bridge_2.0.25_amd64.deb +RUN dpkg -x /trezor-bridge/trezor-bridge_2.0.25_amd64.deb /trezor-bridge/extracted -EXPOSE 8080 -CMD [ "yarn", "run", "prod-server" ] \ No newline at end of file +# +# install trezor-wallet +# +RUN mkdir /trezor-wallet +WORKDIR /trezor-wallet +COPY package.json /trezor-wallet +COPY yarn.lock /trezor-wallet +RUN yarn +COPY . /trezor-wallet +RUN yarn run build:stable + +# +# run +# +ENTRYPOINT ["/trezor-wallet/test/scripts/run-all.sh"] +EXPOSE 8080 21325 \ No newline at end of file diff --git a/cypress.json b/cypress.json new file mode 100644 index 00000000..f7910b54 --- /dev/null +++ b/cypress.json @@ -0,0 +1,11 @@ +{ + "integrationFolder": "test/integration", + "fixturesFolder": "test/fixtures", + "pluginsFile": "test/plugins/index.js", + "supportFile": "test/support/index.js", + "defaultCommandTimeout": 10000, + "screenshotsFolder": "test/screenshots", + "video": false, + "trashAssetsBeforeRuns": true, + "chromeWebSecurity": false +} \ No newline at end of file diff --git a/package.json b/package.json index 86c03fe9..6dc97fb7 100644 --- a/package.json +++ b/package.json @@ -21,10 +21,14 @@ "test": "run-s test:*", "test:unit": "npx jest", "test-unit:watch": "npx jest -o --watch", + "test-integration:dev": "npx cypress open -c baseUrl=http://localhost:8081/#/", + "test-integration:test": "npx cypress run", + "test-integration:gitlab": "npx cypress run -c baseUrl=https://localhost:8080/#/ --browser chromium", "server:beta": "node ./server/index.js --buildType=beta", "server:stable": "node ./server/index.js --buildType=stable" }, "dependencies": { + "@babel/polyfill": "^7.2.5", "babel": "^6.23.0", "babel-core": "^6.26.3", "bignumber.js": "2.4.0", @@ -69,9 +73,11 @@ "redux-logger": "^3.0.6", "redux-raven-middleware": "^1.2.0", "redux-thunk": "^2.2.0", + "request": "^2.88.0", "rimraf": "^2.6.2", "styled-components": "^4.1.2", "styled-normalize": "^8.0.4", + "trezor-bridge-communicator": "1.0.2", "trezor-connect": "7.0.0-beta.2", "wallet-address-validator": "^0.2.4", "web3": "1.0.0-beta.35", @@ -94,10 +100,14 @@ "babel-preset-env": "^1.6.0", "babel-preset-jest": "^23.2.0", "babel-preset-react": "^6.24.1", + "cypress": "^3.1.5", + "cypress-image-snapshot": "^3.0.0", "eslint": "^4", "eslint-config-airbnb": "^17.0.0", "eslint-import-resolver-babel-module": "^4.0.0", "eslint-loader": "^2.1.0", + "eslint-plugin-chai-friendly": "^0.4.1", + "eslint-plugin-cypress": "^2.2.0", "eslint-plugin-flowtype": "^2.50.0", "eslint-plugin-import": "^2.14.0", "eslint-plugin-jest": "^21.18.0", diff --git a/src/components/Button/index.js b/src/components/Button/index.js index a5f3931d..65f56aa9 100644 --- a/src/components/Button/index.js +++ b/src/components/Button/index.js @@ -17,6 +17,7 @@ type Props = { isWhite?: boolean, isWebUsb?: boolean, isTransparent?: boolean, + dataTest?: string } const Wrapper = styled.button` @@ -146,10 +147,12 @@ const Button = ({ isWhite = false, isWebUsb = false, isTransparent = false, + dataTest, }: Props) => { const newClassName = isWebUsb ? `${className} trezor-webusb-button` : className; return ( <Wrapper + data-test={dataTest} className={newClassName} onClick={onClick} onMouseEnter={onMouseEnter} @@ -176,6 +179,7 @@ Button.propTypes = { isWhite: PropTypes.bool, isWebUsb: PropTypes.bool, isTransparent: PropTypes.bool, + dataTest: PropTypes.string, }; export default Button; \ No newline at end of file diff --git a/src/components/DeviceHeader/index.js b/src/components/DeviceHeader/index.js index bd3e6b4e..d0d0e03b 100644 --- a/src/components/DeviceHeader/index.js +++ b/src/components/DeviceHeader/index.js @@ -98,11 +98,13 @@ const DeviceHeader = ({ disabled = false, isSelected = false, className, + testId, }) => { const status = getStatus(device); return ( <Wrapper isSelected={isSelected} + data-test={testId} isOpen={isOpen} isHoverable={isHoverable} disabled={disabled} @@ -134,6 +136,7 @@ DeviceHeader.propTypes = { isSelected: PropTypes.bool, onClickWrapper: PropTypes.func.isRequired, className: PropTypes.string, + testId: PropTypes.string, }; export default DeviceHeader; diff --git a/src/components/Header/index.js b/src/components/Header/index.js index ec5a767f..35bbcd2c 100644 --- a/src/components/Header/index.js +++ b/src/components/Header/index.js @@ -112,7 +112,7 @@ type Props = { }; const Header = ({ sidebarEnabled, sidebarOpened, toggleSidebar }: Props) => ( - <Wrapper> + <Wrapper data-test="Main__page__navigation"> <LayoutWrapper> <Left> { sidebarEnabled && <MenuToggler onClick={toggleSidebar}>{sidebarOpened ? '✕ Close' : '☰ Menu'}</MenuToggler>} diff --git a/src/views/Landing/components/BetaDisclaimer/index.js b/src/views/Landing/components/BetaDisclaimer/index.js index d9dfd824..f2fe5b76 100644 --- a/src/views/Landing/components/BetaDisclaimer/index.js +++ b/src/views/Landing/components/BetaDisclaimer/index.js @@ -68,7 +68,7 @@ const BetaDisclaimer = (props: { close: () => void }) => ( /> Please note that the <i>Trezor Beta Wallet</i> might be collecting anonymized usage data, especially error logs, for development purposes. The <i>Trezor Wallet</i> does not log any data. </StyledP> - <StyledButton onClick={props.close}>OK, I understand</StyledButton> + <StyledButton dataTest="Modal__disclaimer__button__confirm" onClick={props.close}>OK, I understand</StyledButton> </ModalWindow> </Wrapper> ); diff --git a/src/views/Wallet/components/LeftNavigation/components/CoinMenu/index.js b/src/views/Wallet/components/LeftNavigation/components/CoinMenu/index.js index 6d262662..194932e7 100644 --- a/src/views/Wallet/components/LeftNavigation/components/CoinMenu/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/CoinMenu/index.js @@ -57,7 +57,7 @@ class CoinMenu extends PureComponent<Props> { render() { const { config } = this.props.localStorage; return ( - <Wrapper> + <Wrapper data-test="Main__page__coin__menu"> {config.networks.map(item => ( <NavLink key={item.shortcut} @@ -72,6 +72,7 @@ class CoinMenu extends PureComponent<Props> { </NavLink> ))} <Divider + testId="Main__page__coin__menu__divider" textLeft="Other coins" textRight="(You will be redirected)" hasBorder diff --git a/src/views/Wallet/components/LeftNavigation/components/Divider/index.js b/src/views/Wallet/components/LeftNavigation/components/Divider/index.js index 1cce3321..b848e4bd 100644 --- a/src/views/Wallet/components/LeftNavigation/components/Divider/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/Divider/index.js @@ -23,9 +23,10 @@ const TextLeft = styled.p` `; const Divider = ({ - textLeft, textRight, hasBorder = false, className, + textLeft, textRight, hasBorder = false, className, testId, }) => ( <Wrapper + data-test={testId} hasBorder={hasBorder} className={className} > @@ -39,6 +40,7 @@ Divider.propTypes = { textLeft: PropTypes.string, textRight: PropTypes.string, hasBorder: PropTypes.bool, + testId: PropTypes.string, }; export default Divider; diff --git a/src/views/Wallet/components/LeftNavigation/index.js b/src/views/Wallet/components/LeftNavigation/index.js index 8e926f67..57d57d0d 100644 --- a/src/views/Wallet/components/LeftNavigation/index.js +++ b/src/views/Wallet/components/LeftNavigation/index.js @@ -207,6 +207,7 @@ class LeftNavigation extends React.PureComponent<Props, State> { <Sidebar isOpen={props.wallet.showSidebar}> <Header isSelected + testId="Main__page__device__header" isHoverable={false} onClickWrapper={() => { if (isDeviceAccessible || this.props.devices.length > 1) { @@ -237,7 +238,7 @@ class LeftNavigation extends React.PureComponent<Props, State> { {dropdownOpened && <DeviceMenu ref={this.deviceMenuRef} {...this.props} />} {isDeviceAccessible && menu} </Body> - <Footer key="sticky-footer"> + <Footer data-test="Main__page__footer" key="sticky-footer"> <Help> <A href="https://trezor.io/support/" diff --git a/src/views/Wallet/index.js b/src/views/Wallet/index.js index 2e6c6e3b..b9afa80b 100644 --- a/src/views/Wallet/index.js +++ b/src/views/Wallet/index.js @@ -114,7 +114,11 @@ const StyledBackdrop = styled(Backdrop)` const Wallet = (props: Props) => ( <AppWrapper> - <Header sidebarEnabled={!!props.wallet.selectedDevice} sidebarOpened={props.wallet.showSidebar} toggleSidebar={props.toggleSidebar} /> + <Header + sidebarEnabled={!!props.wallet.selectedDevice} + sidebarOpened={props.wallet.showSidebar} + toggleSidebar={props.toggleSidebar} + /> <AppNotifications /> <WalletWrapper> <StyledBackdrop show={props.wallet.showSidebar} onClick={props.toggleSidebar} animated /> diff --git a/src/views/Wallet/views/Dashboard/index.js b/src/views/Wallet/views/Dashboard/index.js index 42c75d13..c3179c35 100644 --- a/src/views/Wallet/views/Dashboard/index.js +++ b/src/views/Wallet/views/Dashboard/index.js @@ -49,7 +49,7 @@ const Image = styled.img` const Dashboard = () => ( <Content> <Wrapper> - <Row> + <Row data-test="Dashboard__page__content"> <H1>Please select your coin</H1> <StyledP>You will gain access to receiving & sending selected coin</StyledP> <Overlay> diff --git a/src/views/Wallet/views/Initialize/index.js b/src/views/Wallet/views/Initialize/index.js index 39055a9f..12d1ea60 100644 --- a/src/views/Wallet/views/Initialize/index.js +++ b/src/views/Wallet/views/Initialize/index.js @@ -26,7 +26,7 @@ const StyledParagraph = styled(Paragraph)` `; const Initialize = () => ( - <Wrapper> + <Wrapper data-test="Page__device__not__initialized"> <Row> <H1>Your device is not initialized</H1> <StyledParagraph>Please use Bitcoin wallet interface to start initialization process</StyledParagraph> diff --git a/test/integration/dashboard.spec.js b/test/integration/dashboard.spec.js new file mode 100644 index 00000000..82de5f6d --- /dev/null +++ b/test/integration/dashboard.spec.js @@ -0,0 +1,26 @@ +describe('Dashboard page', () => { + beforeEach(() => { + cy.viewport(1366, 1800); + cy.visit('/'); + }); + + it('navigation', () => { + cy.getTestElement('Main__page__navigation') + .should('be.visible') + .matchImageSnapshot(); + }); + + it('content', () => { + cy.getTestElement('Dashboard__page__content') + .should('be.visible') + .matchImageSnapshot(); + }); + + // Menu + + it('device header', () => { + cy.getTestElement('Main__page__device__header') + .should('be.visible') + .matchImageSnapshot(); + }); +}); \ No newline at end of file diff --git a/test/plugins/index.js b/test/plugins/index.js new file mode 100644 index 00000000..192877d9 --- /dev/null +++ b/test/plugins/index.js @@ -0,0 +1,7 @@ +const { + addMatchImageSnapshotPlugin, +} = require('cypress-image-snapshot/plugin'); + +module.exports = (on) => { + addMatchImageSnapshotPlugin(on); +}; \ No newline at end of file diff --git a/test/scripts/init-device.js b/test/scripts/init-device.js new file mode 100644 index 00000000..acf1ce26 --- /dev/null +++ b/test/scripts/init-device.js @@ -0,0 +1,6 @@ +import '@babel/polyfill'; +import { initSeedAllDevice } from 'trezor-bridge-communicator'; + +(async () => { + await initSeedAllDevice(); +})(); \ No newline at end of file diff --git a/test/scripts/run-all.sh b/test/scripts/run-all.sh new file mode 100755 index 00000000..7b62ec8e --- /dev/null +++ b/test/scripts/run-all.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# go to root +cd "$(dirname "$0")" +cd .. + +# run bridge +cd /trezor-bridge && ./extracted/usr/bin/trezord -ed 21324:21325 -u=false & + +# run emulator +cd /trezor-emulator/trezor-core && PYOPT=0 ./emu.sh & + +# run wallet +cd /trezor-wallet && yarn run server:stable & + +# init device +npx babel-node /trezor-wallet/test/scripts/init-device.js & + +# run tests +yarn run test-integration:gitlab -c baseUrl="https://localhost:8080/#/" diff --git a/test/snapshots/All Specs/Dashboard page -- content.snap.png b/test/snapshots/All Specs/Dashboard page -- content.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..093576a7bfcb2f245a48d56d4146419426bd28e8 GIT binary patch literal 33887 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 PhE>Z~KX>A{8{YmWFtYMi literal 0 HcmV?d00001 diff --git a/test/snapshots/All Specs/Dashboard page -- device header.snap.png b/test/snapshots/All Specs/Dashboard page -- device header.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..65678c150f7bb9032a70a381594eed854266422d GIT binary patch literal 11056 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 literal 0 HcmV?d00001 diff --git a/test/snapshots/All Specs/Dashboard page -- navigation.snap.png b/test/snapshots/All Specs/Dashboard page -- navigation.snap.png new file mode 100644 index 0000000000000000000000000000000000000000..082ac96d57bd8935073e89500480f25fd526af73 GIT binary patch literal 13364 zcmeHud0fr;+rAk)$yj1CVJwkTLJN`#3GLfC?aQDYAuTGEu@u>>Bc-%xJ*S11DJ??N zsFRWwNhMKHX;oUZ{I0wCK4U!3?~mXA&(F(J=Y0B{_vih-@9Vy<>%Lvo(%3s^){<G1 zCQX{7yl=P8q)9Ue@wLs2Y4|&KcybB;`B8cIPUguUJ}vPqpEOCbgTCu{Jp0u1^Y6xc z1_s)T#lM6WsaXY@cnj}py3FhN)D*6(v1;WC|E&ks2Rb%J74L6~YT6ihRn=ZmDC4S_ z_5SsxCW|U|Tb-!6e1CoI;Ol|$!IAN6UE_J<o((1Yq-)!Uq=trvUr)s+|LYfHVd}rW z!<ReGA6)ePD{;r3{rLSW0#^;ce<A$IrrF=W!rW^0!*{Qop7m7hyB8*DHQxH~ixK)? zv6w{><!&QAPX*@BkDR{j<c{@5Y1d<8WBGb|dQ?<ZE53Bp3M^lq91<e*{RT1?`6nkQ zo5nGRzjSa53-=9u{n~Ej;NY-u>C(jWvllbguHF0H{+{-I+|=HFXfb1|mzNhlV;}yM zCGv`jv<(byT@{j9`Q6ozjwT0J*@ZId`i;_TBD_Z1&3gw1symJyKmOvxbGg{QKF6gp z4!ghmk<$$~4Kv%*ZC>o!v}sdsUti^OY4<OO&!0Ot<GahcYb9p8<kqBG7gtp1y71l= zTxxD@UH9E3kB-Lv{o&~=SFP%A^4H{unV;%8zxl}PDCt8lKYo01S4C4(f5(o~CMG6L zmoHtq)K<lf?WoQ8KIXb>@6B*YZ_M}MN?|K~FI><vG746qh1DL-OMK|@l^2A+>|Q1q zVw)Fyw}7|R){8og<lOq`AVMx)yQYslDlac@Qq$15`q!0TV$%;*bENS8Pv8Go#{R#5 zOv`rV%9YGz@Bg}@>*kgf;)>J#KC}mq+&Z6qGb}7DWa!<c4FNZA#`L~^=#d>_`y%rE zcek9BHz!rARS0{Xu~J^%tn{Rt8-d8TU){AEXS3e0MfInAdktU38T>ya>HQfl=dWM? ziQR+)upSv1S%?ViwZjrr7T_yC1VtpmuAX!H^dxDUvK=l)d-iy1+}XbFY?WQr<hk3! zYxk$tI1YC27g)5Y%_?}y(WKYuhuSr2^1Skr%=5(0;_*gCN1fJ&Zg<rY6cl7!d-Q0B zQ~OKx-+%v|qZ@lQCpVX+r4^o#AZD6*Y^M+Z((=yw?EVT(g;u?hPM19YB8&2lt<Ilr zrKF~Qw|PwAHRk5#*;<XEGAH&3DB)z@y?^h-U84~a7ijKj=<+(nvRKNte6`@~jHAiV z6~;|6+OaO*OP4A}hCZjebeXYR@F6T4o4C#Zgp`P+q^|e<gHP?AoST{DZ|2@1z1}p7 z8GRg){`t8=@(M+7k&PR*ww!qX*PM>}Z2c20&tAOAb!RP$)d<z;Z>w^W{p6g@zifM4 zv}&N;=x~2Z&EfCRks*6&(uldVU1eF9*SP!W*g#&juYjo3@prpxI-FTnn%jHMz482d zWN2_OE{DV7#_V10!Mr9v9EWETm^UvXElp}vM{SM&>onWDSgcL=+sAHSYOLA*{;U3d z-r*9dGfwMHp3Wa|`}Xa>E(_k}6<SEx;)&dbngjb!oI7{!<E0G`%icado9;F4Ia*G) zqpi`DABu7~apGV5d;N{qxQC(GqS3wz&ERcLoMYDKyuI7zdJUfCQyA$!+wweY!=yoJ z!ztlRud&ZzY(Kw9tacw;oyiQC#`kl$Y=mB-kx_<ys5k#o&Z}1jqvgTUhhl(7Z9&#| z=KZr|E$!_?P5yRoavs=MUtKC2aO;*xoyU_WPbxEy9~7jxE4jUeE0z3km_vK=?3vnn z!<608f|6F3>+0(*4bp6Gq@<)&#_O(?8>l<Md;YvS$Mti7pWjNK4|m)(*7z$wc<_K0 z&*SRGYPfYi_z(~lmhAeuWu36F61(8^50e-E^wY1__H~&NxOJj=o|&twE2Cu9we6AC zVIF$k*hibOk)bD{)hU*$=e@ldzy3;r%W`)9gI{QCcokP)bi)SC9W1MPrzMnj@3v{? zv3We6j^!qYrhRjM-nhfXui(H71Y1?AwdPU<Pm{c~y~|v8%ejB4e3@wcZLgVACQsul zyL(NZQ)`(~%bwVS;l9?p;-*=J*RNj>#~u_1?L0ee-O81_ypblf2c=V{O>3*tH)j_d zxKVGff9h1uyLay>+S8BJ>P?$FckX!~pY{*IQnr4t|2QIg*2l-^Nq#=dkZ;*`gG8fr z9m5#)+cA>Xr8bDvV3`v!-R-mZ_$r%<{HxLr=~pEf>K633R_r~R)8nlXx-EL0Zj6Yy zxW*2a#iG*^4>B|3yvE0}j0FS)TDu$b9c*e+qTif+Kc`;J$|}aW<8}1Z*^6wD5h`kG z%>DZ#c<(wplaLg=1NT2xZ#>!k+qd%d=x7JsU<Mx_({`Inr`YtPM~}+&{JFp(Ml(!4 z#XwBLB<G|y5>TQtPFs<G*|KF>3+yW6R!qm^v7{GWQUZVg&db(@omx5K)>fUI{9OL4 zTCV$mUP-WYv)Yv<(v@kpx+S5q`uq3qf0B4x!Rw)O*PF!pY!}h(+f6dR8l1~EJ3DQT zV=MuP%j>?@3TcmFN16A{&C#p&UX7E&?UBX9GPDKw6Tj8JC~A#*u!xwL+J@XdKSbmj z>nx}Cm}?4S2F;s1M^1VmBeP7Gdk#j(k8~@tpT4?(P<sE9DQsZ|LuLBhWdZrz<cAF0 zq};;7LIj67KJ?s+se^U)wQ-a2WZDuzY7T1<WTRgPs(YJ@S!Qz;M(&k{$lQGgkffu@ z?fL7M-Y;KnN-mXkrWEh}{P|lPjl4W?;6Ok?K$IU{oouck*xTEi=Gdwu^BIvc(<N5@ z_GVjr3U-!boRM_q>{)h5NP-{!Wtjj4$NH1K;-hY^H|8~BD;x}R-O~BapFeN(@YI9O zbBOg~EdztN=HftZitn{+)xS@kZm}^)EyXC2W1jbLncK$|$ep4xuKtEOzid{!w0OfJ zPglZ7kAeENXG^RqP-4@L)NWq7_1F$v!2J59gR-J3UUx4t_u3oxF1h9p9}X4YT)%4w z42HWu-&>;2y({-g{nM4<vr=n2wt0?Z5+v0e-hAbkEgGd#hhJ$4sJFjN?8n}5#M}ou zs{om+eHN`Z`Z$m`o~v?VY{XTrzfu=P-Cwdg$+QA@iwy`^I6B(p6<B29Cwb$>4Wo2B z_TkO9?e+EaZoW)1<$}%>{P|~LkX;q0==pQar`MJ*{s*eMjW1oictcWCVKi;HzkO{! zN`GHxcGoPns)Iv{grsD1dpj3D*Q)6??C<CA&oVi7>>kP<%jD9c^-XH|-gBCdeR{P? zM$9b70K4-tH0@;1f%W)?Z3;T_#$&*gjiXtWXq=%TFHgbWRvvw6(FQZIkraw-07mhC zBrD?my5fNYk@!Bg;L_ql9k0_74;1jy7KJ|@sYy}V!8$PS^!SmkH@Qo;*oTC~<D?n$ zH8nNYn`CNPr5Z**IM#S(&*h(2WY>%P#NKgJiGJYR5j>4wC=Mm2UQJEy@+l7wX_O_I z_wV1|1tv3)`3m~GcAfF{^|jc1yZLfPM#k0U3gZ84Ot{31IdfQ8h~=v+CvJis7uypX z9{%g-;QMO;{hKOaWr0+Kw>h<m$jO-^p%Fm(%8wsEwgYtVL^p5NGc+`06y@hDDthy2 zgU=xsBAS{kjx;<pjgOCKl%P&0(%#}uuX9{e0cl*bT(@}qd7Wx~O)tqLKD$0%Hx|5B zG@l5GADz&pg2;D2PM+M{*cg$Mvt6J%eCK4DPp{Ke`Il~U)cWnWa6Y6YQ$@v>$5jm! z@9pWi(fFU+^ZmCAIDY<XHSGpE>xVywjf<TH+qTEe&Q|8Qo~YumRAV*6UY3T+0=MIO z<B$t?+}hSjAAMu8SlmR*#3Tf`Ob3f_(ePgGHKL8k*R?D|>_5oPo=B++7iP%#qka;( zUb4+Gj!!*U>W1RJeHRctmRnDDhwJF*Fm-DGI8qg*yg(4&ICj6?DYG4gnWL8&3|5qW z@F~CR$&+zM8y>p7{e3zUWC|c?hg@=41ImJ@x!(A6xmP7pkN|PC=b9H2l+>xSPR0YY z07nzXJ6IOJlgco5Il3ZN^U#OVP{ME9U5bjVZ093_f7sVExK$j_(cyI>BKs7^2Jdb@ z{3;x1U-Y)EjX}WO-(Ib`#lEf#h<GmhtkR^hEqIaLf<5KzYbgz-sNhN|DJjjGJ69hC z)EB9HTP4-4-wsfw*4$sTHq7Sjqu&8&{*tJWOzfPeIDkH=#EQK}LBaf=aNA+oQ!3k4 zi1hTfDhakNyuQN0$%##nMZqS7Ad8}UwRNijqMd(3-bji@$kqtkiWu9cSC=}RY&^eM z>bFOe*wqC0)}=xMiv<Lt@5s6Hii=eX)bDIJR904Y>qxJjz|odxL96mXTKfK6pc!ZV z{Eo!!5{b$rQ)5y6q{{lv!W*mFUfsXTH&E{qreaqSb43Vwk%Y(x>#%)wZ-20)^;IE| znWo0Z75M<pbj#vJGMAStn5|f`LL$N7{;maU)U;gB`S=_vk5Zm^2vkFgZ@%|WujwNI z_(b&*%FfMPz^rQe@S!-ut-mdcMU}^!PjIDzf`Y&n=T8RF(b2Y8CQ&Vw&pl6<b6vXL zaLjVEgv{Jpg-5&d=lWi`Qgvb8DvJyFmn0i6{N6pS=Khi`4IiI-jivGd8vXPCyttt1 zp@+Mm{AizU?$~fU!?y3^i?$bcefW$s>{%yIW(rMg1<Fx4$T=60M(fSLzCtnJ#*K)9 zH}0CydJKCU;1W5vG(K79PuEeMwmE+iNv#p{d2x4dJH*-&S?2^GWAiiB4Y^U^({zRf zSC-1^+1lC?2_a1Ld*k|H>Cn(nQCWha<QzeX-APGF5+U*)MrLMaOEw?Ar7~;wY+X=& zzOMsa`gV34tscWEJLo-7LKXizcanMmQ#v4_y!Q6wJiYO;QI?sa4?iozzMgq=uKeH* zO26YsM!nB1C9Gh4(Wdw6@a9C*Y`uB&<~gicy?VDoAXpoy5bI`TCG#6uVZWeV1OTc5 zJ0c?^7ykUSh&3QKfy#eHjCutMwk0ZJmH>EXLGI^L*|vtfyk}OaDgbke4!s0}h=B$# za|BO-B+*DfG)wSE?H}qJa=OppLI5vI$A68wMW$OnheR&ayx=m=!Tkb@=g(j1gVnJA zvXF@1PGH^h{%LVl70Y|US`8b7nghMTaO-|Nz4=&E;k<g^vC*&XY<;sE+1c4DU=_1w z%qY7oC|L;}s~)<IC5$R3f=4X{W895$s%P0Z^damJ)Bs2Ot~b;)v4%O|ilv9&<QU%G za#YU{+9PBWo-PQom#gf*#vumi>oz_*;PhN>z~=FpsSYuy!AKBB5tgEKX_3+W1Lw_7 z^(aA)YZml(HJB&o^!kFev;2xIbb#?z&u&G4Y}mC`0^tANT2=_OUI~+{r=BTmFoih} z=jwa;GV?e#6qu+TC~j(zZo~=(JL0aid6^ItqZSmI@(K6%8vokBqMNE5gcAK&wxXVM zG;dTdI$l5d4v)wlGLljH^y%JES(lr6d3h@S!NHtQpAP@)bZ^ugeu>&1g<X!0jTK$B zN|FEbhv)iKCkV(<7ybPFDkGI<_jlClqeAy~cbAn#D5jqpau7Ul@E{cIuh!V3;eoCV zix)2z1R($u-z>9x_wJ7mKHTxIIefD*Z+tWvm$H#DKFdA9uljXRw^^|oORoq@?m<{E z4MF*%AXU~ui~7u6u4hT~AB-QWun?yW5>Wx4#PVZxa+qCp()#=&|F!8jsVmFmjF2a@ zX3f$$zH{eJhppgBo>%2PhCd?9nfMILeK3$9{Nhf0D4nST<dud}kn4UlSz@7pfGuvz zNJd(><LUqe3?EfAB%@Q`NA2{(H9EwoK|Pw=+Bi@l1fx`Sh4x%o5)IctW(0M97$nTG z=be(=;M=paX3o4(Wyi7%2n>ux>cx9}{UYJm^~TiPqn|DR^^>I1-o5SB77{@g`_$Ab zK_eYo%Y{j`(AhxEU;)$SE=z!jC=^VsNjOxUWc&P%+_qDL_rw-mB6KGzq?K$YM^6pD za6=K5xxeN1QC@w$sW;UwJl{6AzBr>l4#z{Gb5XMZR#m9jX(*H(HK}_`Z<Sb)u2oT2 zXTg_|kdR129g2>L;cYzjcE{AIQ;Y7|R;&?TvxaAt+6p9iQvY~mxNmoFZ@Fl4PGs%8 z1q<#r1Owl|HKS19xKcGWH7IL=5Ms&@KDxHzW;r6aOJa=KK|%5528nvm(crE1Y5-FE zy$Gd$irHyi8;>ozMA|NZgws2#=XVl`fFHw_P(59@Zk@#8x=d|=Fqj4x(O(79apmVt zyJjyEE5ns(R8l^-#)k0<3Y5HQuYl7k%E~t$*VY<C!~|eN8ym*QG9belK5&PK#<+Fm z4xlDQz=k21a(jPeOOqOiP?mEChxZX`n#fRuX|}Ub&dK|HkV}F25sE$mY<4t4GamA} zx4)kSpC;h?^<U2-n}kSJ)%GI{2tl9-BrL3~>^{A^ucD!$$LjM@7}?oy>hl$$y1Kfi z=4Rnb1uOF@(@<CK5KD|?L~${yuQ#e*J79=loeyVNfvts$xN_>WX}ppWb<p*Rup?^c zbMWcaRu~D|;O#=w<}9I#Ux?#pzd*H2v#Vl2u4sBg;}W_I7n_eoMn$desC%HRdQ<F0 zawAzF_x9&A>jrz?_xBcWC_cQI1P7HaVk&-+1T7`EV_`GIWkR`f2-qCkDv7b;k#6qq zZ7PDY@@vG8yNwNfU<U^?@<Dqjh{#ZdZiJVjYhe-f<x|Zn>m-v0k=l3n*rL!f#MiA; z_C{hBHh!u}^}Tv^QKz`o4<fpU4<|ev{bD@&k`#_Kluh*g+Kwfg4xAG=$^6wC`^F4@ z@?=;2)sc}?>;ll_ynxG>`9|L_AOGe%Y8fK05CEo(cqE;J0r&v%#=6I6r>9##UnY}w zw86~MwZBTgD%agbCc!M%2;|~=J~#{r@(M-xnQJufB=}Jc#>p2&;8qSX;o&>5?VO3K zT?R`=X3F&G#mC@)9eH(cr+3%GuNu>kqR`(u-hUja<ss(0>*`FXm}cBXtOUz@WD!m& zg72+SyA^)!+!PiIpbiT;5OD*3+uYHy9`WD<vQLTGOe6%@w0l~1eG+QOI%#QEf$-Y3 zhh9V~rPOvvZ0{>m1n^#uz<%15M_uG|&Nju7QW*FeL#I*_@fa|7;M`PZG<b4<*<xQv zsenhSlI_a53n*&~b$N3Geu(Ef85x-gN<oYP;V-nzqfcALACj03K59$DDP5EeiOlTm z_W0O4ei6X2|N2ZwIvqr*ud0T|%Sfe578$jcCqG8`5Ye-ayn7d{LOh~ZV)l-B((YJm zYsMFHuR)s_#en`eEQ2FOnnxY7$w?M_lvoZHV*2ouVcrw~2h8erME^Gfk--J96$c^I z3xCU~?MFuIM?^%-g6@KF2S*oJvV?<jRUBbopT$r|j!T~!JO=74_@%2M8Pz&IlR66g z)A@zU9-R2l^en+JmC0nT&WCNb${Li4#0$?3q~D<%1e~@PjN$r3kY2kMxF4j+!KRAC z<^$Ks1XJMyW6Ltt*48E;fe*Xn_PJyW$q<$$o@(3icjt(6gPVxp00E8+2E&g4Wf;5A z_f%m_yLsM{B@7(ABD61HY>hQRX{z;e-f#B}D(~){D+r)p?O(K75l-{X4d&t#9vx3i zM#j)%xbMZSO$XE9-!`|ja54d6bCzyn)@B^lhv4Z~y;s}8C_yo6)`D!Q_eD8}1L5L8 z!i*1FMy^s6D05AUrGpisYMc9)1U^_v<nc?Q?k!?$xio1jRX!r0c(UR3up<tkIlw4} zev&%$QjFb<8qBy-WycN-3=}tim|)!VX!6`RDOlUX!X{ac${QXIM$TWb;F~eSl&;Tm z@&^<@wvcFDK0fGUPd=H$U&v$<eU|A)mW73dTDy0jQvu4~6hc8_2E(eL2ZW6ZM74XJ z7EkHS{sa(Pyupkay3Gk#8Vy-zf)LV0)v+XxTnK4MHYwT2I7Ep$ukq0dI$-aE_2PFv z9PYIJ`O{cV_wV1QUWhW#q6!<zL`8LVcPG;L0ylA#1jlhGEG^ZW;3O1yKM4tmDNgtp zL%o(PC!|&-xS-_)+ysH+1S-gdAd?_t=EaK_ME2*;pWk;##;Gkph-9U)69|ILNq6_+ zx9{Jt@&Wx~H<w4N+LeX>&Ie@ORb>I+Let(pi5z@bRYmq0?Ro@qWw7((d$UdrrKsrU zx;YWV+S}VR)PX8wYBHHoDN!*oZ72*Rd_soumyd;0e@JgTyhKI`5YQ>MBuH{E$Pdux z&bQ*ri36X>Vu_23JGA&~%4_4{EaC1|f+;)pHYu~4-o0DtgU$y#8j@)mjJxT}Pidhh zbL=$2<P#C1g=NvIi}6uv{1aAQ9rV$!%a<=FR{#jaq|G7*CrhzUUhLSHjJ%oS6@J31 zWJD9pz=4{@&;Rn^HMy9~%&qJK6fu7NWHXjwl36ap2StVVwxwl_&zUnnHjW3$x&J{7 z0d=h{z1mC{Y0gSClBW3l^TIrpef!Fio1dJY?QqP+r8<!zB61!58TRA<amQIKf2AD) z+HeW5#zLIMT^wVvAhh;Uc+^1DjQ5a(<ne`e54R_Cfy0a|_4d`^=#Gs~rq-)@dOmzO zHhhR$IHi|`WOPXSF&H|oQ>IRBy|H(hwk`2tvx^rmGQ`9JxLhtZ8Olw7ZEy&`K^lhx z!%1f0!iD5PX9dk(EFKp%bHSQ8Dm(`1c5DQ`ur<<4%m=!jBi7m3>9EyfIE@q8l{ap7 z<aOGO6)+;mDrp3RGD@+y=nD)8BgvUhy9u{X-<zwS+!i)I5^E0!IHEL6AsJ{9q_&0t zgP?G+`Kc8nnq0la@<YkFYhYL4Jvo#Z^oVo~$<l+j!AU`@jkjXU7JYBnL`9FmvsmhX zD-p|A=y1XLiS<KjN;!ViLIviMOF$b@-PF~!!6(dfSUH1-Jm*KTAzH+H3?6UU)7KZE zh)CB$1BE&7!}BoeEAo*hgwF=~#Uzac5evm1-Jk>Qx^UUDq?BiHvOz^yu4MBOqDX?; zSESii^x>G=t>C<&_OOB@BUcvu^%o~+&sCv#Sp0?ephME_s#HpIdU>M07cahmZ}=~4 zQp$GjC<k9^?(7tYW!72|D=I3gnz2$!iuoU1%GcoeHIdjsd5D6S8UMqF4;kukC(ton zmk*Z8Muc;yKLA}8__(3L+^MbdMkC6cmNF2zf*8iTcacPE!Q#BhWfVt=Bh?HDGRks{ z2S;0l=*#VYX-o_c)au-Ld|ceV3CBN(j+_6@n>P$q!n|W}b;$#3B6w#><N25fA4`LK zzx_ToT%E^}y1n^`4)lVh4PYfC9tN4`%pZRE!66gqVb6wjDMXYiA3A&knO1Bv_8qo* zjpb-b2Tf(}gw!iT3yB#F9>hfxVmNVdaL}f+?g671FhcEtdS4t9>9c4-35yHZ6)`gO zD-(_Nf7yIkOH1pzN~-6mo28Xin{y5xh;ao}gRc4qb;23hj;(%FbB^Zr-&BDy?hf4L zZp99eG)I?1g0`7@#)ep&un*7}s(g<_OLU+a;=+%tE)Hk2eO(+RW8vEmAJ+Q(`R8u7 zBkVkqFh9YU@ImSQ=nO->{p?)%GFmx0@K7LvFs$X#PSP9<8ykG8(00eY^F}^NFiCUI zp=i)vK2J|iH&|p%&oYm{Zvsp!?%er1tccb5h;z%-8jDPLJs_wXW!|H!!xNE}HRgw9 zt!D`Dq8a@G5g+is35*xqvSmyCWrVRUrKAr;tjs})pe8lA;++^hk%@|pE$(g(G>610 z!ZXA!Haoeq^fH`%)Ex;z1z0Ln610@4fkQeE)i%VnJuxHA<Lktu=}Fnw8Nf=*5`Y&} zjX<>Ac)KJRO`h#?a;%$RlxWGtZGSk@s|p8nUv;v1HL7I-SfO#WAecUu702T0wbB#; z1QQzk!JCh8e3rTGYiw*p$z_zl7?GkAPXhB>2a|dt<)}3S%I64%@XbA7y#QOhd+**x zLANiT;&I8L*79gZC&Wy3l(K(7XlNp_Nm-Z9fc<ZBT(dx&Ekr~_${NPLY{8Ln#3Zer zY2|s2GV?q=3={QAZf#OT$BJPOV}}ezp)Z~FT+SyPJNe~8I3|+OGAFPE=_9Y11sx4} z<}OcAR4O?vQId_`un}xV275qk=Z{?jC2S>SPf`%|mJCMwmbwQg$oJi~YZsKb6v!eq zW&qg^GiJ_w@#y!-&E54b4Me}a;hod|&6VrB&PRZNhBVqnVm`2~;UF8bUw~{;@h>hz zB&&zXn<Dm@%2-A<+U6U4h}1Qr2RgwYRf4x3kED&i4Fs&jVx-Xz6d0f?bNu~Z6J`Xt z)-lkS!P{L^s4FC}#gey>tny=E9UjB2u@WJ&E*j+G0fJz-c+Xv)ggPd&X_GcTf?>(l zW8p#%zjn%EU)!APGLI_~UQKk7e6wJy$q&AroICoZ*5NO>L1Yf2)tF>V4cjZIWEqj* z9lU4H0`@;T{e#<JqmPp$TC-ZN{~1j1+Yj2fWaDqAsbz*}c}+AWYw2>2z8j@?<hWt) zv1cr*4dfF34d255%6p<j+Z;dsin$vQOIwshBJfZiCZ?w7xk{$nR_uX|Lz5|CV|{B$ zuaXgr8#Y~svzcU?&7tDhf-nYo58xwoh2FKGBhxqch=#l(#t6FKR`(zkWyE41H~|8X z$&QYSinA=f>97xu2R<-l2&xyoG0ma~FdK52L+4}20Q9Z(@$}^Zu)=0<$O#9k&>C3E zz|^$EH4-xDV<-aL0Y+CQs1XjCn*%G9-lV26fR-!+bUYkeo(aOmjR)nT5f468MRYIx znROJUSx$$Lc<N-ElP5|}9XuDiy3G584Dd==dx#cOzmvQe3^1TM;r8kNQ<^ccw6p{< z<bt@hl|`HduN0>4BH+6Dp8J43ML&=gM^27Z8fF}@)A1x{`1xTjX}gjUg;t8Lj*cJd z%t9fd1Yj&aqUad137v73QUkF?WUv6$UQ(5S5N#OkbfIY&A?MDzcmlHBN=hUkIEJY) zKmPb5HS!7y3R<59Nuqn93ocBSo*+d8j-u7s6isaYYukG-P*a$ioG?qbx%NiEx<&)K z;h{&mbB9s=Is`9=F@}z?-C%bksV_-vb2&_9C+y{@5n8(as&Ht6?|6JM^yn#A43p+X zDEU7nAu_rO)x_)V>$j0RS&A==03fLK|C+QA@IX8VZ`^<8)TvVzP+5t_TZq9GVEp6= zEG9TA><EMi99#z*NNdp5$nw>~!t2nx_6D!j0@u(@Hp`_SMH7jDN0>S{XQ$8AV+Dc& z#D;kq@$bDVq-{%`A#~#=>;QCBo12?kH7M~($f4!};i%974VkR@3l~PAVZv?!c^^jG zHW5ZnTn=<Y+Ha44oU>fsM32kDDyygg=!aGpH74N)a5K?Ejsq8R>n&Pqx%oB=;)MnW zI1F?)BY+;{Qb|miGDQT<^iuLTK@x`Fo}Jrt@A&&YbCyW$qy9NHg-BT0`@pyZ3ncht zlZ)wryE0UvsnDKYi-1=a_5i?9d&yT78FgmrY(h*tM-|FGHH1}orKK-HnyH^&EAY!N zTwo$hrFPU;nyTY7_Zm&7fhp!GtHz`OJf|rcVl=Q9_8vVOeOQ8M-7{J600=>&?;D5# zUV<67A?4&gKa=DY7M6wf7A!Wmd3I|PjF7Aaq$G;0QsbqFM8F{WHuc4Hq>hfFw)PF) zfsESbV;!%h*;bfLachf@?dz{Lr;(KcOlmOz?&BjL6r|nyY-F%St$O$?J`=gpN-zdr z6otmO7&A3^nErCr4eRiO!iW|@3_5Yn2#D&5;06A1Ofs=<V&-8d|60vEOk2DuL<2SN zs9h`qS%7|;GHt!%=&+L@oX#j15ImR|&EzAo)}SLu>OvoExV)mGzayi;4y`BhzEsFH z$VU-omLs(=IVD0T4@;^5Oh#B(*p?Tt4$UpLq}Ncfxs=z~DNAc>Zf1LRayuFA&Yxbb zn2zM-A%>OUVbWw!A0Dg~;vGB4D226)b{i!G&FJCza-$Fwh1k=Hd!PnVPfZBV6Y{{J z*_RAKNLB&s)SAB0frfS*2FYJmFr39B^;s;S9YY*_N;>MXzE}mSox+rw$YLE#2*8|Y zhLl(l@KD<VBT;PFMt>iVCD;O$Wo-B{7YUliJwK}p&&;?6ww!2~x(DKj35Sk%7Y-6S zA^|YZc&jjmf_cU)|D2p0NA!Hy)a%`RTYU>LN)OnQ4lS^9!L9v6Y95@3rLny7KD1$I zfkM>h!$4D;22$V(l#b=ks7++i$+kjSR-iJobU=5gxj@oE;c1A>3F1QRX54c^WxG;! z1TwMvUK$^5#cnWd<%gOU<bLhU{+GtfBJzQfQVHuh&8lPxVL>3#oc_*wV>p4B`UxQ| ziE2G7u8k7Hd(JNmuu2s83h-8znQ4}zHWUiA8Iki8axfm4c*SDyQ|famOx>`o&_k=j z(AG-G7g7txe;n3!h0j1*EDL<qX}Hh!2>Mu%pN!%lNo$KtoF|nULC_y`#obNwJWa#A z#vXv<uC*qigN9}CbqvxhlXEL9%XT?R?R?;R1t#_!MgQk2oz^;iEZdp)wZ4l9Jx+cl zN(?m(n2fQpF&r2Z#y|Oj#~ODvH#Nnr#yAF5s(hch<b!guGTykU!ei35B{o8ne`us@ zSvo*%6RJ@k5d*NzQ0m6_QRH&*OyCjMJ!gVky-a;BFUqZASQGN0$t;Sv`-gMvU@Za| z(fFMa>C}%OZGIRWpRi}&A%?3V1f@^3sKG!|#fJJRf}5W?bEfG!h7ow;AXMOkSu7ZO zB+@*S1_w_TJbl{kOk0VT;L8q!Z0AHz<(V^Q!g~0rQ+`o|4yX$gwl@}=j>GmqJCdev zK&^?Tb$1_g#nkHfQ*_%GE?yk_beX#vjj`E*=E4fsvqbMM4ec}vc$xqJ@1Y_^BSHi_ z$oN);@u6#f9BoKK(P<0B{1caE4l$f@QxZj=daxL5{3dNDJ*u}rXPqb^AE*h9KsKXg zHyxx+9Z~J~Uu<|1Q|>>Lq_9#%B_wpn48&+_#|4b3fMwcOV{TLc<J4%V%wUJ%9oVLK z;mvRWM%W(A{P~qw{d;nF(3Pm`9HFgRSeG}<n@~A-J#W;wVn|@}wlVfhp5l{Gj7SLz zQitGcSDtys0dy878tA}G>b{>g_f^UiCBG6(mNpl01j`GCp_3?L*HM;+mJCy^)~#Q! z9=8om2R8QPyRP-5)3S$f(`_eOE@K>Y6#_+HUmsYyufR0djRnbyK6~nvaJ!TlE+}3? zDDtW>@7!8~tf|BS)LJ#LW|pI48shiAPn*^mg5OmkO{<V2MAgvHhm%0lR1|IqFHzV6 znV)G~2z`Qy8DcapLbo2@<xQ*1TRkzlp2?+TK%)Wlsp2^sR2P<-$hK`p@Jzm82?h1Y zW;IYd=Lj8$HXn*9^dIXv;25-SZ0I+-Ls!4eutujUeKs5Mc>&u-9jbOK=oiXEnk}M> z{`qy<H~;Uscwz8!r9FEl-1>ExwNAAv(ZPJ>KNn7XA#kmzy1H7NX@>+~B7Z9Lj%$k` z-I6Ybr~Th94xG67`xmt${+IqYhyVW{KqwIYZ~rxBe0I;qUz%<txLl<xl$A7gC++&} G%>MyeU;Oz1 literal 0 HcmV?d00001 diff --git a/test/support/commands.js b/test/support/commands.js new file mode 100644 index 00000000..1430fb7e --- /dev/null +++ b/test/support/commands.js @@ -0,0 +1,5 @@ +import { addMatchImageSnapshotCommand } from 'cypress-image-snapshot/command'; + +addMatchImageSnapshotCommand(); + +Cypress.Commands.add('getTestElement', selector => cy.get(`[data-test="${selector}"]`)); diff --git a/test/support/index.js b/test/support/index.js new file mode 100644 index 00000000..d1731ad0 --- /dev/null +++ b/test/support/index.js @@ -0,0 +1,5 @@ +import './commands'; + +beforeEach(() => { + window.localStorage.setItem('/betaModalPrivacy', true); +}); \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 959c82ba..328625cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -116,10 +116,42 @@ esutils "^2.0.2" js-tokens "^3.0.0" +"@babel/node@^7.2.2": + version "7.2.2" + resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.2.2.tgz#1557dd23545b38d7b1d030a9c0e8fb225dbf70ab" + integrity sha512-jPqgTycE26uFsuWpLika9Ohz9dmLQHWjOnMNxBOjYb1HXO+eLKxEr5FfKSXH/tBvFwwaw+pzke3gagnurGOfCA== + dependencies: + "@babel/polyfill" "^7.0.0" + "@babel/register" "^7.0.0" + commander "^2.8.1" + lodash "^4.17.10" + v8flags "^3.1.1" + "@babel/parser@7.0.0-rc.1": version "7.0.0-rc.1" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-rc.1.tgz#d009a9bba8175d7b971e30cd03535b278c44082d" +"@babel/polyfill@^7.0.0", "@babel/polyfill@^7.2.5": + version "7.2.5" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.2.5.tgz#6c54b964f71ad27edddc567d065e57e87ed7fa7d" + integrity sha512-8Y/t3MWThtMLYr0YNC/Q76tqN1w30+b0uQMeFUYauG2UGTR19zyUtFrAzT23zNtBxPp+LbE5E/nwV/q/r3y6ug== + dependencies: + core-js "^2.5.7" + regenerator-runtime "^0.12.0" + +"@babel/register@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.0.0.tgz#fa634bae1bfa429f60615b754fc1f1d745edd827" + integrity sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g== + dependencies: + core-js "^2.5.7" + find-cache-dir "^1.0.0" + home-or-tmp "^3.0.0" + lodash "^4.17.10" + mkdirp "^0.5.1" + pirates "^4.0.0" + source-map-support "^0.5.9" + "@babel/runtime@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.2.0.tgz#b03e42eeddf5898e00646e4c840fa07ba8dcad7f" @@ -205,6 +237,24 @@ lodash "^4.17.10" to-fast-properties "^2.0.0" +"@cypress/listr-verbose-renderer@0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@cypress/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#a77492f4b11dcc7c446a34b3e28721afd33c642a" + integrity sha1-p3SS9LEdzHxEajSz4ochr9M8ZCo= + dependencies: + chalk "^1.1.3" + cli-cursor "^1.0.2" + date-fns "^1.27.2" + figures "^1.7.0" + +"@cypress/xvfb@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@cypress/xvfb/-/xvfb-1.2.3.tgz#6319afdcdcff7d1505daeeaa84484d0596189860" + integrity sha512-yYrK+/bgL3hwoRHMZG4r5fyLniCy1pXex5fimtewAY6vE/jsVs8Q37UsEO03tFlcmiLnQ3rBNMaZBYTi/+C1cw== + dependencies: + debug "^3.1.0" + lodash.once "^4.1.1" + "@emotion/cache@10.0.0": version "10.0.0" resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.0.tgz#e22eadcb770de4131ec707c84207e9e1ce210413" @@ -273,14 +323,155 @@ version "1.0.2" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.0.2.tgz#d056b68999769728a1cff8d643bc59eb6f0be436" +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78= + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A= + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU= + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E= + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik= + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0= + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q= + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= + "@sindresorhus/is@^0.7.0": version "0.7.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" +"@types/blob-util@1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@types/blob-util/-/blob-util-1.3.3.tgz#adba644ae34f88e1dd9a5864c66ad651caaf628a" + integrity sha512-4ahcL/QDnpjWA2Qs16ZMQif7HjGP2cw3AGjHabybjw7Vm1EKu+cfQN1D78BaZbS1WJNa1opSMF5HNMztx7lR0w== + +"@types/bluebird@3.5.18": + version "3.5.18" + resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.18.tgz#6a60435d4663e290f3709898a4f75014f279c4d6" + integrity sha512-OTPWHmsyW18BhrnG5x8F7PzeZ2nFxmHGb42bZn79P9hl+GI5cMzyPgQTwNjbem0lJhoru/8vtjAFCUOu3+gE2w== + +"@types/chai-jquery@1.1.35": + version "1.1.35" + resolved "https://registry.yarnpkg.com/@types/chai-jquery/-/chai-jquery-1.1.35.tgz#9a8f0a39ec0851b2768a8f8c764158c2a2568d04" + integrity sha512-7aIt9QMRdxuagLLI48dPz96YJdhu64p6FCa6n4qkGN5DQLHnrIjZpD9bXCvV2G0NwgZ1FAmfP214dxc5zNCfgQ== + dependencies: + "@types/chai" "*" + "@types/jquery" "*" + +"@types/chai@*": + version "4.1.7" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.1.7.tgz#1b8e33b61a8c09cbe1f85133071baa0dbf9fa71a" + integrity sha512-2Y8uPt0/jwjhQ6EiluT0XCri1Dbplr0ZxfFXUz+ye13gaqE8u5gL5ppao1JrUYr9cIip5S6MvQzBS7Kke7U9VA== + +"@types/chai@4.0.8": + version "4.0.8" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.0.8.tgz#d27600e9ba2f371e08695d90a0fe0408d89c7be7" + integrity sha512-m812CONwdZn/dMzkIJEY0yAs4apyTkTORgfB2UsMOxgkUbC205AHnm4T8I0I5gPg9MHrFc1dJ35iS75c0CJkjg== + "@types/jest@^23.0.0": version "23.3.2" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.2.tgz#07b90f6adf75d42c34230c026a2529e56c249dbb" +"@types/jquery@*": + version "3.3.29" + resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.29.tgz#680a2219ce3c9250483722fccf5570d1e2d08abd" + integrity sha512-FhJvBninYD36v3k6c+bVk1DSZwh7B5Dpb/Pyk3HKVsiohn0nhbefZZ+3JXbWQhFyt0MxSl2jRDdGQPHeOHFXrQ== + dependencies: + "@types/sizzle" "*" + +"@types/jquery@3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.6.tgz#5932ead926307ca21e5b36808257f7c926b06565" + integrity sha512-403D4wN95Mtzt2EoQHARf5oe/jEPhzBOBNrunk+ydQGW8WmkQ/E8rViRAEB1qEt/vssfGfNVD6ujP4FVeegrLg== + +"@types/lodash@4.14.87": + version "4.14.87" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.87.tgz#55f92183b048c2c64402afe472f8333f4e319a6b" + integrity sha512-AqRC+aEF4N0LuNHtcjKtvF9OTfqZI0iaBoe3dA6m/W+/YZJBZjBmW/QIZ8fBeXC6cnytSY9tBoFBqZ9uSCeVsw== + +"@types/long@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef" + integrity sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q== + +"@types/minimatch@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + +"@types/mocha@2.2.44": + version "2.2.44" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.44.tgz#1d4a798e53f35212fd5ad4d04050620171cd5b5e" + integrity sha512-k2tWTQU8G4+iSMvqKi0Q9IIsWAp/n8xzdZS4Q4YVIltApoMA00wFBFdlJnmoaK1/z7B0Cy0yPe6GgXteSmdUNw== + +"@types/node@^10.1.0": + version "10.12.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e" + integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ== + +"@types/sinon-chai@3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@types/sinon-chai/-/sinon-chai-3.2.2.tgz#5cfdbda70bae30f79a9423334af9e490e4cce793" + integrity sha512-5zSs2AslzyPZdOsbm2NRtuSNAI2aTWzNKOHa/GRecKo7a5efYD7qGcPxMZXQDayVXT2Vnd5waXxBvV31eCZqiA== + dependencies: + "@types/chai" "*" + "@types/sinon" "*" + +"@types/sinon@*": + version "7.0.5" + resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-7.0.5.tgz#f7dea19400c193a3b36a804a7f1f4b26dacf452b" + integrity sha512-4DShbH857bZVOY4tPi1RQJNrLcf89hEtU0klZ9aYTMbtt95Ok4XdPqqcbtGOHIbAHMLSzQP8Uw/6qtBBqyloww== + +"@types/sinon@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-7.0.0.tgz#84e707e157ec17d3e4c2a137f41fc3f416c0551e" + integrity sha512-kcYoPw0uKioFVC/oOqafk2yizSceIQXCYnkYts9vJIwQklFRsMubTObTDrjQamUyBRd47332s85074cd/hCwxg== + +"@types/sizzle@*": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" + integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg== + "@webassemblyjs/ast@1.5.13": version "1.5.13" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.13.tgz#81155a570bd5803a30ec31436bc2c9c0ede38f25" @@ -544,6 +735,11 @@ ansi-escapes@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" +ansi-escapes@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -598,6 +794,13 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" +app-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/app-path/-/app-path-3.0.0.tgz#47d64af579a3e50c7a1240dc6588c47e1590a6e2" + integrity sha512-qLepHO2TzNvEQRNMaUMBYIBqlstF2rCdnEZqnpnSgCjoMudEyguz8INjDw1V/pIzY4jUzyPjuVPj8MExgLj55w== + dependencies: + execa "^1.0.0" + append-transform@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" @@ -769,6 +972,13 @@ async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" +async@2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.4.0.tgz#4990200f18ea5b837c2cc4f8c031a6985c385611" + integrity sha1-SZAgDxjqW4N8LMT4wDGmmFw4VhE= + dependencies: + lodash "^4.14.0" + async@^1.4.0, async@^1.5.0, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -1474,6 +1684,7 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-polyfill@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + integrity sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM= dependencies: babel-runtime "^6.26.0" core-js "^2.5.0" @@ -1691,7 +1902,7 @@ base64-js@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" -base64-js@^1.0.2: +base64-js@^1.0.2, base64-js@^1.2.3: version "1.3.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" @@ -1770,6 +1981,11 @@ block-stream@*: dependencies: inherits "~2.0.0" +bluebird@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" + integrity sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw= + bluebird@^2.9.34: version "2.11.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" @@ -1995,8 +2211,9 @@ buffer-fill@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" buffer-from@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04" + 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== buffer-indexof@^1.0.0: version "1.1.1" @@ -2089,6 +2306,13 @@ cacheable-request@^2.1.1: normalize-url "2.0.1" responselike "1.0.2" +cachedir@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-1.3.0.tgz#5e01928bf2d95b5edd94b0942188246740e0dbc4" + integrity sha512-O1ji32oyON9laVPJL1IZ5bmwd2cB46VfpxkDequezH+15FDzzVddEyrGEeX4WusDSqKxdyFdDQDEG1yo1GoWkg== + dependencies: + os-homedir "^1.0.1" + call-me-maybe@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" @@ -2174,6 +2398,14 @@ chain-function@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/chain-function/-/chain-function-1.0.0.tgz#0d4ab37e7e18ead0bdc47b920764118ce58733dc" +chalk@2.4.1, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.2, chalk@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -2184,14 +2416,6 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.2, chalk@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chalk@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.1.tgz#523fe2678aec7b04e8041909292fe8b17059b796" @@ -2236,6 +2460,11 @@ chardet@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" +check-more-types@2.24.0: + version "2.24.0" + resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" + integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA= + check-types@^7.3.0: version "7.4.0" resolved "https://registry.yarnpkg.com/check-types/-/check-types-7.4.0.tgz#0378ec1b9616ec71f774931a3c6516fad8c152f4" @@ -2486,6 +2715,11 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" +commander@2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + integrity sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== + commander@2.16.x, commander@~2.16.0: version "2.16.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50" @@ -2498,14 +2732,10 @@ commander@^2.13.0: version "2.18.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970" -commander@^2.19.0: +commander@^2.19.0, commander@^2.8.1: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" -commander@^2.8.1: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - commander@~2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" @@ -2516,9 +2746,17 @@ commander@~2.8.1: dependencies: graceful-readlink ">= 1.0.0" +common-tags@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.4.0.tgz#1187be4f3d4cf0c0427d43f74eef1f73501614c0" + integrity sha1-EYe+Tz1M8MBCfUP3Tu8fc1AWFMA= + dependencies: + babel-runtime "^6.18.0" + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= compare-versions@^3.1.0: version "3.3.0" @@ -2560,7 +2798,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.5.0: +concat-stream@1.6.0, concat-stream@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -2670,6 +2908,11 @@ core-js@^2.4.1: version "2.5.6" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.6.tgz#0fe6d45bf3cac3ac364a9d72de7576f4eb221b9d" +core-js@^2.5.7: + version "2.6.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.3.tgz#4b70938bdffdaf64931e66e2db158f0892289c49" + integrity sha512-l00tmFFZOBHtYhN4Cz7k32VM7vTn3rE2ANjQDxdEN6zmXZ/xq1jQuutnmHvMG1ZJ7xd72+TA5YpUK8wz3rWsfQ== + core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -2759,7 +3002,7 @@ cross-spawn@^5.0.1, cross-spawn@^5.1.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^6.0.4, cross-spawn@^6.0.5: +cross-spawn@^6.0.0, cross-spawn@^6.0.4, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" dependencies: @@ -2847,6 +3090,63 @@ cyclist@~0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" +cypress-image-snapshot@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cypress-image-snapshot/-/cypress-image-snapshot-3.0.0.tgz#bb9f2e88d1fa77041bb88512168be8ccc1771008" + integrity sha512-U9kZFiOidEwliejfB7FwX5/j4Ko4mHSct5LK3/DXIoZmvSElUPzoC12uQnIHkluHUKC1qs7xcTH/B4wdwEZ4iA== + dependencies: + chalk "^2.4.1" + fs-extra "^7.0.1" + glob "^7.1.3" + jest-image-snapshot "2.7.0" + term-img "^4.0.0" + +cypress@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-3.1.5.tgz#5227b2ce9306c47236d29e703bad9055d7218042" + integrity sha512-jzYGKJqU1CHoNocPndinf/vbG28SeU+hg+4qhousT/HDBMJxYgjecXOmSgBX/ga9/TakhqSrIrSP2r6gW/OLtg== + dependencies: + "@cypress/listr-verbose-renderer" "0.4.1" + "@cypress/xvfb" "1.2.3" + "@types/blob-util" "1.3.3" + "@types/bluebird" "3.5.18" + "@types/chai" "4.0.8" + "@types/chai-jquery" "1.1.35" + "@types/jquery" "3.3.6" + "@types/lodash" "4.14.87" + "@types/minimatch" "3.0.3" + "@types/mocha" "2.2.44" + "@types/sinon" "7.0.0" + "@types/sinon-chai" "3.2.2" + bluebird "3.5.0" + cachedir "1.3.0" + chalk "2.4.1" + check-more-types "2.24.0" + commander "2.11.0" + common-tags "1.4.0" + debug "3.1.0" + execa "0.10.0" + executable "4.1.1" + extract-zip "1.6.6" + fs-extra "4.0.1" + getos "3.1.0" + glob "7.1.2" + is-ci "1.0.10" + is-installed-globally "0.1.0" + lazy-ass "1.6.0" + listr "0.12.0" + lodash "4.17.11" + log-symbols "2.2.0" + minimist "1.2.0" + moment "2.22.2" + ramda "0.24.1" + request "2.87.0" + request-progress "0.3.1" + supports-color "5.1.0" + tmp "0.0.31" + url "0.11.0" + yauzl "2.8.0" + d@1: version "1.0.0" resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" @@ -2893,12 +3193,19 @@ debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6. dependencies: ms "2.0.0" -debug@^3.0.0, debug@^3.1.0: +debug@3.1.0, debug@^3.0.0, debug@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" dependencies: ms "2.0.0" +debug@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" + integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== + dependencies: + ms "^2.1.1" + decamelize-keys@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" @@ -3502,6 +3809,18 @@ eslint-module-utils@^2.2.0: debug "^2.6.8" pkg-dir "^1.0.0" +eslint-plugin-chai-friendly@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-chai-friendly/-/eslint-plugin-chai-friendly-0.4.1.tgz#9eeb17f92277ba80bb64f0e946c6936a3ae707b4" + integrity sha512-hkpLN7VVoGGsofZjUhcQ+sufC3FgqMJwD0DvAcRfxY1tVRyQyVsqpaKnToPHJQOrRo0FQ0fSEDwW2gr4rsNdGA== + +eslint-plugin-cypress@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-cypress/-/eslint-plugin-cypress-2.2.0.tgz#31f23bec82eb4078711b374af66af3daa9fdbd2e" + integrity sha512-Xk1DMXPfnSChpNhQPw8E9lfRUse9nSyPccxMbKlOuwCmTm2fhyNQWfulDr9DDgUL1Xetdub5lnYQkKniHjNbYw== + dependencies: + globals "^11.0.1" + eslint-plugin-flowtype@^2.50.0: version "2.50.0" resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.0.tgz#953e262fa9b5d0fa76e178604892cf60dfb916da" @@ -3783,6 +4102,19 @@ exec-sh@^0.2.0: dependencies: merge "^1.2.0" +execa@0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" + integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== + dependencies: + cross-spawn "^6.0.0" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + execa@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" @@ -3795,12 +4127,32 @@ execa@^0.7.0: signal-exit "^3.0.0" strip-eof "^1.0.0" +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + execall@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execall/-/execall-1.0.0.tgz#73d0904e395b3cab0658b08d09ec25307f29bb73" dependencies: clone-regexp "^1.0.0" +executable@4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/executable/-/executable-4.1.1.tgz#41532bff361d3e57af4d763b70582db18f5d133c" + integrity sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg== + dependencies: + pify "^2.2.0" + exit-hook@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8" @@ -3933,6 +4285,16 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" +extract-zip@1.6.6: + version "1.6.6" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.6.tgz#1290ede8d20d0872b429fd3f351ca128ec5ef85c" + integrity sha1-EpDt6NINCHK0Kf0/NRyhKOxe+Fw= + dependencies: + concat-stream "1.6.0" + debug "2.6.9" + mkdirp "0.5.0" + yauzl "2.4.1" + extsprintf@1.3.0, extsprintf@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -4012,6 +4374,13 @@ fbjs@^0.8.16: setimmediate "^1.0.5" ua-parser-js "^0.7.9" +fd-slicer@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + integrity sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU= + dependencies: + pend "~1.2.0" + fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" @@ -4121,6 +4490,7 @@ find-cache-dir@^0.1.1: find-cache-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f" + integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8= dependencies: commondir "^1.0.1" make-dir "^1.0.0" @@ -4136,6 +4506,7 @@ find-up@^1.0.0: find-up@^2.0.0, find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" @@ -4264,6 +4635,15 @@ fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" +fs-extra@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.1.tgz#7fc0c6c8957f983f57f306a24e5b9ddd8d0dd880" + integrity sha1-f8DGyJV/mD9X8waiTlud3Y0N2IA= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^3.0.0" + universalify "^0.1.0" + fs-extra@^2.0.0, fs-extra@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35" @@ -4271,6 +4651,15 @@ fs-extra@^2.0.0, fs-extra@^2.1.2: graceful-fs "^4.1.2" jsonfile "^2.1.0" +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-minipass@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" @@ -4378,10 +4767,24 @@ get-stream@^2.2.0: object-assign "^4.0.1" pinkie-promise "^2.0.0" +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" +getos@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/getos/-/getos-3.1.0.tgz#db3aa4df15a3295557ce5e81aa9e3e5cdfaa6567" + integrity sha512-i9vrxtDu5DlLVFcrbqUqGWYlZN/zZ4pGMICCAcZoYsX3JA54nYp8r5EThw5K+m2q3wszkx4Th746JstspB0H4Q== + dependencies: + async "2.4.0" + getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" @@ -4436,7 +4839,7 @@ glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: +glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -4447,6 +4850,25 @@ glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" + integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +global-dirs@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= + dependencies: + ini "^1.3.4" + global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" @@ -4806,9 +5228,15 @@ home-or-tmp@^2.0.0: os-homedir "^1.0.0" os-tmpdir "^1.0.1" +home-or-tmp@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-3.0.0.tgz#57a8fe24cf33cdd524860a15821ddc25c86671fb" + integrity sha1-V6j+JM8zzdUkhgoVgh3cJchmcfs= + homedir-polyfill@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + integrity sha1-TCu8inWJmP7r9e1oWA921GdotLw= dependencies: parse-passwd "^1.0.0" @@ -5167,6 +5595,13 @@ is-callable@^1.1.1, is-callable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" +is-ci@1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" + integrity sha1-9zkzayYyNlBhqdSCcM1WrjNpMY4= + dependencies: + ci-info "^1.0.0" + is-ci@^1.0.10: version "1.1.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" @@ -5291,6 +5726,14 @@ is-hexadecimal@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.2.tgz#b6e710d7d07bb66b98cb8cece5c9b4921deeb835" +is-installed-globally@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= + dependencies: + global-dirs "^0.1.0" + is-path-inside "^1.0.0" + is-natural-number@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" @@ -5545,6 +5988,14 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" +iterm2-version@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/iterm2-version/-/iterm2-version-4.0.0.tgz#57d3f3e605e672b02092372386ea0ab9b59d4a25" + integrity sha512-0jLvTpC1iheDJq9C0BVwj07Mu0yCFuDLQc+85E/P/6L9U328qcKVuxJGhDZpt8x2bH0cdIZ7v/JBs4Ym2xUBwQ== + dependencies: + app-path "^3.0.0" + plist "^3.0.1" + jest-changed-files@^23.4.2: version "23.4.2" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.2.tgz#1eed688370cd5eebafe4ae93d34bb3b64968fe83" @@ -5671,6 +6122,19 @@ jest-haste-map@^23.4.1: micromatch "^2.3.11" sane "^2.0.0" +jest-image-snapshot@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/jest-image-snapshot/-/jest-image-snapshot-2.7.0.tgz#6e3b11a1d5895123c45ce034e0fd163fe49e6149" + integrity sha512-BlayrfEw+qtWiUrSeYIZFQwT4yEIYdXCt0yiUVLdL/dSrH5qg46PIfy8yvbUBhGJLR9KhPHLpB3dNVRNd1OaaA== + dependencies: + chalk "^1.1.3" + get-stdin "^5.0.1" + lodash "^4.17.4" + mkdirp "^0.5.1" + pixelmatch "^4.0.2" + pngjs "^3.3.3" + rimraf "^2.6.2" + jest-jasmine2@^23.4.2: version "23.4.2" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.4.2.tgz#2fbf52f93e43ed4c5e7326a90bb1d785be4321ac" @@ -5999,6 +6463,20 @@ jsonfile@^2.1.0: optionalDependencies: graceful-fs "^4.1.6" +jsonfile@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" + integrity sha1-pezG9l9T9mLEQVx2daAzHQmS7GY= + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + 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" @@ -6081,6 +6559,11 @@ known-css-properties@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.5.0.tgz#6ff66943ed4a5b55657ee095779a91f4536f8084" +lazy-ass@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" + integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= + lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" @@ -6110,6 +6593,20 @@ listr-silent-renderer@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" +listr-update-renderer@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.2.0.tgz#ca80e1779b4e70266807e8eed1ad6abe398550f9" + integrity sha1-yoDhd5tOcCZoB+ju0a1qvjmFUPk= + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + elegant-spinner "^1.0.1" + figures "^1.7.0" + indent-string "^3.0.0" + log-symbols "^1.0.2" + log-update "^1.0.2" + strip-ansi "^3.0.1" + listr-update-renderer@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz#344d980da2ca2e8b145ba305908f32ae3f4cc8a7" @@ -6132,6 +6629,28 @@ listr-verbose-renderer@^0.4.0: date-fns "^1.27.2" figures "^1.7.0" +listr@0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/listr/-/listr-0.12.0.tgz#6bce2c0f5603fa49580ea17cd6a00cc0e5fa451a" + integrity sha1-a84sD1YD+klYDqF81qAMwOX6RRo= + dependencies: + chalk "^1.1.3" + cli-truncate "^0.2.1" + figures "^1.7.0" + indent-string "^2.1.0" + is-promise "^2.1.0" + is-stream "^1.1.0" + listr-silent-renderer "^1.1.1" + listr-update-renderer "^0.2.0" + listr-verbose-renderer "^0.4.0" + log-symbols "^1.0.2" + log-update "^1.0.2" + ora "^0.2.3" + p-map "^1.1.1" + rxjs "^5.0.0-beta.11" + stream-to-observable "^0.1.0" + strip-ansi "^3.0.1" + listr@^0.13.0: version "0.13.0" resolved "https://registry.yarnpkg.com/listr/-/listr-0.13.0.tgz#20bb0ba30bae660ee84cc0503df4be3d5623887d" @@ -6213,6 +6732,7 @@ loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@~1.1.0: locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= dependencies: p-locate "^2.0.0" path-exists "^3.0.0" @@ -6253,11 +6773,21 @@ lodash.merge@^4.6.1: version "4.6.1" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" +lodash.once@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" -lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: +lodash@4.17.11, lodash@^4.17.10: + version "4.17.11" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" + integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== + +lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" @@ -6265,18 +6795,18 @@ lodash@^4.17.5: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" +log-symbols@2.2.0, log-symbols@^2.0.0, log-symbols@^2.1.0, log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" + dependencies: + chalk "^2.0.1" + log-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18" dependencies: chalk "^1.0.0" -log-symbols@^2.0.0, log-symbols@^2.1.0, log-symbols@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - dependencies: - chalk "^2.0.1" - log-update@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/log-update/-/log-update-1.0.2.tgz#19929f64c4093d2d2e7075a1dad8af59c296b8d1" @@ -6295,7 +6825,7 @@ loglevelnext@^1.0.1: es6-symbol "^3.1.1" object.assign "^4.1.0" -long@4.0.0: +long@4.0.0, long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" @@ -6349,15 +6879,10 @@ lru-cache@^4.0.1, lru-cache@^4.1.1: pseudomap "^1.0.2" yallist "^2.1.2" -make-dir@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" - dependencies: - pify "^3.0.0" - -make-dir@^1.1.0: +make-dir@^1.0.0, make-dir@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== dependencies: pify "^3.0.0" @@ -6638,19 +7163,20 @@ minimist-options@^3.0.1: minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= minimist@1.1.x: version "1.1.3" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" +minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + minimist@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" -minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" @@ -6699,6 +7225,14 @@ mkdirp-promise@^5.0.1: mkdirp@*, mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= + dependencies: + minimist "0.0.8" + +mkdirp@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.0.tgz#1d73076a6df986cd9344e15e71fcc05a4c9abf12" + integrity sha1-HXMHam35hs2TROFecfzAWkyavxI= dependencies: minimist "0.0.8" @@ -6706,6 +7240,11 @@ mock-fs@^4.1.0: version "4.6.0" resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.6.0.tgz#d944ef4c3e03ceb4e8332b4b31b8ac254051c8ae" +moment@2.22.2: + version "2.22.2" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.22.2.tgz#3c257f9839fc0e93ff53149632239eb90783ff66" + integrity sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y= + morgan@^1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.9.1.tgz#0a8d16734a1d9afbc824b99df87e738e58e2da59" @@ -6735,6 +7274,11 @@ ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" +ms@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" + integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + multicast-dns-service-types@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" @@ -6845,6 +7389,11 @@ node-fetch@^1.0.1: encoding "^0.1.11" is-stream "^1.0.1" +node-fetch@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5" + integrity sha512-MOd8pV3fxENbryESLgVIeaGKrdl+uaYhCSSVkjeOb/31/njTpcis5aWfdqgNlHIrKOLRbMnfPINPOML2CIFeXA== + node-forge@0.7.5: version "0.7.5" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df" @@ -6881,6 +7430,11 @@ node-libs-browser@^2.0.0: util "^0.10.3" vm-browserify "0.0.4" +node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + node-notifier@5.2.1, node-notifier@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea" @@ -7186,7 +7740,7 @@ os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" -os-homedir@^1.0.0: +os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" @@ -7198,7 +7752,7 @@ os-locale@^2.0.0: lcid "^1.0.0" mem "^1.1.0" -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -7243,19 +7797,16 @@ p-lazy@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-lazy/-/p-lazy-1.0.0.tgz#ec53c802f2ee3ac28f166cc82d0b2b02de27a835" -p-limit@^1.0.0: +p-limit@^1.0.0, p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" dependencies: p-try "^1.0.0" -p-limit@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" - p-locate@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= dependencies: p-limit "^1.1.0" @@ -7360,6 +7911,7 @@ parse-json@^4.0.0: parse-passwd@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= parse5@4.0.0: version "4.0.0" @@ -7390,6 +7942,7 @@ path-exists@^2.0.0: path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: version "1.0.1" @@ -7465,13 +8018,14 @@ performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" -pify@^2.0.0, pify@^2.3.0: +pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pinkie-promise@^2.0.0, pinkie-promise@^2.0.1: version "2.0.1" @@ -7483,6 +8037,20 @@ pinkie@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" +pirates@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.0.tgz#850b18781b4ac6ec58a43c9ed9ec5fe6796addbd" + integrity sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA== + dependencies: + node-modules-regexp "^1.0.0" + +pixelmatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854" + integrity sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ= + dependencies: + pngjs "^3.0.0" + pkg-dir@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" @@ -7492,6 +8060,7 @@ pkg-dir@^1.0.0: pkg-dir@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= dependencies: find-up "^2.1.0" @@ -7501,6 +8070,15 @@ pkg-up@^2.0.0: dependencies: find-up "^2.1.0" +plist@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.1.tgz#a9b931d17c304e8912ef0ba3bdd6182baf2e1f8c" + integrity sha512-GpgvHHocGRyQm74b6FWEZZVRroHKE1I0/BTjAmySaohK+cUn+hZpbqXkc3KWgW3gQYkqcQej35FohcT0FRlkRQ== + dependencies: + base64-js "^1.2.3" + xmlbuilder "^9.0.7" + xmldom "0.1.x" + pluralize@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" @@ -7509,6 +8087,11 @@ pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" +pngjs@^3.0.0, pngjs@^3.3.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.3.3.tgz#85173703bde3edac8998757b96e5821d0966a21b" + integrity sha512-1n3Z4p3IOxArEs1VRXnZ/RXdfEniAUS9jb68g58FIXMNkPJeZd+Qh4Uq7/e0LVxAQGos1eIUrqrt4FpjdnEd+Q== + portfinder@^1.0.9: version "1.0.13" resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.13.tgz#bb32ecd87c27104ae6ee44b5a3ccbf0ebb1aede9" @@ -7706,6 +8289,25 @@ prop-types@^15.6.2: loose-envify "^1.3.1" object-assign "^4.1.1" +protobufjs@^6.8.8: + version "6.8.8" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.8.tgz#c8b4f1282fd7a90e6f5b109ed11c84af82908e7c" + integrity sha512-AAmHtD5pXgZfi7GMpllpO3q1Xw1OYldr+dMUlAnffGTAhqkg72WdmSY71uKBF/JuyiKs8psYbtKrhi0ASCD8qw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/long" "^4.0.0" + "@types/node" "^10.1.0" + long "^4.0.0" + proxy-addr@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341" @@ -7748,6 +8350,14 @@ pump@^2.0.0, pump@^2.0.1: end-of-stream "^1.1.0" once "^1.3.1" +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + pumpify@^1.3.3: version "1.4.0" resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.4.0.tgz#80b7c5df7e24153d03f0e7ac8a05a5d068bd07fb" @@ -7818,6 +8428,11 @@ raf@^3.4.0: dependencies: performance-now "^2.1.0" +ramda@0.24.1: + version "0.24.1" + resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857" + integrity sha1-w7d1UZfzW43DUCIoJixMkd22uFc= + ramda@^0.25.0: version "0.25.0" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.25.0.tgz#8fdf68231cffa90bc2f9460390a0cb74a29b29a9" @@ -8322,6 +8937,7 @@ regenerator-runtime@^0.11.0: regenerator-runtime@^0.12.0: version "0.12.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" + integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== regenerator-transform@^0.10.0: version "0.10.1" @@ -8453,6 +9069,13 @@ replace-ext@1.0.0, replace-ext@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" +request-progress@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-0.3.1.tgz#0721c105d8a96ac6b2ce8b2c89ae2d5ecfcf6b3a" + integrity sha1-ByHBBdipasayzossia4tXs/Pazo= + dependencies: + throttleit "~0.0.2" + request-promise-core@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6" @@ -8494,32 +9117,7 @@ request@2.81.0: tunnel-agent "^0.6.0" uuid "^3.0.0" -request@^2.79.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - 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.0" - 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.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -request@^2.87.0: +request@2.87.0, request@^2.87.0: version "2.87.0" resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" dependencies: @@ -8544,6 +9142,31 @@ request@^2.87.0: tunnel-agent "^0.6.0" uuid "^3.1.0" +request@^2.79.0, request@^2.88.0: + version "2.88.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" + 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.0" + 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.4.3" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -8711,6 +9334,13 @@ rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" +rxjs@^5.0.0-beta.11: + version "5.5.12" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc" + integrity sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw== + dependencies: + symbol-observable "1.0.1" + rxjs@^5.4.2, rxjs@^5.5.2: version "5.5.10" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.10.tgz#fde02d7a614f6c8683d0d1957827f492e09db045" @@ -9108,6 +9738,14 @@ source-map-support@^0.5.6: buffer-from "^1.0.0" source-map "^0.6.0" +source-map-support@^0.5.9: + version "0.5.10" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" + integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" @@ -9287,6 +9925,11 @@ stream-shift@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" +stream-to-observable@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.1.0.tgz#45bf1d9f2d7dc09bed81f1c307c430e68b84cffe" + integrity sha1-Rb8dny19wJvtgfHDB8Qw5ouEz/4= + stream-to-observable@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.2.0.tgz#59d6ea393d87c2c0ddac10aa0d561bc6ba6f0e10" @@ -9541,6 +10184,13 @@ sugarss@^1.0.0: dependencies: postcss "^6.0.14" +supports-color@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.1.0.tgz#058a021d1b619f7ddf3980d712ea3590ce7de3d5" + integrity sha512-Ry0AwkoKjDpVKK4sV4h6o3UJmNRbjYm2uXhwfj3J56lMVdvnUNqzQVRztOOMGQ++w1K/TjNDFvpJk0F/LoeBCQ== + dependencies: + has-flag "^2.0.0" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -9701,6 +10351,14 @@ temp@^0.8.1: os-tmpdir "^1.0.0" rimraf "~2.2.6" +term-img@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/term-img/-/term-img-4.0.0.tgz#238363ddf6eb180a062fa2e232bb7b7eb6a7058d" + integrity sha512-Rug9/fdT5BAgLhrWvVXQealky6czqrFGeKwVS2kubuYn70Gw98JaIxAocNO9ol4qZFlm2A+8nS8xnnVYGbvXcg== + dependencies: + ansi-escapes "^3.1.0" + iterm2-version "^4.0.0" + test-exclude@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa" @@ -9735,6 +10393,11 @@ throat@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" +throttleit@~0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-0.0.2.tgz#cfedf88e60c00dd9697b61fdd2a8343a9b680eaf" + integrity sha1-z+34jmDADdlpe2H90qg0OptoDq8= + through2@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" @@ -9760,6 +10423,13 @@ timers-browserify@^2.0.4: dependencies: setimmediate "^1.0.4" +tmp@0.0.31: + version "0.0.31" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7" + integrity sha1-jzirlDjhcxXl29izZX6L+yd65Kc= + dependencies: + os-tmpdir "~1.0.1" + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -9837,6 +10507,18 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +trezor-bridge-communicator@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/trezor-bridge-communicator/-/trezor-bridge-communicator-1.0.2.tgz#1b4e86b58d42e3a3e61824d92e81fc4a0f25af4d" + integrity sha512-HKaIxUmS9gPio5fJ7FBDh57vGuZpu1Fzwc0UQ8WXm8aO5V3S+j6lchgFwNNjo8WcJ3fagoBksggX9qfdc+MHAQ== + dependencies: + "@babel/node" "^7.2.2" + debug "^4.1.1" + node-fetch "^2.3.0" + protobufjs "^6.8.8" + request "^2.88.0" + whatwg-fetch "^3.0.0" + trezor-connect@7.0.0-beta.2: version "7.0.0-beta.2" resolved "https://registry.yarnpkg.com/trezor-connect/-/trezor-connect-7.0.0-beta.2.tgz#10dc04e1b60804263e9873cd503a4fc9d3e940d2" @@ -10073,6 +10755,11 @@ unist-util-visit@^1.1.0: dependencies: unist-util-visit-parents "^2.0.0" +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -10137,7 +10824,7 @@ url-to-options@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" -url@^0.11.0: +url@0.11.0, url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" dependencies: @@ -10219,6 +10906,13 @@ v8flags@^2.1.1: dependencies: user-home "^1.1.1" +v8flags@^3.1.1: + version "3.1.2" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.2.tgz#fc5cd0c227428181e6c29b2992e4f8f1da5e0c9f" + integrity sha512-MtivA7GF24yMPte9Rp/BWGCYQNaUj86zeYxV/x2RRJMKagImbbv3u8iJC57lNhWLPcGLJmHcHmFWkNsplbbLWw== + dependencies: + homedir-polyfill "^1.0.1" + validate-npm-package-license@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" @@ -10743,6 +11437,11 @@ whatwg-fetch@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" +whatwg-fetch@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" + integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== + whatwg-mimetype@^2.0.0, whatwg-mimetype@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz#f0f21d76cbba72362eb609dbed2a30cd17fcc7d4" @@ -10894,6 +11593,16 @@ xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" +xmlbuilder@^9.0.7: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= + +xmldom@0.1.x: + version "0.1.27" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" + integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= + xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -10988,6 +11697,21 @@ yarn-run-all@^3.1.1: shell-quote "^1.6.1" string.prototype.padend "^3.0.0" +yauzl@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" + integrity sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU= + dependencies: + fd-slicer "~1.0.1" + +yauzl@2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.8.0.tgz#79450aff22b2a9c5a41ef54e02db907ccfbf9ee2" + integrity sha1-eUUK/yKyqcWkHvVOAtuQfM+/nuI= + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.0.1" + yauzl@^2.4.2: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" From d779e4b12764322615f27d466da365530206a625 Mon Sep 17 00:00:00 2001 From: slowbackspace <slowbackspace@gmail.com> Date: Tue, 5 Feb 2019 14:41:04 +0100 Subject: [PATCH 144/219] update yarn.lock --- yarn.lock | 677 +++++++++++++++--------------------------------------- 1 file changed, 184 insertions(+), 493 deletions(-) diff --git a/yarn.lock b/yarn.lock index ce567bcf..22071c04 100644 --- a/yarn.lock +++ b/yarn.lock @@ -291,6 +291,7 @@ chalk "^2.0.0" esutils "^2.0.2" js-tokens "^4.0.0" + "@babel/node@^7.2.2": version "7.2.2" resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.2.2.tgz#1557dd23545b38d7b1d030a9c0e8fb225dbf70ab" @@ -675,6 +676,14 @@ "@babel/helper-regex" "^7.0.0" regexpu-core "^4.1.3" +"@babel/polyfill@^7.0.0", "@babel/polyfill@^7.2.5": + version "7.2.5" + resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.2.5.tgz#6c54b964f71ad27edddc567d065e57e87ed7fa7d" + integrity sha512-8Y/t3MWThtMLYr0YNC/Q76tqN1w30+b0uQMeFUYauG2UGTR19zyUtFrAzT23zNtBxPp+LbE5E/nwV/q/r3y6ug== + dependencies: + core-js "^2.5.7" + regenerator-runtime "^0.12.0" + "@babel/preset-env@^7.3.1": version "7.3.1" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.3.1.tgz#389e8ca6b17ae67aaf9a2111665030be923515db" @@ -742,13 +751,6 @@ "@babel/plugin-transform-react-jsx" "^7.0.0" "@babel/plugin-transform-react-jsx-self" "^7.0.0" "@babel/plugin-transform-react-jsx-source" "^7.0.0" -"@babel/polyfill@^7.0.0", "@babel/polyfill@^7.2.5": - version "7.2.5" - resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.2.5.tgz#6c54b964f71ad27edddc567d065e57e87ed7fa7d" - integrity sha512-8Y/t3MWThtMLYr0YNC/Q76tqN1w30+b0uQMeFUYauG2UGTR19zyUtFrAzT23zNtBxPp+LbE5E/nwV/q/r3y6ug== - dependencies: - core-js "^2.5.7" - regenerator-runtime "^0.12.0" "@babel/register@^7.0.0": version "7.0.0" @@ -908,17 +910,6 @@ version "0.2.2" resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.2.tgz#63985d3d8b02530e0869962f4da09142ee8e200e" -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - -"@nodelib/fs.stat@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.0.2.tgz#d056b68999769728a1cff8d643bc59eb6f0be436" - "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -972,10 +963,6 @@ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA= -"@sindresorhus/is@^0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" - "@types/blob-util@1.3.3": version "1.3.3" resolved "https://registry.yarnpkg.com/@types/blob-util/-/blob-util-1.3.3.tgz#adba644ae34f88e1dd9a5864c66ad651caaf628a" @@ -1008,6 +995,66 @@ version "23.3.2" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.2.tgz#07b90f6adf75d42c34230c026a2529e56c249dbb" +"@types/jquery@*": + version "3.3.29" + resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.29.tgz#680a2219ce3c9250483722fccf5570d1e2d08abd" + integrity sha512-FhJvBninYD36v3k6c+bVk1DSZwh7B5Dpb/Pyk3HKVsiohn0nhbefZZ+3JXbWQhFyt0MxSl2jRDdGQPHeOHFXrQ== + dependencies: + "@types/sizzle" "*" + +"@types/jquery@3.3.6": + version "3.3.6" + resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.6.tgz#5932ead926307ca21e5b36808257f7c926b06565" + integrity sha512-403D4wN95Mtzt2EoQHARf5oe/jEPhzBOBNrunk+ydQGW8WmkQ/E8rViRAEB1qEt/vssfGfNVD6ujP4FVeegrLg== + +"@types/lodash@4.14.87": + version "4.14.87" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.87.tgz#55f92183b048c2c64402afe472f8333f4e319a6b" + integrity sha512-AqRC+aEF4N0LuNHtcjKtvF9OTfqZI0iaBoe3dA6m/W+/YZJBZjBmW/QIZ8fBeXC6cnytSY9tBoFBqZ9uSCeVsw== + +"@types/long@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef" + integrity sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q== + +"@types/minimatch@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" + integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + +"@types/mocha@2.2.44": + version "2.2.44" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.44.tgz#1d4a798e53f35212fd5ad4d04050620171cd5b5e" + integrity sha512-k2tWTQU8G4+iSMvqKi0Q9IIsWAp/n8xzdZS4Q4YVIltApoMA00wFBFdlJnmoaK1/z7B0Cy0yPe6GgXteSmdUNw== + +"@types/node@^10.1.0": + version "10.12.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e" + integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ== + +"@types/sinon-chai@3.2.2": + version "3.2.2" + resolved "https://registry.yarnpkg.com/@types/sinon-chai/-/sinon-chai-3.2.2.tgz#5cfdbda70bae30f79a9423334af9e490e4cce793" + integrity sha512-5zSs2AslzyPZdOsbm2NRtuSNAI2aTWzNKOHa/GRecKo7a5efYD7qGcPxMZXQDayVXT2Vnd5waXxBvV31eCZqiA== + dependencies: + "@types/chai" "*" + "@types/sinon" "*" + +"@types/sinon@*": + version "7.0.5" + resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-7.0.5.tgz#f7dea19400c193a3b36a804a7f1f4b26dacf452b" + integrity sha512-4DShbH857bZVOY4tPi1RQJNrLcf89hEtU0klZ9aYTMbtt95Ok4XdPqqcbtGOHIbAHMLSzQP8Uw/6qtBBqyloww== + +"@types/sinon@7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-7.0.0.tgz#84e707e157ec17d3e4c2a137f41fc3f416c0551e" + integrity sha512-kcYoPw0uKioFVC/oOqafk2yizSceIQXCYnkYts9vJIwQklFRsMubTObTDrjQamUyBRd47332s85074cd/hCwxg== + +"@types/sizzle@*": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" + integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg== + "@webassemblyjs/ast@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" @@ -1155,170 +1202,6 @@ version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== -"@types/jquery@*": - version "3.3.29" - resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.29.tgz#680a2219ce3c9250483722fccf5570d1e2d08abd" - integrity sha512-FhJvBninYD36v3k6c+bVk1DSZwh7B5Dpb/Pyk3HKVsiohn0nhbefZZ+3JXbWQhFyt0MxSl2jRDdGQPHeOHFXrQ== - dependencies: - "@types/sizzle" "*" - -"@types/jquery@3.3.6": - version "3.3.6" - resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.6.tgz#5932ead926307ca21e5b36808257f7c926b06565" - integrity sha512-403D4wN95Mtzt2EoQHARf5oe/jEPhzBOBNrunk+ydQGW8WmkQ/E8rViRAEB1qEt/vssfGfNVD6ujP4FVeegrLg== - -"@types/lodash@4.14.87": - version "4.14.87" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.87.tgz#55f92183b048c2c64402afe472f8333f4e319a6b" - integrity sha512-AqRC+aEF4N0LuNHtcjKtvF9OTfqZI0iaBoe3dA6m/W+/YZJBZjBmW/QIZ8fBeXC6cnytSY9tBoFBqZ9uSCeVsw== - -"@types/long@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef" - integrity sha512-1w52Nyx4Gq47uuu0EVcsHBxZFJgurQ+rTKS3qMHxR1GY2T8c2AJYd6vZoZ9q1rupaDjU0yT+Jc2XTyXkjeMA+Q== - -"@types/minimatch@3.0.3": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== - -"@types/mocha@2.2.44": - version "2.2.44" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.44.tgz#1d4a798e53f35212fd5ad4d04050620171cd5b5e" - integrity sha512-k2tWTQU8G4+iSMvqKi0Q9IIsWAp/n8xzdZS4Q4YVIltApoMA00wFBFdlJnmoaK1/z7B0Cy0yPe6GgXteSmdUNw== - -"@types/node@^10.1.0": - version "10.12.21" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e" - integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ== - -"@types/sinon-chai@3.2.2": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@types/sinon-chai/-/sinon-chai-3.2.2.tgz#5cfdbda70bae30f79a9423334af9e490e4cce793" - integrity sha512-5zSs2AslzyPZdOsbm2NRtuSNAI2aTWzNKOHa/GRecKo7a5efYD7qGcPxMZXQDayVXT2Vnd5waXxBvV31eCZqiA== - dependencies: - "@types/chai" "*" - "@types/sinon" "*" - -"@types/sinon@*": - version "7.0.5" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-7.0.5.tgz#f7dea19400c193a3b36a804a7f1f4b26dacf452b" - integrity sha512-4DShbH857bZVOY4tPi1RQJNrLcf89hEtU0klZ9aYTMbtt95Ok4XdPqqcbtGOHIbAHMLSzQP8Uw/6qtBBqyloww== - -"@types/sinon@7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@types/sinon/-/sinon-7.0.0.tgz#84e707e157ec17d3e4c2a137f41fc3f416c0551e" - integrity sha512-kcYoPw0uKioFVC/oOqafk2yizSceIQXCYnkYts9vJIwQklFRsMubTObTDrjQamUyBRd47332s85074cd/hCwxg== - -"@types/sizzle@*": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" - integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg== - -"@webassemblyjs/ast@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.5.13.tgz#81155a570bd5803a30ec31436bc2c9c0ede38f25" - dependencies: - "@webassemblyjs/helper-module-context" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/wast-parser" "1.5.13" - debug "^3.1.0" - mamacro "^0.0.3" - -"@webassemblyjs/floating-point-hex-parser@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz#29ce0baa97411f70e8cce68ce9c0f9d819a4e298" - -"@webassemblyjs/helper-api-error@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz#e49b051d67ee19a56e29b9aa8bd949b5b4442a59" - -"@webassemblyjs/helper-buffer@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz#873bb0a1b46449231137c1262ddfd05695195a1e" - dependencies: - debug "^3.1.0" - -"@webassemblyjs/helper-code-frame@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz#1bd2181b6a0be14e004f0fe9f5a660d265362b58" - dependencies: - "@webassemblyjs/wast-printer" "1.5.13" - -"@webassemblyjs/helper-fsm@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz#cdf3d9d33005d543a5c5e5adaabf679ffa8db924" - -"@webassemblyjs/helper-module-context@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz#dc29ddfb51ed657655286f94a5d72d8a489147c5" - dependencies: - debug "^3.1.0" - mamacro "^0.0.3" - -"@webassemblyjs/helper-wasm-bytecode@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz#03245817f0a762382e61733146f5773def15a747" - -"@webassemblyjs/helper-wasm-section@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz#efc76f44a10d3073b584b43c38a179df173d5c7d" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-buffer" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/wasm-gen" "1.5.13" - debug "^3.1.0" - -"@webassemblyjs/ieee754@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz#573e97c8c12e4eebb316ca5fde0203ddd90b0364" - dependencies: - ieee754 "^1.1.11" - -"@webassemblyjs/leb128@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.5.13.tgz#ab52ebab9cec283c1c1897ac1da833a04a3f4cee" - dependencies: - long "4.0.0" - -"@webassemblyjs/utf8@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.5.13.tgz#6b53d2cd861cf94fa99c1f12779dde692fbc2469" - -"@webassemblyjs/wasm-edit@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz#c9cef5664c245cf11b3b3a73110c9155831724a8" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-buffer" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/helper-wasm-section" "1.5.13" - "@webassemblyjs/wasm-gen" "1.5.13" - "@webassemblyjs/wasm-opt" "1.5.13" - "@webassemblyjs/wasm-parser" "1.5.13" - "@webassemblyjs/wast-printer" "1.5.13" - debug "^3.1.0" - -"@webassemblyjs/wasm-gen@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz#8e6ea113c4b432fa66540189e79b16d7a140700e" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-wasm-bytecode" "1.5.13" - "@webassemblyjs/ieee754" "1.5.13" - "@webassemblyjs/leb128" "1.5.13" - "@webassemblyjs/utf8" "1.5.13" - -"@webassemblyjs/wasm-opt@1.5.13": - version "1.5.13" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz#147aad7717a7ee4211c36b21a5f4c30dddf33138" - dependencies: - "@webassemblyjs/ast" "1.5.13" - "@webassemblyjs/helper-buffer" "1.5.13" - "@webassemblyjs/wasm-gen" "1.5.13" - "@webassemblyjs/wasm-parser" "1.5.13" - debug "^3.1.0" "@xtuc/long@4.2.1": version "4.2.1" @@ -1434,6 +1317,11 @@ ajv@^6.1.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" +ansi-escapes@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" + integrity sha1-06ioOzGapneTZisT52HHkRQiMG4= + ansi-escapes@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" @@ -1650,7 +1538,6 @@ async-limiter@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" -async@^1.5.2: async@2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/async/-/async-2.4.0.tgz#4990200f18ea5b837c2cc4f8c031a6985c385611" @@ -1658,7 +1545,7 @@ async@2.4.0: dependencies: lodash "^4.14.0" -async@^1.4.0, async@^1.5.0, async@^1.5.2: +async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -2097,51 +1984,6 @@ babel-plugin-transform-strict-mode@^6.24.1: babel-types "^6.24.1" babel-preset-es2015@^6.24.0: -babel-polyfill@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" - integrity sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM= - dependencies: - babel-runtime "^6.26.0" - core-js "^2.5.0" - regenerator-runtime "^0.10.5" - -babel-preset-env@^1.6.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48" - dependencies: - babel-plugin-check-es2015-constants "^6.22.0" - babel-plugin-syntax-trailing-function-commas "^6.22.0" - babel-plugin-transform-async-to-generator "^6.22.0" - babel-plugin-transform-es2015-arrow-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" - babel-plugin-transform-es2015-block-scoping "^6.23.0" - babel-plugin-transform-es2015-classes "^6.23.0" - babel-plugin-transform-es2015-computed-properties "^6.22.0" - babel-plugin-transform-es2015-destructuring "^6.23.0" - babel-plugin-transform-es2015-duplicate-keys "^6.22.0" - babel-plugin-transform-es2015-for-of "^6.23.0" - babel-plugin-transform-es2015-function-name "^6.22.0" - babel-plugin-transform-es2015-literals "^6.22.0" - babel-plugin-transform-es2015-modules-amd "^6.22.0" - babel-plugin-transform-es2015-modules-commonjs "^6.23.0" - babel-plugin-transform-es2015-modules-systemjs "^6.23.0" - babel-plugin-transform-es2015-modules-umd "^6.23.0" - babel-plugin-transform-es2015-object-super "^6.22.0" - babel-plugin-transform-es2015-parameters "^6.23.0" - babel-plugin-transform-es2015-shorthand-properties "^6.22.0" - babel-plugin-transform-es2015-spread "^6.22.0" - babel-plugin-transform-es2015-sticky-regex "^6.22.0" - babel-plugin-transform-es2015-template-literals "^6.22.0" - babel-plugin-transform-es2015-typeof-symbol "^6.23.0" - babel-plugin-transform-es2015-unicode-regex "^6.22.0" - babel-plugin-transform-exponentiation-operator "^6.22.0" - babel-plugin-transform-regenerator "^6.22.0" - browserslist "^2.1.2" - invariant "^2.2.2" - semver "^5.3.0" - -babel-preset-es2015@^6.24.0, babel-preset-es2015@^6.9.0: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" dependencies: @@ -2684,18 +2526,6 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" -cacheable-request@^2.1.1: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-2.1.4.tgz#0d808801b6342ad33c91df9d0b44dc09b91e5c3d" - dependencies: - clone-response "1.0.2" - get-stream "3.0.0" - http-cache-semantics "3.8.1" - keyv "3.0.0" - lowercase-keys "1.0.0" - normalize-url "2.0.1" - responselike "1.0.2" - cachedir@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-1.3.0.tgz#5e01928bf2d95b5edd94b0942188246740e0dbc4" @@ -2703,10 +2533,6 @@ cachedir@1.3.0: dependencies: os-homedir "^1.0.1" -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - caller-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" @@ -2784,8 +2610,7 @@ chain-function@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/chain-function/-/chain-function-1.0.0.tgz#0d4ab37e7e18ead0bdc47b920764118ce58733dc" -chalk@^1.1.3: -chalk@2.4.1, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.2, chalk@^2.4.1: +chalk@2.4.1, chalk@^2.0.1, chalk@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" dependencies: @@ -2812,14 +2637,6 @@ chalk@^2.0.0: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^2.0.1, chalk@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - chalk@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.1.tgz#523fe2678aec7b04e8041909292fe8b17059b796" @@ -2917,10 +2734,10 @@ chrome-trace-event@^1.0.0: dependencies: tslib "^1.9.0" -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== +ci-info@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" @@ -2952,12 +2769,24 @@ clean-css@4.1.x: dependencies: source-map "0.5.x" +cli-cursor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987" + integrity sha1-ZNo/fValRBLll5S9Ytw1KV6PKYc= + dependencies: + restore-cursor "^1.0.1" + cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" dependencies: restore-cursor "^2.0.0" +cli-spinners@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-0.1.2.tgz#bb764d88e185fb9e1e6a2a1f19772318f605e31c" + integrity sha1-u3ZNiOGF+54eaiofGXcjGPYF4xw= + cli-table3@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" @@ -2968,6 +2797,14 @@ cli-table3@^0.5.0: optionalDependencies: colors "^1.1.2" +cli-truncate@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574" + integrity sha1-nxXPuwcFAFNpIWxiasfQWrkN1XQ= + dependencies: + slice-ansi "0.0.4" + string-width "^1.0.1" + cli-width@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" @@ -3062,16 +2899,13 @@ commander@^2.13.0: version "2.18.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970" -commander@^2.19.0, commander@^2.8.1: +commander@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" commander@^2.8.1, commander@~2.17.1: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" -commander@~2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c" commander@~2.8.1: version "2.8.1" @@ -3251,15 +3085,6 @@ core-js@^2.5.0: version "2.5.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b" -core-js@^2.4.1: - version "2.5.6" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.6.tgz#0fe6d45bf3cac3ac364a9d72de7576f4eb221b9d" - -core-js@^2.5.7: - version "2.6.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.3.tgz#4b70938bdffdaf64931e66e2db158f0892289c49" - integrity sha512-l00tmFFZOBHtYhN4Cz7k32VM7vTn3rE2ANjQDxdEN6zmXZ/xq1jQuutnmHvMG1ZJ7xd72+TA5YpUK8wz3rWsfQ== - core-util-is@1.0.2, core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -3512,6 +3337,11 @@ data-urls@^1.0.0: whatwg-mimetype "^2.0.0" whatwg-url "^6.4.0" +date-fns@^1.27.2: + version "1.30.1" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" + integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== + date-fns@^1.29.0: version "1.29.0" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" @@ -3533,7 +3363,6 @@ debug@3.1.0, debug@^3.0.0, debug@^3.1.0: ms "2.0.0" debug@^4.1.0, debug@^4.1.1: -debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== @@ -3914,6 +3743,11 @@ electron-to-chromium@^1.3.30: version "1.3.62" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.62.tgz#2e8e2dc070c800ec8ce23ff9dfcceb585d6f9ed8" +elegant-spinner@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" + integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= + elliptic@^6.0.0, elliptic@^6.2.3: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" @@ -4517,17 +4351,6 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.0.0.tgz#71f71d88a4202746fc79849bb4c6498008b5ef03" - integrity sha512-qDHRU4lGsme0xjg8dXp/RQhvO9XIo9FWqVo7dTHDPBwzy25JGEHAWFsnpmRYErB50tgi/6euo3ir5e/kF9LUTA== - dependencies: - ansi-styles "^3.2.0" - jest-get-type "^24.0.0" - jest-matcher-utils "^24.0.0" - jest-message-util "^24.0.0" - jest-regex-util "^24.0.0" - express@^4.14.0, express@^4.16.2, express@^4.16.3: version "4.16.3" resolved "http://registry.npmjs.org/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" @@ -4703,6 +4526,14 @@ figgy-pudding@^3.5.1: resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== +figures@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + integrity sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4= + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + figures@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" @@ -5120,12 +4951,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1: -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - -glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: +glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -5137,7 +4963,6 @@ glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2: path-is-absolute "^1.0.0" glob@^7.0.5, glob@^7.1.2, glob@^7.1.3: -glob@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== @@ -5149,10 +4974,6 @@ glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -global-modules-path@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.1.tgz#e541f4c800a1a8514a990477b267ac67525b9931" - integrity sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg== global-dirs@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" @@ -5160,6 +4981,11 @@ global-dirs@^0.1.0: dependencies: ini "^1.3.4" +global-modules-path@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.1.tgz#e541f4c800a1a8514a990477b267ac67525b9931" + integrity sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg== + global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" @@ -5803,10 +5629,6 @@ is-callable@^1.1.3, is-callable@^1.1.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== is-ci@1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e" @@ -5814,9 +5636,10 @@ is-ci@1.0.10: dependencies: ci-info "^1.0.0" -is-ci@^1.0.10: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.1.0.tgz#247e4162e7860cebbdaf30b774d6b0ac7dcfe7a5" +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: ci-info "^2.0.0" @@ -5909,11 +5732,6 @@ is-function@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" -is-generator-fn@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.0.0.tgz#038c31b774709641bda678b1f06a4e3227c10b3e" - integrity sha512-elzyIdM7iKoFHzcrndIqjYomImhxrFRnGP3galODoII4TB9gI7mZ+FnlLQmmjf27SxHS2gKEeyhX5/+YRS6H9g== - is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -6207,10 +6025,6 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" -jest-changed-files@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.0.0.tgz#c02c09a8cc9ca93f513166bc773741bd39898ff7" - integrity sha512-nnuU510R9U+UX0WNb5XFEcsrMqriSiRLeO9KWDFgPrpToaQm60prfQYpxsXigdClpvNot5bekDY440x9dNGnsQ== iterm2-version@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/iterm2-version/-/iterm2-version-4.0.0.tgz#57d3f3e605e672b02092372386ea0ab9b59d4a25" @@ -6219,9 +6033,10 @@ iterm2-version@^4.0.0: app-path "^3.0.0" plist "^3.0.1" -jest-changed-files@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.2.tgz#1eed688370cd5eebafe4ae93d34bb3b64968fe83" +jest-changed-files@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.0.0.tgz#c02c09a8cc9ca93f513166bc773741bd39898ff7" + integrity sha512-nnuU510R9U+UX0WNb5XFEcsrMqriSiRLeO9KWDFgPrpToaQm60prfQYpxsXigdClpvNot5bekDY440x9dNGnsQ== dependencies: execa "^1.0.0" throat "^4.0.0" @@ -6309,16 +6124,6 @@ jest-docblock@^24.0.0: dependencies: detect-newline "^2.1.0" -jest-each@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.0.0.tgz#10987a06b21c7ffbfb7706c89d24c52ed864be55" - integrity sha512-gFcbY4Cu55yxExXMkjrnLXov3bWO3dbPAW7HXb31h/DNWdNc/6X8MtxGff8nh3/MjkF9DpVqnj0KsPKuPK0cpA== - dependencies: - chalk "^2.0.1" - jest-get-type "^24.0.0" - jest-util "^24.0.0" - pretty-format "^24.0.0" - jest-environment-jsdom@^24.0.0: version "24.0.0" resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.0.0.tgz#5affa0654d6e44cd798003daa1a8701dbd6e4d11" @@ -6363,10 +6168,6 @@ jest-haste-map@^24.0.0: micromatch "^3.1.10" sane "^3.0.0" -jest-jasmine2@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.0.0.tgz#7d87be9d8b32d34ac5980ad646b7ae7f99e33a19" - integrity sha512-q1xEV9KHM0bgfBj3yrkrjRF5kxpNDkWPCwVfSPN1DC+pD6J5wrM9/u2BgzhKhALXiaZUUhJ+f/OcEC0Gwpw90A== jest-image-snapshot@2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/jest-image-snapshot/-/jest-image-snapshot-2.7.0.tgz#6e3b11a1d5895123c45ce034e0fd163fe49e6149" @@ -6380,9 +6181,10 @@ jest-image-snapshot@2.7.0: pngjs "^3.3.3" rimraf "^2.6.2" -jest-jasmine2@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.4.2.tgz#2fbf52f93e43ed4c5e7326a90bb1d785be4321ac" +jest-jasmine2@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.0.0.tgz#7d87be9d8b32d34ac5980ad646b7ae7f99e33a19" + integrity sha512-q1xEV9KHM0bgfBj3yrkrjRF5kxpNDkWPCwVfSPN1DC+pD6J5wrM9/u2BgzhKhALXiaZUUhJ+f/OcEC0Gwpw90A== dependencies: "@babel/traverse" "^7.1.0" chalk "^2.0.1" @@ -6804,10 +6606,6 @@ lazy-ass@1.6.0: resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -6840,6 +6638,7 @@ lightercollective@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/lightercollective/-/lightercollective-0.1.0.tgz#70df102c530dcb8d0ccabfe6175a8d00d5f61300" integrity sha512-J9tg5uraYoQKaWbmrzDDexbG6hHnMcWS1qLYgJSWE+mpA3U5OCSeMUhb+K55otgZJ34oFdR0ECvdIb3xuO5JOQ== + listr-silent-renderer@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" @@ -6858,19 +6657,6 @@ listr-update-renderer@^0.2.0: log-update "^1.0.2" strip-ansi "^3.0.1" -listr-update-renderer@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/listr-update-renderer/-/listr-update-renderer-0.4.0.tgz#344d980da2ca2e8b145ba305908f32ae3f4cc8a7" - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - elegant-spinner "^1.0.1" - figures "^1.7.0" - indent-string "^3.0.0" - log-symbols "^1.0.2" - log-update "^1.0.2" - strip-ansi "^3.0.1" - listr-verbose-renderer@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/listr-verbose-renderer/-/listr-verbose-renderer-0.4.1.tgz#8206f4cf6d52ddc5827e5fd14989e0e965933a35" @@ -6902,28 +6688,6 @@ listr@0.12.0: stream-to-observable "^0.1.0" strip-ansi "^3.0.1" -listr@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/listr/-/listr-0.13.0.tgz#20bb0ba30bae660ee84cc0503df4be3d5623887d" - dependencies: - chalk "^1.1.3" - cli-truncate "^0.2.1" - figures "^1.7.0" - indent-string "^2.1.0" - is-observable "^0.2.0" - is-promise "^2.1.0" - is-stream "^1.1.0" - listr-silent-renderer "^1.1.1" - listr-update-renderer "^0.4.0" - listr-verbose-renderer "^0.4.0" - log-symbols "^1.0.2" - log-update "^1.0.2" - ora "^0.2.3" - p-map "^1.1.1" - rxjs "^5.4.2" - stream-to-observable "^0.2.0" - strip-ansi "^3.0.1" - load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -7051,27 +6815,20 @@ lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" -lodash@^4.13.1, lodash@^4.17.3, lodash@^4.3.0: -lodash@4.17.11, lodash@^4.17.10: +lodash@4.17.11, lodash@^4.17.10, lodash@^4.17.4: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== -lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.3.0: +lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.3.0: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" -lodash@^4.17.10, lodash@^4.17.4: - version "4.17.11" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" - integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== - lodash@^4.17.5: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" -log-symbols@^2.0.0, log-symbols@^2.1.0: -log-symbols@2.2.0, log-symbols@^2.0.0, log-symbols@^2.1.0, log-symbols@^2.2.0: +log-symbols@2.2.0, log-symbols@^2.0.0, log-symbols@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" dependencies: @@ -7101,14 +6858,10 @@ loglevelnext@^1.0.1: es6-symbol "^3.1.1" object.assign "^4.1.0" -long@4.0.0, long@^4.0.0: +long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" -long@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" - longest-streak@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.2.tgz#2421b6ba939a443bb9ffebf596585a50b4c38e2e" @@ -7155,7 +6908,6 @@ lru-cache@^5.1.1: yallist "^3.0.2" make-dir@^1.0.0, make-dir@^1.3.0: -make-dir@^1.0.0, make-dir@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== @@ -7430,18 +7182,10 @@ minimist@1.1.x: version "1.1.3" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" -minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" -minimist@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.1.0.tgz#99df657a52574c21c9057497df742790b2b4c0de" - minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" @@ -7934,6 +7678,11 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" +onetime@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + integrity sha1-ofeDj4MUxRbwXs78vEzP4EtO14k= + onetime@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" @@ -7968,6 +7717,16 @@ optionator@^0.8.1, optionator@^0.8.2: type-check "~0.3.2" wordwrap "~1.0.0" +ora@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/ora/-/ora-0.2.3.tgz#37527d220adcd53c39b73571d754156d5db657a4" + integrity sha1-N1J9Igrc1Tw5tzVx11QVbV22V6Q= + dependencies: + chalk "^1.1.1" + cli-cursor "^1.0.2" + cli-spinners "^0.1.2" + object-assign "^4.0.1" + original@>=0.0.5: version "1.0.1" resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190" @@ -7999,7 +7758,6 @@ os-locale@^3.0.0: lcid "^2.0.0" mem "^4.0.0" -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" @@ -8306,13 +8064,6 @@ pirates@^4.0.0: dependencies: node-modules-regexp "^1.0.0" -pirates@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.0.tgz#850b18781b4ac6ec58a43c9ed9ec5fe6796addbd" - integrity sha512-8t5BsXy1LUIjn3WWOlOuFDuKswhQb/tkak641lvBgmPOBUQHXveORtlMCp6OdPV1dtuTaEahKA8VNz6uLfKBtA== - dependencies: - node-modules-regexp "^1.0.0" - pixelmatch@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854" @@ -9024,14 +8775,6 @@ read-pkg-up@^3.0.0: find-up "^2.0.0" read-pkg "^3.0.0" -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - read-pkg@^1.0.0, read-pkg@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -9382,59 +9125,6 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.0" tough-cookie ">=2.3.3" -request@^2.79.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - 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.0" - 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.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -request@^2.87.0: -request@2.81.0: - version "2.81.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - request@2.87.0, request@^2.87.0: version "2.87.0" resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" @@ -9563,6 +9253,14 @@ resolve@^1.5.0, resolve@^1.6.0: dependencies: path-parse "^1.0.5" +restore-cursor@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541" + integrity sha1-NGYfRohjJ/7SmRR5FSJS35LapUE= + dependencies: + exit-hook "^1.0.0" + onetime "^1.0.0" + restore-cursor@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" @@ -9645,12 +9343,6 @@ rxjs@^5.0.0-beta.11: dependencies: symbol-observable "1.0.1" -rxjs@^5.4.2, rxjs@^5.5.2: - version "5.5.10" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.10.tgz#fde02d7a614f6c8683d0d1957827f492e09db045" - dependencies: - symbol-observable "1.0.1" - safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -9954,6 +9646,11 @@ slash@^2.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== +slice-ansi@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" + integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= + slice-ansi@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" @@ -10033,7 +9730,6 @@ source-map-support@^0.5.6: source-map "^0.6.0" source-map-support@^0.5.9, source-map-support@~0.5.9: -source-map-support@^0.5.9: version "0.5.10" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== @@ -10227,12 +9923,6 @@ stream-to-observable@^0.1.0: resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.1.0.tgz#45bf1d9f2d7dc09bed81f1c307c430e68b84cffe" integrity sha1-Rb8dny19wJvtgfHDB8Qw5ouEz/4= -stream-to-observable@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/stream-to-observable/-/stream-to-observable-0.2.0.tgz#59d6ea393d87c2c0ddac10aa0d561bc6ba6f0e10" - dependencies: - any-observable "^0.2.0" - strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -10540,6 +10230,11 @@ swarm-js@0.1.37: tar.gz "^1.0.5" xhr-request-promise "^0.1.2" +symbol-observable@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" + integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= + symbol-observable@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" @@ -10621,6 +10316,14 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.2" +term-img@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/term-img/-/term-img-4.0.0.tgz#238363ddf6eb180a062fa2e232bb7b7eb6a7058d" + integrity sha512-Rug9/fdT5BAgLhrWvVXQealky6czqrFGeKwVS2kubuYn70Gw98JaIxAocNO9ol4qZFlm2A+8nS8xnnVYGbvXcg== + dependencies: + ansi-escapes "^3.1.0" + iterm2-version "^4.0.0" + terser-webpack-plugin@^1.1.0: version "1.2.1" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.2.1.tgz#7545da9ae5f4f9ae6a0ac961eb46f5e7c845cc26" @@ -10648,17 +10351,6 @@ test-exclude@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.0.0.tgz#cdce7cece785e0e829cd5c2b27baf18bc583cfb7" integrity sha512-bO3Lj5+qFa9YLfYW2ZcXMOV1pmQvw+KS/DpjqhyX6Y6UZ8zstpZJ+mA2ERkXfpOqhxsJlQiLeVXD3Smsrs6oLw== -term-img@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/term-img/-/term-img-4.0.0.tgz#238363ddf6eb180a062fa2e232bb7b7eb6a7058d" - integrity sha512-Rug9/fdT5BAgLhrWvVXQealky6czqrFGeKwVS2kubuYn70Gw98JaIxAocNO9ol4qZFlm2A+8nS8xnnVYGbvXcg== - dependencies: - ansi-escapes "^3.1.0" - iterm2-version "^4.0.0" - -test-exclude@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa" dependencies: arrify "^1.0.1" minimatch "^3.0.4" @@ -11802,7 +11494,6 @@ xml-name-validator@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: xmlbuilder@^9.0.7: version "9.0.7" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" @@ -11813,7 +11504,7 @@ xmldom@0.1.x: resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= -xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" From 85c5fb009e7181b1976c5f2c2dfb231d73f5d984 Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Tue, 5 Feb 2019 14:49:34 +0100 Subject: [PATCH 145/219] Removed unused preset --- jest.config.js | 3 +++ package.json | 1 - yarn.lock | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/jest.config.js b/jest.config.js index 10729508..36b82bc6 100644 --- a/jest.config.js +++ b/jest.config.js @@ -17,4 +17,7 @@ module.exports = { setupFiles: [ './support/setupJest.js', ], + transform: { + '^.+\\.jsx?$': 'babel-jest', + }, }; diff --git a/package.json b/package.json index 31f4ec43..c08d6633 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,6 @@ "babel-loader": "^8.0.5", "babel-plugin-module-resolver": "^3.1.3", "babel-plugin-styled-components": "^1.10.0", - "babel-preset-jest": "^24.0.0", "cypress": "^3.1.5", "cypress-image-snapshot": "^3.0.0", "eslint": "^4", diff --git a/yarn.lock b/yarn.lock index 22071c04..f6c4e7b3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2739,6 +2739,11 @@ ci-info@^1.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + cipher-base@^1.0.0, 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" @@ -4351,6 +4356,17 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" +expect@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.0.0.tgz#71f71d88a4202746fc79849bb4c6498008b5ef03" + integrity sha512-qDHRU4lGsme0xjg8dXp/RQhvO9XIo9FWqVo7dTHDPBwzy25JGEHAWFsnpmRYErB50tgi/6euo3ir5e/kF9LUTA== + dependencies: + ansi-styles "^3.2.0" + jest-get-type "^24.0.0" + jest-matcher-utils "^24.0.0" + jest-message-util "^24.0.0" + jest-regex-util "^24.0.0" + express@^4.14.0, express@^4.16.2, express@^4.16.3: version "4.16.3" resolved "http://registry.npmjs.org/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53" @@ -5732,6 +5748,11 @@ is-function@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" +is-generator-fn@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.0.0.tgz#038c31b774709641bda678b1f06a4e3227c10b3e" + integrity sha512-elzyIdM7iKoFHzcrndIqjYomImhxrFRnGP3galODoII4TB9gI7mZ+FnlLQmmjf27SxHS2gKEeyhX5/+YRS6H9g== + is-glob@^2.0.0, is-glob@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" @@ -6124,6 +6145,16 @@ jest-docblock@^24.0.0: dependencies: detect-newline "^2.1.0" +jest-each@^24.0.0: + version "24.0.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.0.0.tgz#10987a06b21c7ffbfb7706c89d24c52ed864be55" + integrity sha512-gFcbY4Cu55yxExXMkjrnLXov3bWO3dbPAW7HXb31h/DNWdNc/6X8MtxGff8nh3/MjkF9DpVqnj0KsPKuPK0cpA== + dependencies: + chalk "^2.0.1" + jest-get-type "^24.0.0" + jest-util "^24.0.0" + pretty-format "^24.0.0" + jest-environment-jsdom@^24.0.0: version "24.0.0" resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.0.0.tgz#5affa0654d6e44cd798003daa1a8701dbd6e4d11" @@ -8775,6 +8806,14 @@ read-pkg-up@^3.0.0: find-up "^2.0.0" read-pkg "^3.0.0" +read-pkg-up@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" + integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== + dependencies: + find-up "^3.0.0" + read-pkg "^3.0.0" + read-pkg@^1.0.0, read-pkg@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" From 9e944e2ad7a3e9d6c5d7fd77fc3c480fcb02ddec Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Tue, 5 Feb 2019 15:06:59 +0100 Subject: [PATCH 146/219] Update webpack related modules --- package.json | 16 +- webpack/dev.babel.js | 6 +- webpack/local.babel.js | 8 +- webpack/production.babel.js | 6 +- yarn.lock | 1294 ++++++++++++++++++----------------- 5 files changed, 696 insertions(+), 634 deletions(-) diff --git a/package.json b/package.json index c08d6633..7c81f584 100644 --- a/package.json +++ b/package.json @@ -79,9 +79,9 @@ "trezor-connect": "7.0.0-beta.2", "wallet-address-validator": "^0.2.4", "web3": "1.0.0-beta.35", - "webpack": "^4.29.0", - "webpack-build-notifier": "^0.1.29", - "webpack-bundle-analyzer": "^2.13.1", + "webpack": "^4.29.1", + "webpack-build-notifier": "^0.1.30", + "webpack-bundle-analyzer": "^3.0.3", "whatwg-fetch": "^2.0.4", "yarn-run-all": "^3.1.1" }, @@ -114,17 +114,17 @@ "eslint-plugin-jest": "^21.18.0", "eslint-plugin-jsx-a11y": "^6.1.1", "eslint-plugin-react": "^7.10.0", - "file-loader": "1.1.11", + "file-loader": "3.0.1", "flow-bin": "0.75.0", "jest": "^24.0.0", - "stylelint": "^8.0.0", + "stylelint": "^9.10.1", "stylelint-config-standard": "^18.2.0", "stylelint-config-styled-components": "^0.1.1", - "stylelint-custom-processor-loader": "^0.5.0", + "stylelint-custom-processor-loader": "^0.6.0", "stylelint-processor-styled-components": "^1.3.2", "stylelint-webpack-plugin": "^0.10.5", - "webpack-cli": "^3.2.1", - "webpack-dev-server": "^3.1.4", + "webpack-cli": "^3.2.3", + "webpack-dev-server": "^3.1.14", "yargs": "11.0.0" }, "optionalDependencies": { diff --git a/webpack/dev.babel.js b/webpack/dev.babel.js index c5e16bcd..cd7904b4 100644 --- a/webpack/dev.babel.js +++ b/webpack/dev.babel.js @@ -64,7 +64,7 @@ module.exports = { { test: /\.(png|gif|jpg)$/, loader: 'file-loader?name=./images/[name].[ext]', - query: { + options: { outputPath: './images', name: '[name].[ext]', }, @@ -72,7 +72,7 @@ module.exports = { { test: /\.(ttf|eot|svg|woff|woff2)$/, loader: 'file-loader', - query: { + options: { outputPath: './fonts', name: '[name].[ext]', }, @@ -82,7 +82,7 @@ module.exports = { test: /\.json/, exclude: /(node_modules)/, loader: 'file-loader', - query: { + options: { outputPath: './data', name: '[name].[ext]', }, diff --git a/webpack/local.babel.js b/webpack/local.babel.js index e730ec46..2fec2086 100644 --- a/webpack/local.babel.js +++ b/webpack/local.babel.js @@ -67,7 +67,7 @@ module.exports = { { test: /\.(png|gif|jpg)$/, loader: 'file-loader?name=./images/[name].[ext]', - query: { + options: { outputPath: './images', name: '[name].[ext]', }, @@ -75,7 +75,7 @@ module.exports = { { test: /\.(ttf|eot|svg|woff|woff2)$/, loader: 'file-loader', - query: { + options: { outputPath: './fonts', name: '[name].[ext]', }, @@ -85,7 +85,7 @@ module.exports = { test: /\.json/, exclude: /(node_modules)/, loader: 'file-loader', - query: { + options: { outputPath: './data', name: '[name].[ext]', }, @@ -94,7 +94,7 @@ module.exports = { type: 'javascript/auto', test: /\.wasm$/, loader: 'file-loader', - query: { + options: { name: 'js/[name].[ext]', }, }, diff --git a/webpack/production.babel.js b/webpack/production.babel.js index b3fd03da..e9c0f2e2 100644 --- a/webpack/production.babel.js +++ b/webpack/production.babel.js @@ -30,7 +30,7 @@ module.exports = { test: /\.(png|gif|jpg)$/, exclude: /(node_modules)/, loader: 'file-loader', - query: { + options: { outputPath: './images', name: '[name].[hash].[ext]', }, @@ -38,7 +38,7 @@ module.exports = { { test: /\.(ttf|eot|svg|woff|woff2)$/, loader: 'file-loader', - query: { + options: { outputPath: './fonts', name: '[name].[hash].[ext]', }, @@ -48,7 +48,7 @@ module.exports = { test: /\.json/, exclude: /(node_modules)/, loader: 'file-loader', - query: { + options: { outputPath: './data', name: '[name].[hash].[ext]', }, diff --git a/yarn.lock b/yarn.lock index f6c4e7b3..936f483b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32,7 +32,7 @@ dependencies: "@babel/highlight" "^7.0.0" -"@babel/core@^7.1.0", "@babel/core@^7.2.2": +"@babel/core@>=7.1.0", "@babel/core@^7.1.0", "@babel/core@^7.2.2": version "7.2.2" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687" integrity sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw== @@ -910,6 +910,19 @@ version "0.2.2" resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.2.tgz#63985d3d8b02530e0869962f4da09142ee8e200e" +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" + integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" + integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== + "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -1027,7 +1040,7 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.44.tgz#1d4a798e53f35212fd5ad4d04050620171cd5b5e" integrity sha512-k2tWTQU8G4+iSMvqKi0Q9IIsWAp/n8xzdZS4Q4YVIltApoMA00wFBFdlJnmoaK1/z7B0Cy0yPe6GgXteSmdUNw== -"@types/node@^10.1.0": +"@types/node@*", "@types/node@^10.1.0": version "10.12.21" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e" integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ== @@ -1055,6 +1068,28 @@ resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg== +"@types/unist@*", "@types/unist@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.2.tgz#5dc0a7f76809b7518c0df58689cd16a19bd751c6" + integrity sha512-iHI60IbyfQilNubmxsq4zqSjdynlmc2Q/QvH9kjzg9+CCYVVzq1O6tc7VBzSygIwnmOt07w80IG6HDQvjv3Liw== + +"@types/vfile-message@*": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/vfile-message/-/vfile-message-1.0.1.tgz#e1e9895cc6b36c462d4244e64e6d0b6eaf65355a" + integrity sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA== + dependencies: + "@types/node" "*" + "@types/unist" "*" + +"@types/vfile@^3.0.0": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/vfile/-/vfile-3.0.2.tgz#19c18cd232df11ce6fa6ad80259bc86c366b09b9" + integrity sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw== + dependencies: + "@types/node" "*" + "@types/unist" "*" + "@types/vfile-message" "*" + "@webassemblyjs/ast@1.7.11": version "1.7.11" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace" @@ -1259,9 +1294,10 @@ acorn@^5.0.0, acorn@^5.5.0, acorn@^5.5.3: version "5.7.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" -acorn@^5.3.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.2.tgz#91fa871883485d06708800318404e72bfb26dcc5" +acorn@^5.7.3: + version "5.7.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" + integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== acorn@^6.0.5: version "6.0.7" @@ -1283,10 +1319,6 @@ ajv-keywords@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" -ajv-keywords@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" - ajv-keywords@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.1.0.tgz#ac2b27939c543e95d2c06e7f7f5c27be4aa543be" @@ -1300,15 +1332,6 @@ ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" -ajv@^6.0.1: - version "6.5.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.2.tgz#678495f9b82f7cca6be248dd92f59bff5e1f4360" - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.1" - ajv@^6.1.0: version "6.1.1" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.1.1.tgz#978d597fbc2b7d0e5a5c3ddeb149a682f2abfa0e" @@ -1317,6 +1340,21 @@ ajv@^6.1.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" +ajv@^6.6.1: + version "6.8.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.8.1.tgz#0890b93742985ebf8973cd365c5b23920ce3cb20" + integrity sha512-eqxCp82P+JfqL683wwsL73XmFs1eG6qjw+RD3YHx+Jll1r0jNd4dh8QG9NYAeNGA/hnZjeEDgtTskgJULbxpWQ== + dependencies: + fast-deep-equal "^2.0.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ansi-colors@^3.0.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" + integrity sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw== + ansi-escapes@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" @@ -1352,7 +1390,7 @@ ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" -ansi-styles@^3.1.0, ansi-styles@^3.2.0: +ansi-styles@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" dependencies: @@ -1413,17 +1451,11 @@ aria-query@^3.0.0: ast-types-flow "0.0.7" commander "^2.11.0" -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" -arr-flatten@^1.0.1, arr-flatten@^1.1.0: +arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" @@ -1470,7 +1502,7 @@ array-reduce@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" -array-union@^1.0.1: +array-union@^1.0.1, array-union@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" dependencies: @@ -1480,10 +1512,6 @@ array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" @@ -1564,16 +1592,17 @@ atob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" -autoprefixer@^7.1.2: - version "7.2.6" - resolved "http://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz#256672f86f7c735da849c4f07d008abb056067dc" +autoprefixer@^9.0.0: + version "9.4.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.4.7.tgz#f997994f9a810eae47b38fa6d8a119772051c4ff" + integrity sha512-qS5wW6aXHkm53Y4z73tFGsUhmZu4aMPV9iHXYlF0c/wxjknXNHuj/1cIQb+6YH692DbJGGWcckAXX+VxKvahMA== dependencies: - browserslist "^2.11.3" - caniuse-lite "^1.0.30000805" + browserslist "^4.4.1" + caniuse-lite "^1.0.30000932" normalize-range "^0.1.2" num2fraction "^1.2.2" - postcss "^6.0.17" - postcss-value-parser "^3.2.3" + postcss "^7.0.14" + postcss-value-parser "^3.3.1" aws-sign2@~0.7.0: version "0.7.0" @@ -2142,12 +2171,14 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -bfj-node4@^5.2.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/bfj-node4/-/bfj-node4-5.3.1.tgz#e23d8b27057f1d0214fc561142ad9db998f26830" +bfj@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/bfj/-/bfj-6.1.1.tgz#05a3b7784fbd72cfa3c22e56002ef99336516c48" + integrity sha512-+GUNvzHR4nRyGybQc2WpNJL4MJazMuvf92ueIyA0bIkPRwhhQu3IfZQ2PSoVPpCBJfmoSdOxu5rnotfFLlvYRQ== dependencies: bluebird "^3.5.1" check-types "^7.3.0" + hoopy "^0.1.2" tryer "^1.0.0" big.js@^3.1.3: @@ -2270,14 +2301,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - braces@^2.3.0, braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" @@ -2377,14 +2400,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^2.11.3: - version "2.11.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2" - dependencies: - caniuse-lite "^1.0.30000792" - electron-to-chromium "^1.3.30" - -browserslist@^4.3.4: +browserslist@^4.3.4, browserslist@^4.4.1: version "4.4.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.4.1.tgz#42e828954b6b29a7a53e352277be429478a69062" integrity sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A== @@ -2533,16 +2549,40 @@ cachedir@1.3.0: dependencies: os-homedir "^1.0.1" +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + caller-path@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" dependencies: callsites "^0.2.0" +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + callsites@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + callsites@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" @@ -2555,13 +2595,6 @@ camel-case@3.0.x: no-case "^2.2.0" upper-case "^1.1.1" -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - camelcase-keys@^4.0.0: version "4.2.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" @@ -2570,10 +2603,6 @@ camelcase-keys@^4.0.0: map-obj "^2.0.0" quick-lru "^1.0.0" -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" @@ -2583,15 +2612,16 @@ camelcase@^5.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== -caniuse-lite@^1.0.30000792, caniuse-lite@^1.0.30000805: - version "1.0.30000884" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000884.tgz#eb82a959698745033b26a4dcd34d89dba7cc6eb3" - caniuse-lite@^1.0.30000929: version "1.0.30000933" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000933.tgz#5871ff54b3177675ae1c2a275b2aae7abf2b9222" integrity sha512-d3QXv7eFTU40DSedSP81dV/ajcGSKpT+GW+uhtWmLvQm9bPk0KK++7i1e2NSW/CXGZhWFt2mFbFtCJ5I5bMuVA== +caniuse-lite@^1.0.30000932: + version "1.0.30000935" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000935.tgz#d1b59df00b46f4921bb84a8a34c1d172b346df59" + integrity sha512-1Y2uJ5y56qDt3jsDTdBHL1OqiImzjoQcBG6Yl3Qizq8mcc2SgCFpi+ZwLLqkztYnk9l87IYqRlNBnPSOTbFkXQ== + capture-exit@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" @@ -2628,7 +2658,7 @@ chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0: +chalk@^2.0.0, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -2645,14 +2675,6 @@ chalk@^2.1.0: escape-string-regexp "^1.0.5" supports-color "^5.2.0" -chalk@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" - dependencies: - ansi-styles "^3.1.0" - escape-string-regexp "^1.0.5" - supports-color "^4.0.0" - character-entities-html4@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.2.tgz#c44fdde3ce66b52e8d321d6c1bf46101f0150610" @@ -2900,11 +2922,7 @@ commander@^2.11.0: version "2.12.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.1.tgz#468635c4168d06145b9323356d1da84d14ac4a7a" -commander@^2.13.0: - version "2.18.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.18.0.tgz#2bf063ddee7c7891176981a2cc798e5754bc6970" - -commander@^2.19.0: +commander@^2.18.0, commander@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" @@ -3101,14 +3119,15 @@ cors@^2.8.1: object-assign "^4" vary "^1" -cosmiconfig@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-3.1.0.tgz#640a94bf9847f321800403cd273af60665c73397" +cosmiconfig@^5.0.0: + version "5.0.7" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.7.tgz#39826b292ee0d78eda137dfa3173bd1c21a43b04" + integrity sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA== dependencies: + import-fresh "^2.0.0" is-directory "^0.3.1" js-yaml "^3.9.0" - parse-json "^3.0.0" - require-from-string "^2.0.1" + parse-json "^4.0.0" create-ecdh@^4.0.0: version "4.0.3" @@ -3318,12 +3337,6 @@ cypress@^3.1.5: url "0.11.0" yauzl "2.8.0" -d@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" - dependencies: - es5-ext "^0.10.9" - damerau-levenshtein@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514" @@ -3355,19 +3368,26 @@ date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" -debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: +debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: ms "2.0.0" -debug@3.1.0, debug@^3.0.0, debug@^3.1.0: +debug@3.1.0, debug@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" dependencies: ms "2.0.0" -debug@^4.1.0, debug@^4.1.1: +debug@^3.2.5: + version "3.2.6" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" + integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.0, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== @@ -3381,11 +3401,18 @@ decamelize-keys@^1.0.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= +decamelize@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-2.0.0.tgz#656d7bbc8094c4c788ea53c5840908c9c7d063c7" + integrity sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg== + dependencies: + xregexp "4.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" @@ -3460,6 +3487,14 @@ deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" +default-gateway@^2.6.0: + version "2.7.2" + resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-2.7.2.tgz#b7ef339e5e024b045467af403d50348db4642d0f" + integrity sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ== + dependencies: + execa "^0.10.0" + ip-regex "^2.1.0" + default-require-extensions@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" @@ -3561,9 +3596,10 @@ detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" -detect-node@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" +detect-node@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" + integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== diff-sequences@^24.0.0: version "24.0.0" @@ -3585,6 +3621,13 @@ dir-glob@^2.0.0: arrify "^1.0.1" path-type "^3.0.0" +dir-glob@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" + integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== + dependencies: + path-type "^3.0.0" + dns-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" @@ -3735,19 +3778,16 @@ ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -ejs@^2.5.7: +ejs@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" + integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ== electron-to-chromium@^1.3.103: version "1.3.111" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.111.tgz#9bde11c953425c1756f85c66e61de2b74ced75d0" integrity sha512-I2QjmmxWULp89fEHlFwRpKXSw4Y/Igo3u41py4MkzJTrgDOf/S4oq/IMuTUHze/5TTPpwem74oQiPMEgFtuDRA== -electron-to-chromium@^1.3.30: - version "1.3.62" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.62.tgz#2e8e2dc070c800ec8ce23ff9dfcceb585d6f9ed8" - elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" @@ -3781,6 +3821,11 @@ emoji-regex@^6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2" +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" + integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + emojis-list@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" @@ -3880,29 +3925,6 @@ es-to-primitive@^1.1.1, es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: - version "0.10.42" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.42.tgz#8c07dd33af04d5dcd1310b5cef13bea63a89ba8d" - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.1" - next-tick "1" - -es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" - dependencies: - d "1" - es5-ext "~0.10.14" - escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -4248,11 +4270,12 @@ events@^1.0.0, events@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" -eventsource@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232" +eventsource@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" + integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== dependencies: - original ">=0.0.5" + original "^1.0.0" evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: version "1.0.3" @@ -4267,7 +4290,7 @@ exec-sh@^0.2.0: dependencies: merge "^1.2.0" -execa@0.10.0: +execa@0.10.0, execa@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50" integrity sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw== @@ -4326,12 +4349,6 @@ exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -4344,12 +4361,6 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expand-range@^1.8.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" - dependencies: - fill-range "^2.1.0" - expand-tilde@^2.0.0, expand-tilde@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" @@ -4427,12 +4438,6 @@ external-editor@^2.0.4: iconv-lite "^0.4.17" tmp "^0.0.33" -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -4468,6 +4473,18 @@ fast-deep-equal@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" +fast-glob@^2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.6.tgz#a5d5b697ec8deda468d85a74035290a025a95295" + integrity sha512-0BvMaZc1k9F+MeWWMe8pL6YltFzZYcJsYU7D4JyDA6PAczaXvxqQQ/z+mDF7/4Mw01DeUc+i3CTKajnkANkV4w== + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + fast-json-stable-stringify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" @@ -4482,9 +4499,10 @@ faye-websocket@^0.10.0: dependencies: websocket-driver ">=0.5.1" -faye-websocket@~0.11.0: +faye-websocket@~0.11.1: version "0.11.1" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38" + integrity sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg= dependencies: websocket-driver ">=0.5.1" @@ -4563,12 +4581,20 @@ file-entry-cache@^2.0.0: flat-cache "^1.2.1" object-assign "^4.0.1" -file-loader@1.1.11: - version "1.1.11" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.11.tgz#6fe886449b0f2a936e43cabaac0cdbfb369506f8" +file-entry-cache@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-4.0.0.tgz#633567d15364aefe0b299e1e217735e8f3a9f6e8" + integrity sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA== + dependencies: + flat-cache "^2.0.1" + +file-loader@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa" + integrity sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw== dependencies: loader-utils "^1.0.2" - schema-utils "^0.4.5" + schema-utils "^1.0.0" file-type@^3.8.0: version "3.9.0" @@ -4582,10 +4608,6 @@ file-type@^6.1.0: version "6.2.0" resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - fileset@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" @@ -4594,19 +4616,10 @@ fileset@^2.0.3: glob "^7.0.3" minimatch "^3.0.3" -filesize@^3.5.11: +filesize@^3.6.1: version "3.6.1" resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - -fill-range@^2.1.0: - version "2.2.3" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" - dependencies: - is-number "^2.1.0" - isobject "^2.0.0" - randomatic "^1.1.3" - repeat-element "^1.1.2" - repeat-string "^1.5.2" + integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg== fill-range@^4.0.0: version "4.0.0" @@ -4705,6 +4718,20 @@ flat-cache@^1.2.1: graceful-fs "^4.1.2" write "^0.2.1" +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" + integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flatted@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.0.tgz#55122b6536ea496b4b44893ee2608141d10d9916" + integrity sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg== + flow-bin@0.75.0: version "0.75.0" resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.75.0.tgz#b96d1ee99d3b446a3226be66b4013224ce9df260" @@ -4739,16 +4766,10 @@ for-each@^0.3.2: dependencies: is-callable "^1.1.3" -for-in@^1.0.1, for-in@^1.0.2: +for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" - forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" @@ -4900,14 +4921,15 @@ get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - get-stdin@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" + integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== + get-stream@^2.2.0: version "2.3.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" @@ -4947,19 +4969,6 @@ git-revision-webpack-plugin@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/git-revision-webpack-plugin/-/git-revision-webpack-plugin-3.0.3.tgz#f909949d7851d1039ed530518f73f5d46594e66f" -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -4967,6 +4976,11 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" @@ -4997,11 +5011,6 @@ global-dirs@^0.1.0: dependencies: ini "^1.3.4" -global-modules-path@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/global-modules-path/-/global-modules-path-2.3.1.tgz#e541f4c800a1a8514a990477b267ac67525b9931" - integrity sha512-y+shkf4InI7mPRHSo2b/k6ix6+NLDtyccYv86whhxrSGX9wjPX1VMITmrDbE1eh7zkzhiWtW2sHklJYoQ62Cxg== - global-modules@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" @@ -5010,6 +5019,13 @@ global-modules@^1.0.0: is-windows "^1.0.1" resolve-dir "^1.0.0" +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + global-prefix@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" @@ -5020,6 +5036,15 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + global@^4.3.0, global@~4.3.0: version "4.3.2" resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" @@ -5061,7 +5086,7 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" -globby@^7.0.0, globby@^7.1.1: +globby@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" dependencies: @@ -5072,13 +5097,27 @@ globby@^7.0.0, globby@^7.1.1: pify "^3.0.0" slash "^1.0.0" +globby@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-9.0.0.tgz#3800df736dc711266df39b4ce33fe0d481f94c23" + integrity sha512-q0qiO/p1w/yJ0hk8V9x1UXlgsXUxlGd0AHUOXZVXBO6aznDtpx7M8D1kBrCAItoPm+4l8r6ATXV1JpjY2SBQOw== + dependencies: + array-union "^1.0.2" + dir-glob "^2.2.1" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + globjoin@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/globjoin/-/globjoin-0.1.4.tgz#2f4494ac8919e3767c5cbb691e9f463324285d43" -gonzales-pe@^4.0.3: +gonzales-pe@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/gonzales-pe/-/gonzales-pe-4.2.3.tgz#41091703625433285e0aee3aa47829fc1fbeb6f2" + integrity sha512-Kjhohco0esHQnOiqqdJeNz/5fyPkOMD/d6XVjwTAoPGUFh0mCollPUTUTa2OZy4dYNAqlPIQdTiNzJTWdd9Htw== dependencies: minimist "1.1.x" @@ -5118,16 +5157,18 @@ growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" -gzip-size@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-4.1.0.tgz#8ae096257eabe7d69c45be2b67c448124ffb517c" +gzip-size@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.0.0.tgz#a55ecd99222f4c48fd8c01c625ce3b349d0a0e80" + integrity sha512-5iI7omclyqrnWw4XbXAmGhPsABkSIDQonv2K0h61lybgofWa6iZyvrI3r2zsJH4P8Nb64fFVzlvfhs0g7BBxAA== dependencies: duplexer "^0.1.1" pify "^3.0.0" -handle-thing@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" +handle-thing@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" + integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== handlebars@^4.0.11: version "4.0.12" @@ -5164,10 +5205,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - has-flag@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" @@ -5311,6 +5348,11 @@ homedir-polyfill@^1.0.1: dependencies: parse-passwd "^1.0.0" +hoopy@^0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" + integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== + hosted-git-info@^2.1.4: version "2.5.0" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" @@ -5362,16 +5404,17 @@ html-webpack-plugin@^3.2.0: toposort "^1.0.0" util.promisify "1.0.0" -htmlparser2@^3.9.2: - version "3.9.2" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" +htmlparser2@^3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.0.tgz#5f5e422dcf6119c0d983ed36260ce9ded0bee464" + integrity sha512-J1nEUGv+MkXS0weHNWVKJJ+UrLfePxRWpN3C9bEi9fLxL2+ggW94DQvgYVXsaT30PGwYRIZKNZXuyMhp3Di4bQ== dependencies: domelementtype "^1.3.0" domhandler "^2.3.0" domutils "^1.5.1" entities "^1.1.1" inherits "^2.0.1" - readable-stream "^2.0.2" + readable-stream "^3.0.6" htmlparser2@~3.3.0: version "3.3.0" @@ -5473,16 +5516,32 @@ ignore@^3.3.5: version "3.3.7" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" +ignore@^4.0.3: + version "4.0.6" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.0.4: + version "5.0.5" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.0.5.tgz#c663c548d6ce186fb33616a8ccb5d46e56bdbbf9" + integrity sha512-kOC8IUb8HSDMVcYrDVezCxpJkzSQWTAzf3olpKM6o9rM5zpojx23O0Fl8Wr4+qJ6ZbPEHqf1fdwev/DS7v7pmA== + immutable@^3.8.1: version "3.8.2" resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" -import-local@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= dependencies: - pkg-dir "^2.0.0" - resolve-cwd "^2.0.0" + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-lazy@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-3.1.0.tgz#891279202c8a2280fdbd6674dbd8da1a1dfc67cc" + integrity sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ== import-local@^2.0.0: version "2.0.0" @@ -5530,7 +5589,7 @@ inherits@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" -ini@^1.3.4, ini@~1.3.0: +ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" @@ -5553,11 +5612,13 @@ inquirer@^3.0.6: strip-ansi "^4.0.0" through "^2.3.6" -internal-ip@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-1.2.0.tgz#ae9fbf93b984878785d50a8de1b356956058cf5c" +internal-ip@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-3.0.1.tgz#df5c99876e1d2eb2ea2d74f520e3f669a00ece27" + integrity sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q== dependencies: - meow "^3.3.0" + default-gateway "^2.6.0" + ipaddr.js "^1.5.2" interpret@^1.1.0: version "1.2.0" @@ -5585,6 +5646,11 @@ invert-kv@^2.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" @@ -5593,6 +5659,11 @@ ipaddr.js@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" +ipaddr.js@^1.5.2: + version "1.8.1" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.1.tgz#fa4b79fa47fd3def5e3b159825161c0a519c9427" + integrity sha1-+kt5+kf9Pe9eOxWYJRYcClGclCc= + is-accessor-descriptor@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" @@ -5630,10 +5701,15 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-buffer@^1.1.4, is-buffer@^1.1.5: +is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" +is-buffer@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.3.tgz#4ecf3fcf749cbd1e472689e109ac66261a25e725" + integrity sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw== + is-builtin-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" @@ -5700,16 +5776,6 @@ is-directory@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -5720,10 +5786,6 @@ is-extendable@^1.0.1: dependencies: is-plain-object "^2.0.4" -is-extglob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" - is-extglob@^2.1.0, is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -5753,12 +5815,6 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.0.0.tgz#038c31b774709641bda678b1f06a4e3227c10b3e" integrity sha512-elzyIdM7iKoFHzcrndIqjYomImhxrFRnGP3galODoII4TB9gI7mZ+FnlLQmmjf27SxHS2gKEeyhX5/+YRS6H9g== -is-glob@^2.0.0, is-glob@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" - dependencies: - is-extglob "^1.0.0" - is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" @@ -5791,12 +5847,6 @@ is-natural-number@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" -is-number@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - dependencies: - kind-of "^3.0.2" - is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -5847,14 +5897,6 @@ is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - is-promise@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" @@ -6403,10 +6445,6 @@ jest@^24.0.0: import-local "^2.0.0" jest-cli "^24.0.0" -js-base64@^2.1.9: - version "2.3.2" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.3.2.tgz#a79a923666372b580f8e27f51845c6f7e8fbfbaf" - js-levenshtein@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" @@ -6628,9 +6666,10 @@ kleur@^3.0.0: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.1.tgz#4f5b313f5fa315432a400f19a24db78d451ede62" integrity sha512-P3kRv+B+Ra070ng2VKQqW4qW7gd/v3iD8sy/zOdcYRsfiD+QBokQNOps/AfP6Hr48cBhIIBFWckB9aO+IZhrWg== -known-css-properties@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.5.0.tgz#6ff66943ed4a5b55657ee095779a91f4536f8084" +known-css-properties@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.11.0.tgz#0da784f115ea77c76b81536d7052e90ee6c86a8a" + integrity sha512-bEZlJzXo5V/ApNNa5z375mJC6Nrz4vG43UgcSCrg2OHC+yuB6j0iDSrY7RQ/+PRofFB03wNIIt9iXIVLr4wc7w== lazy-ass@1.6.0: version "1.6.0" @@ -6665,11 +6704,6 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -lightercollective@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lightercollective/-/lightercollective-0.1.0.tgz#70df102c530dcb8d0ccabfe6175a8d00d5f61300" - integrity sha512-J9tg5uraYoQKaWbmrzDDexbG6hHnMcWS1qLYgJSWE+mpA3U5OCSeMUhb+K55otgZJ34oFdR0ECvdIb3xuO5JOQ== - listr-silent-renderer@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e" @@ -6846,7 +6880,7 @@ lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" -lodash@4.17.11, lodash@^4.17.10, lodash@^4.17.4: +lodash@4.17.11, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -6859,7 +6893,7 @@ lodash@^4.17.5: version "4.17.5" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511" -log-symbols@2.2.0, log-symbols@^2.0.0, log-symbols@^2.1.0: +log-symbols@2.2.0, log-symbols@^2.0.0, log-symbols@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" dependencies: @@ -6882,13 +6916,6 @@ loglevel@^1.4.1: version "1.6.1" resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa" -loglevelnext@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/loglevelnext/-/loglevelnext-1.0.5.tgz#36fc4f5996d6640f539ff203ba819641680d75a2" - dependencies: - es6-symbol "^3.1.1" - object.assign "^4.1.0" - long@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" @@ -6909,7 +6936,7 @@ loose-envify@^1.4.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" -loud-rejection@^1.0.0, loud-rejection@^1.6.0: +loud-rejection@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" dependencies: @@ -6962,7 +6989,7 @@ map-cache@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" -map-obj@^1.0.0, map-obj@^1.0.1: +map-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -7040,34 +7067,20 @@ memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" -meow@^3.3.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -meow@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" +meow@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" + integrity sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig== dependencies: camelcase-keys "^4.0.0" decamelize-keys "^1.0.0" loud-rejection "^1.0.0" - minimist "^1.1.3" minimist-options "^3.0.1" normalize-package-data "^2.3.4" read-pkg-up "^3.0.0" redent "^2.0.0" trim-newlines "^2.0.0" + yargs-parser "^10.0.0" merge-descriptors@1.0.1: version "1.0.1" @@ -7079,6 +7092,11 @@ merge-stream@^1.0.1: dependencies: readable-stream "^2.0.1" +merge2@^1.2.3: + version "1.2.3" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" + integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== + merge@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" @@ -7087,24 +7105,6 @@ methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" -micromatch@^2.3.11: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, micromatch@^3.1.9: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" @@ -7164,9 +7164,10 @@ mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" -mime@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369" +mime@^2.3.1: + version "2.4.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.0.tgz#e051fd881358585f3279df333fe694da0bcffdd6" + integrity sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w== mimic-fn@^1.0.0: version "1.1.0" @@ -7213,7 +7214,7 @@ minimist@1.1.x: version "1.1.3" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.1.3.tgz#3bedfd91a92d39016fcfaa1c681e8faa1a1efda8" -minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: +minimist@1.2.0, minimist@^1.1.1, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -7411,10 +7412,6 @@ neo-async@^2.5.0: version "2.5.1" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.1.tgz#acb909e327b1e87ec9ef15f41b8a269512ad41ee" -next-tick@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - nice-try@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.4.tgz#d93962f6c52f2c1558c0fbda6d512819f1efe1c4" @@ -7525,7 +7522,7 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-path@^2.0.1, normalize-path@^2.1.1: +normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: @@ -7670,13 +7667,6 @@ object.getownpropertydescriptors@^2.0.3: define-properties "^1.1.2" es-abstract "^1.5.1" -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -7689,7 +7679,7 @@ oboe@2.1.3: dependencies: http-https "^1.0.0" -obuf@^1.0.0, obuf@^1.1.1: +obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -7720,9 +7710,10 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" -opener@^1.4.3: +opener@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.1.tgz#6d2f0e77f1a0af0032aca716c2c1fbb8e7e8abed" + integrity sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA== opn@^5.1.0: version "5.3.0" @@ -7758,11 +7749,12 @@ ora@^0.2.3: cli-spinners "^0.1.2" object-assign "^4.0.1" -original@>=0.0.5: - version "1.0.1" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190" +original@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" + integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== dependencies: - url-parse "~1.4.0" + url-parse "^1.4.3" os-browserify@^0.3.0: version "0.3.0" @@ -7923,14 +7915,17 @@ parse-entities@^1.0.2: is-decimal "^1.0.0" is-hexadecimal "^1.0.0" -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" +parse-entities@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.0.tgz#9deac087661b2e36814153cb78d7e54a4c5fd6f4" + integrity sha512-XXtDdOPLSB0sHecbEapQi6/58U/ODj/KWfIXmmMCJF/eRn8laX6LZbOyioMoETOOJoWRW8/qTSl5VQkUIfKM5g== dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" parse-headers@^2.0.0: version "2.0.1" @@ -7945,12 +7940,6 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" -parse-json@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-3.0.0.tgz#fa6f47b18e23826ead32f263e744d0e1e847fb13" - dependencies: - error-ex "^1.3.1" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -8076,6 +8065,11 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +pify@^4.0.0, pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + pinkie-promise@^2.0.0, pinkie-promise@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" @@ -8164,55 +8158,74 @@ posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" -postcss-html@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/postcss-html/-/postcss-html-0.12.0.tgz#39b6adb4005dfc5464df7999c0f81c95bced7e50" +postcss-html@^0.36.0: + version "0.36.0" + resolved "https://registry.yarnpkg.com/postcss-html/-/postcss-html-0.36.0.tgz#b40913f94eaacc2453fd30a1327ad6ee1f88b204" + integrity sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw== dependencies: - htmlparser2 "^3.9.2" - remark "^8.0.0" - unist-util-find-all-after "^1.0.1" + htmlparser2 "^3.10.0" -postcss-less@^1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-1.1.5.tgz#a6f0ce180cf3797eeee1d4adc0e9e6d6db665609" +postcss-jsx@^0.36.0: + version "0.36.0" + resolved "https://registry.yarnpkg.com/postcss-jsx/-/postcss-jsx-0.36.0.tgz#b7685ed3d070a175ef0aa48f83d9015bd772c82d" + integrity sha512-/lWOSXSX5jlITCKFkuYU2WLFdrncZmjSVyNpHAunEgirZXLwI8RjU556e3Uz4mv0WVHnJA9d3JWb36lK9Yx99g== + dependencies: + "@babel/core" ">=7.1.0" + +postcss-less@^3.1.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/postcss-less/-/postcss-less-3.1.2.tgz#fb67e7ba351dbdf69de3c52eebd1184c52bfaea6" + integrity sha512-66ZBVo1JGkQ7r13M97xcHcyarWpgg21RaqIZWZXHE3XOtb5+ywK1uZWeY1DYkYRkIX/l8Hvxnx9iSKB68nFr+w== dependencies: - postcss "^5.2.16" + postcss "^7.0.14" + +postcss-markdown@^0.36.0: + version "0.36.0" + resolved "https://registry.yarnpkg.com/postcss-markdown/-/postcss-markdown-0.36.0.tgz#7f22849ae0e3db18820b7b0d5e7833f13a447560" + integrity sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ== + dependencies: + remark "^10.0.1" + unist-util-find-all-after "^1.0.2" postcss-media-query-parser@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244" -postcss-reporter@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-5.0.0.tgz#a14177fd1342829d291653f2786efd67110332c3" +postcss-reporter@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-6.0.1.tgz#7c055120060a97c8837b4e48215661aafb74245f" + integrity sha512-LpmQjfRWyabc+fRygxZjpRxfhRf9u/fdlKf4VHG4TSPbV2XNsuISzYW1KL+1aQzx53CAppa1bKG4APIB/DOXXw== dependencies: - chalk "^2.0.1" - lodash "^4.17.4" - log-symbols "^2.0.0" - postcss "^6.0.8" + chalk "^2.4.1" + lodash "^4.17.11" + log-symbols "^2.2.0" + postcss "^7.0.7" postcss-resolve-nested-selector@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz#29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e" -postcss-safe-parser@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-3.0.1.tgz#b753eff6c7c0aea5e8375fbe4cde8bf9063ff142" +postcss-safe-parser@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" + integrity sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ== dependencies: - postcss "^6.0.6" + postcss "^7.0.0" -postcss-sass@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.2.0.tgz#e55516441e9526ba4b380a730d3a02e9eaa78c7a" +postcss-sass@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/postcss-sass/-/postcss-sass-0.3.5.tgz#6d3e39f101a53d2efa091f953493116d32beb68c" + integrity sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A== dependencies: - gonzales-pe "^4.0.3" - postcss "^6.0.6" + gonzales-pe "^4.2.3" + postcss "^7.0.1" -postcss-scss@^1.0.2: - version "1.0.6" - resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-1.0.6.tgz#ab903f3bb20161bc177896462293a53d4bff5f7a" +postcss-scss@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-scss/-/postcss-scss-2.0.0.tgz#248b0a28af77ea7b32b1011aba0f738bda27dea1" + integrity sha512-um9zdGKaDZirMm+kZFKKVsnKPF7zF7qBAtIfTSnZXD1jZ0JNZIxdB6TxQOjCnlSzLRInVl2v3YdBh/M881C4ug== dependencies: - postcss "^6.0.23" + postcss "^7.0.0" postcss-selector-parser@^3.1.0: version "3.1.1" @@ -8222,20 +8235,21 @@ postcss-selector-parser@^3.1.0: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: +postcss-syntax@^0.36.2: + version "0.36.2" + resolved "https://registry.yarnpkg.com/postcss-syntax/-/postcss-syntax-0.36.2.tgz#f08578c7d95834574e5593a82dfbfa8afae3b51c" + integrity sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w== + +postcss-value-parser@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" -postcss@^5.2.16: - version "5.2.18" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" - dependencies: - chalk "^1.1.3" - js-base64 "^2.1.9" - source-map "^0.5.6" - supports-color "^3.2.3" +postcss-value-parser@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss@^6.0.14, postcss@^6.0.17, postcss@^6.0.23, postcss@^6.0.6, postcss@^6.0.8: +postcss@^6.0.14: version "6.0.23" resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" dependencies: @@ -8243,6 +8257,15 @@ postcss@^6.0.14, postcss@^6.0.17, postcss@^6.0.23, postcss@^6.0.6, postcss@^6.0. source-map "^0.6.1" supports-color "^5.4.0" +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.7: + version "7.0.14" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" + integrity sha512-NsbD6XUUMZvBxtQAJuWDJeeC4QFsmWsfozWxCJPWf3M55K9iu2iMDaKqyoOdTJ1R4usBXuxlVFAIo8rZPQD4Bg== + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" @@ -8251,10 +8274,6 @@ prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - pretty-error@^2.0.2: version "2.1.1" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" @@ -8483,13 +8502,6 @@ ramda@^0.25.0: version "0.25.0" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.25.0.tgz#8fdf68231cffa90bc2f9460390a0cb74a29b29a9" -randomatic@^1.1.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: version "2.0.6" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" @@ -8859,7 +8871,7 @@ readable-stream@1.0: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.1, readable-stream@^2.2.9, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: +readable-stream@^2.0.1, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" dependencies: @@ -8883,6 +8895,15 @@ readable-stream@^2.0.2, readable-stream@^2.0.6: string_decoder "~1.0.3" util-deprecate "~1.0.1" +readable-stream@^3.0.6: + version "3.1.1" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.1.1.tgz#ed6bbc6c5ba58b090039ff18ce670515795aeb06" + integrity sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -8914,13 +8935,6 @@ redbox-react@^1.6.0: prop-types "^15.5.4" sourcemapped-stacktrace "^1.1.6" -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - redent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" @@ -8992,12 +9006,6 @@ regenerator-transform@^0.13.3: dependencies: private "^0.1.6" -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - dependencies: - is-equal-shallow "^0.1.3" - regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -9064,9 +9072,10 @@ relateurl@0.2.x: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" -remark-parse@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-4.0.0.tgz#99f1f049afac80382366e2e0d0bd55429dd45d8b" +remark-parse@^6.0.0: + version "6.0.3" + resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a" + integrity sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg== dependencies: collapse-white-space "^1.0.2" is-alphabetical "^1.0.0" @@ -9074,7 +9083,7 @@ remark-parse@^4.0.0: is-whitespace-character "^1.0.0" is-word-character "^1.0.0" markdown-escapes "^1.0.0" - parse-entities "^1.0.2" + parse-entities "^1.1.0" repeat-string "^1.5.4" state-toggle "^1.0.0" trim "0.0.1" @@ -9084,9 +9093,10 @@ remark-parse@^4.0.0: vfile-location "^2.0.0" xtend "^4.0.1" -remark-stringify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-4.0.0.tgz#4431884c0418f112da44991b4e356cfe37facd87" +remark-stringify@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-6.0.4.tgz#16ac229d4d1593249018663c7bddf28aafc4e088" + integrity sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg== dependencies: ccount "^1.0.0" is-alphanumeric "^1.0.0" @@ -9103,13 +9113,14 @@ remark-stringify@^4.0.0: unherit "^1.0.4" xtend "^4.0.1" -remark@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/remark/-/remark-8.0.0.tgz#287b6df2fe1190e263c1d15e486d3fa835594d6d" +remark@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/remark/-/remark-10.0.1.tgz#3058076dc41781bf505d8978c291485fe47667df" + integrity sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ== dependencies: - remark-parse "^4.0.0" - remark-stringify "^4.0.0" - unified "^6.0.0" + remark-parse "^6.0.0" + remark-stringify "^6.0.0" + unified "^7.0.0" remove-trailing-separator@^1.0.1: version "1.1.0" @@ -9129,7 +9140,7 @@ repeat-element@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" -repeat-string@^1.5.2, repeat-string@^1.5.4, repeat-string@^1.6.1: +repeat-string@^1.5.4, repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" @@ -9218,10 +9229,6 @@ require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" -require-from-string@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" @@ -9317,7 +9324,7 @@ rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.2: dependencies: glob "^7.0.5" -rimraf@^2.6.1: +rimraf@2.6.3, rimraf@^2.6.1: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== @@ -9428,7 +9435,7 @@ scheduler@^0.11.2: loose-envify "^1.1.0" object-assign "^4.1.1" -schema-utils@^0.4.4, schema-utils@^0.4.5: +schema-utils@^0.4.4: version "0.4.5" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e" dependencies: @@ -9509,7 +9516,7 @@ semver@^5.4.1, semver@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" -semver@^5.5.1: +semver@^5.5.1, semver@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== @@ -9696,6 +9703,15 @@ slice-ansi@1.0.0: dependencies: is-fullwidth-code-point "^2.0.0" +slice-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" + integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -9723,16 +9739,17 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -sockjs-client@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12" +sockjs-client@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.3.0.tgz#12fc9d6cb663da5739d3dc5fb6e8687da95cb177" + integrity sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg== dependencies: - debug "^2.6.6" - eventsource "0.1.6" - faye-websocket "~0.11.0" - inherits "^2.0.1" + debug "^3.2.5" + eventsource "^1.0.7" + faye-websocket "~0.11.1" + inherits "^2.0.3" json3 "^3.3.2" - url-parse "^1.1.8" + url-parse "^1.4.3" sockjs@0.3.19: version "0.3.19" @@ -9817,32 +9834,33 @@ spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" -spdy-transport@^2.0.18: - version "2.1.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.1.0.tgz#4bbb15aaffed0beefdd56ad61dbdc8ba3e2cb7a1" +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== dependencies: - debug "^2.6.8" - detect-node "^2.0.3" + debug "^4.1.0" + detect-node "^2.0.4" hpack.js "^2.1.6" - obuf "^1.1.1" - readable-stream "^2.2.9" - safe-buffer "^5.0.1" - wbuf "^1.7.2" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" -spdy@^3.4.1: - version "3.4.7" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-3.4.7.tgz#42ff41ece5cc0f99a3a6c28aabb73f5c3b03acbc" +spdy@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.0.tgz#81f222b5a743a329aa12cea6a390e60e9b613c52" + integrity sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q== dependencies: - debug "^2.6.8" - handle-thing "^1.2.5" + debug "^4.1.0" + handle-thing "^2.0.0" http-deceiver "^1.2.7" - safe-buffer "^5.0.1" select-hose "^2.0.0" - spdy-transport "^2.0.18" + spdy-transport "^3.0.0" -specificity@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.3.2.tgz#99e6511eceef0f8d9b57924937aac2cb13d13c42" +specificity@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019" + integrity sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg== split-string@^3.0.1, split-string@^3.0.2: version "3.1.0" @@ -9988,6 +10006,15 @@ string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: is-fullwidth-code-point "^2.0.0" strip-ansi "^4.0.0" +string-width@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.0.0.tgz#5a1690a57cc78211fffd9bf24bbe24d090604eb1" + integrity sha512-rr8CUxBbvOZDUvc5lNIJ+OC1nPVpz+Siw9VBtUjB9b6jZehZLFt0JMCZzShFHIsI8cbhm0EsNIfWJMFV3cu3Ew== + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.0.0" + string.prototype.padend@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.0.0.tgz#f3aaef7c1719f170c5eab1c32bf780d96e21f2f0" @@ -10002,6 +10029,13 @@ string_decoder@^1.0.0, string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" +string_decoder@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.2.0.tgz#fe86e738b19544afe70469243b2a1ee9240eae8d" + integrity sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w== + dependencies: + safe-buffer "~5.1.0" + string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" @@ -10066,12 +10100,6 @@ strip-hex-prefix@1.0.0: dependencies: is-hex-prefixed "1.0.0" -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - dependencies: - get-stdin "^4.0.1" - strip-indent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" @@ -10117,9 +10145,10 @@ stylelint-config-styled-components@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/stylelint-config-styled-components/-/stylelint-config-styled-components-0.1.1.tgz#b408388d7c687833ab4be4c4e6522d97d2827ede" -stylelint-custom-processor-loader@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/stylelint-custom-processor-loader/-/stylelint-custom-processor-loader-0.5.0.tgz#304d13e0c995b9f8a68da1a8d899700e2deacad8" +stylelint-custom-processor-loader@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/stylelint-custom-processor-loader/-/stylelint-custom-processor-loader-0.6.0.tgz#57b70095e9999252967ff8aa2ec185cbbfbe3cba" + integrity sha512-vwab7dHm0/GfKumFMrX9lXEjN+Re+MZSdWstA5ORwKI0XjZ3pLKtSdR6jwNLZNcdzQMu4qaFwhC7YLiPVmvA8w== dependencies: loader-utils "~1.1.0" @@ -10140,49 +10169,58 @@ stylelint-webpack-plugin@^0.10.5: object-assign "^4.1.0" ramda "^0.25.0" -stylelint@^8.0.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-8.4.0.tgz#c2dbaeb17236917819f9206e1c0df5fddf6f83c3" +stylelint@^9.10.1: + version "9.10.1" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-9.10.1.tgz#5f0ee3701461dff1d68284e1386efe8f0677a75d" + integrity sha512-9UiHxZhOAHEgeQ7oLGwrwoDR8vclBKlSX7r4fH0iuu0SfPwFaLkb1c7Q2j1cqg9P7IDXeAV2TvQML/fRQzGBBQ== dependencies: - autoprefixer "^7.1.2" + autoprefixer "^9.0.0" balanced-match "^1.0.0" - chalk "^2.0.1" - cosmiconfig "^3.1.0" - debug "^3.0.0" + chalk "^2.4.1" + cosmiconfig "^5.0.0" + debug "^4.0.0" execall "^1.0.0" - file-entry-cache "^2.0.0" - get-stdin "^5.0.1" - globby "^7.0.0" + file-entry-cache "^4.0.0" + get-stdin "^6.0.0" + global-modules "^2.0.0" + globby "^9.0.0" globjoin "^0.1.4" html-tags "^2.0.0" - ignore "^3.3.3" + ignore "^5.0.4" + import-lazy "^3.1.0" imurmurhash "^0.1.4" - known-css-properties "^0.5.0" + known-css-properties "^0.11.0" + leven "^2.1.0" lodash "^4.17.4" log-symbols "^2.0.0" mathml-tag-names "^2.0.1" - meow "^4.0.0" - micromatch "^2.3.11" + meow "^5.0.0" + micromatch "^3.1.10" normalize-selector "^0.2.0" - pify "^3.0.0" - postcss "^6.0.6" - postcss-html "^0.12.0" - postcss-less "^1.1.0" + pify "^4.0.0" + postcss "^7.0.13" + postcss-html "^0.36.0" + postcss-jsx "^0.36.0" + postcss-less "^3.1.0" + postcss-markdown "^0.36.0" postcss-media-query-parser "^0.2.3" - postcss-reporter "^5.0.0" + postcss-reporter "^6.0.0" postcss-resolve-nested-selector "^0.1.1" - postcss-safe-parser "^3.0.1" - postcss-sass "^0.2.0" - postcss-scss "^1.0.2" + postcss-safe-parser "^4.0.0" + postcss-sass "^0.3.5" + postcss-scss "^2.0.0" postcss-selector-parser "^3.1.0" + postcss-syntax "^0.36.2" postcss-value-parser "^3.3.0" resolve-from "^4.0.0" - specificity "^0.3.1" - string-width "^2.1.0" + signal-exit "^3.0.2" + slash "^2.0.0" + specificity "^0.4.1" + string-width "^3.0.0" style-search "^0.1.0" - sugarss "^1.0.0" + sugarss "^2.0.0" svg-tags "^1.0.0" - table "^4.0.1" + table "^5.0.0" stylis-rule-sheet@^0.0.10: version "0.0.10" @@ -10192,11 +10230,12 @@ stylis@^3.5.0: version "3.5.3" resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.3.tgz#99fdc46afba6af4deff570825994181a5e6ce546" -sugarss@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-1.0.1.tgz#be826d9003e0f247735f92365dc3fd7f1bae9e44" +sugarss@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sugarss/-/sugarss-2.0.0.tgz#ddd76e0124b297d40bf3cca31c8b22ecb43bc61d" + integrity sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ== dependencies: - postcss "^6.0.14" + postcss "^7.0.2" supports-color@5.1.0: version "5.1.0" @@ -10209,18 +10248,6 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -supports-color@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - dependencies: - has-flag "^1.0.0" - -supports-color@^4.0.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" - dependencies: - has-flag "^2.0.0" - supports-color@^5.1.0, supports-color@^5.4.0: version "5.4.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" @@ -10293,15 +10320,14 @@ table@4.0.2: slice-ansi "1.0.0" string-width "^2.1.1" -table@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc" +table@^5.0.0: + version "5.2.2" + resolved "https://registry.yarnpkg.com/table/-/table-5.2.2.tgz#61d474c9e4d8f4f7062c98c7504acb3c08aa738f" + integrity sha512-f8mJmuu9beQEDkKHLzOv4VxVYlU68NpdzjbGPl69i4Hx0sTopJuNxuzJd17iV2h24dAfa93u794OnDA5jqXvfQ== dependencies: - ajv "^6.0.1" - ajv-keywords "^3.0.0" - chalk "^2.1.0" - lodash "^4.17.4" - slice-ansi "1.0.0" + ajv "^6.6.1" + lodash "^4.17.11" + slice-ansi "^2.0.0" string-width "^2.1.1" tapable@^1.0.0: @@ -10546,10 +10572,6 @@ trezor-connect@7.0.0-beta.2: events "^1.1.1" whatwg-fetch "^2.0.4" -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - trim-newlines@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" @@ -10691,15 +10713,18 @@ unicode-property-aliases-ecmascript@^1.0.4: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0" integrity sha512-2WSLa6OdYd2ng8oqiGIWnJqyFArvhn+5vgx5GTxMbUYjCYKUcuKS62YLFF0R/BDGlB1yzXjQOLtPAfHsgirEpg== -unified@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba" +unified@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/unified/-/unified-7.1.0.tgz#5032f1c1ee3364bd09da12e27fdd4a7553c7be13" + integrity sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw== dependencies: + "@types/unist" "^2.0.0" + "@types/vfile" "^3.0.0" bail "^1.0.0" extend "^3.0.0" is-plain-obj "^1.1.0" trough "^1.0.0" - vfile "^2.0.0" + vfile "^3.0.0" x-is-string "^0.1.0" union-value@^1.0.0: @@ -10734,9 +10759,10 @@ unique-slug@^2.0.0: dependencies: imurmurhash "^0.1.4" -unist-util-find-all-after@^1.0.1: +unist-util-find-all-after@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/unist-util-find-all-after/-/unist-util-find-all-after-1.0.2.tgz#9be49cfbae5ca1566b27536670a92836bf2f8d6d" + integrity sha512-nDl79mKpffXojLpCimVXnxhlH/jjaTnDuScznU9J4jjsaUtBdDbxmlc109XtcqxY4SDO0SwzngsxxW8DIISt1w== dependencies: unist-util-is "^2.0.0" @@ -10796,9 +10822,10 @@ upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" -uri-js@^4.2.1: +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" @@ -10806,19 +10833,16 @@ urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" -url-join@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.0.tgz#4d3340e807d3773bda9991f8305acdcc2a665d2a" - url-parse-lax@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" dependencies: prepend-http "^1.0.1" -url-parse@^1.1.8, url-parse@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.0.tgz#6bfdaad60098c7fe06f623e42b22de62de0d3d75" +url-parse@^1.4.3: + version "1.4.4" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" + integrity sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg== dependencies: querystringify "^2.0.0" requires-port "^1.0.0" @@ -10848,7 +10872,7 @@ utf8@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.1.tgz#2e01db02f7d8d0944f77104f1609eb0c304cf768" -util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -10940,11 +10964,12 @@ vfile-message@^1.0.0: dependencies: unist-util-stringify-position "^1.1.1" -vfile@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a" +vfile@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-3.0.1.tgz#47331d2abe3282424f4a4bb6acd20a44c4121803" + integrity sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ== dependencies: - is-buffer "^1.1.4" + is-buffer "^2.0.0" replace-ext "1.0.0" unist-util-stringify-position "^1.0.0" vfile-message "^1.0.0" @@ -11001,7 +11026,7 @@ watchpack@^1.5.0: graceful-fs "^4.1.2" neo-async "^2.5.0" -wbuf@^1.1.0, wbuf@^1.7.2: +wbuf@^1.1.0, wbuf@^1.7.3: version "1.7.3" resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" dependencies: @@ -11206,68 +11231,66 @@ webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" -webpack-build-notifier@^0.1.29: - version "0.1.29" - resolved "https://registry.yarnpkg.com/webpack-build-notifier/-/webpack-build-notifier-0.1.29.tgz#d71f89bb94346c6b748e07aa3d117d2beb0a151f" +webpack-build-notifier@^0.1.30: + version "0.1.30" + resolved "https://registry.yarnpkg.com/webpack-build-notifier/-/webpack-build-notifier-0.1.30.tgz#837e9002d13c1d76bdf954ccafe0b824b38bb789" + integrity sha512-HeZ4Wr8XP7W0kSmPQkZCXARQVIjVFNPyJBdUqkqcE0ySYNjr6vOH3ufHESLPuy5KmMRUjHJdqJ6y3McDfCjJxQ== dependencies: ansi-regex "^2.0.0" node-notifier "5.2.1" strip-ansi "^3.0.1" -webpack-bundle-analyzer@^2.13.1: - version "2.13.1" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz#07d2176c6e86c3cdce4c23e56fae2a7b6b4ad526" +webpack-bundle-analyzer@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.0.3.tgz#dbc7fff8f52058b6714a20fddf309d0790e3e0a0" + integrity sha512-naLWiRfmtH4UJgtUktRTLw6FdoZJ2RvCR9ePbwM9aRMsS/KjFerkPZG9epEvXRAw5d5oPdrs9+3p+afNjxW8Xw== dependencies: - acorn "^5.3.0" - bfj-node4 "^5.2.0" - chalk "^2.3.0" - commander "^2.13.0" - ejs "^2.5.7" - express "^4.16.2" - filesize "^3.5.11" - gzip-size "^4.1.0" - lodash "^4.17.4" + acorn "^5.7.3" + bfj "^6.1.1" + chalk "^2.4.1" + commander "^2.18.0" + ejs "^2.6.1" + express "^4.16.3" + filesize "^3.6.1" + gzip-size "^5.0.0" + lodash "^4.17.10" mkdirp "^0.5.1" - opener "^1.4.3" - ws "^4.0.0" + opener "^1.5.1" + ws "^6.0.0" -webpack-cli@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.2.1.tgz#779c696c82482491f0803907508db2e276ed3b61" - integrity sha512-jeJveHwz/vwpJ3B8bxEL5a/rVKIpRNJDsKggfKnxuYeohNDW4Y/wB9N/XHJA093qZyS0r6mYL+/crLsIol4WKA== +webpack-cli@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.2.3.tgz#13653549adfd8ccd920ad7be1ef868bacc22e346" + integrity sha512-Ik3SjV6uJtWIAN5jp5ZuBMWEAaP5E4V78XJ2nI+paFPh8v4HPSwo/myN0r29Xc/6ZKnd2IdrAlpSgNOu2CDQ6Q== dependencies: chalk "^2.4.1" cross-spawn "^6.0.5" enhanced-resolve "^4.1.0" findup-sync "^2.0.0" global-modules "^1.0.0" - global-modules-path "^2.3.0" import-local "^2.0.0" interpret "^1.1.0" - lightercollective "^0.1.0" loader-utils "^1.1.0" supports-color "^5.5.0" v8-compile-cache "^2.0.2" yargs "^12.0.4" -webpack-dev-middleware@3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.1.3.tgz#8b32aa43da9ae79368c1bf1183f2b6cf5e1f39ed" +webpack-dev-middleware@3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz#1132fecc9026fd90f0ecedac5cbff75d1fb45890" + integrity sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA== dependencies: - loud-rejection "^1.6.0" memory-fs "~0.4.1" - mime "^2.1.0" - path-is-absolute "^1.0.0" + mime "^2.3.1" range-parser "^1.0.3" - url-join "^4.0.0" - webpack-log "^1.0.1" + webpack-log "^2.0.0" -webpack-dev-server@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.4.tgz#9a08d13c4addd1e3b6d8ace116e86715094ad5b4" +webpack-dev-server@^3.1.14: + version "3.1.14" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz#60fb229b997fc5a0a1fc6237421030180959d469" + integrity sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ== dependencies: ansi-html "0.0.7" - array-includes "^3.0.3" bonjour "^3.5.0" chokidar "^2.0.0" compression "^1.5.2" @@ -11277,32 +11300,34 @@ webpack-dev-server@^3.1.4: express "^4.16.2" html-entities "^1.2.0" http-proxy-middleware "~0.18.0" - import-local "^1.0.0" - internal-ip "1.2.0" + import-local "^2.0.0" + internal-ip "^3.0.1" ip "^1.1.5" killable "^1.0.0" loglevel "^1.4.1" opn "^5.1.0" portfinder "^1.0.9" + schema-utils "^1.0.0" selfsigned "^1.9.1" + semver "^5.6.0" serve-index "^1.7.2" sockjs "0.3.19" - sockjs-client "1.1.4" - spdy "^3.4.1" + sockjs-client "1.3.0" + spdy "^4.0.0" strip-ansi "^3.0.0" supports-color "^5.1.0" - webpack-dev-middleware "3.1.3" - webpack-log "^1.1.2" - yargs "11.0.0" + url "^0.11.0" + webpack-dev-middleware "3.4.0" + webpack-log "^2.0.0" + yargs "12.0.2" -webpack-log@^1.0.1, webpack-log@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-1.2.0.tgz#a4b34cda6b22b518dbb0ab32e567962d5c72a43d" +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" + integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== dependencies: - chalk "^2.1.0" - log-symbols "^2.1.0" - loglevelnext "^1.0.1" - uuid "^3.1.0" + ansi-colors "^3.0.0" + uuid "^3.3.2" webpack-sources@^1.1.0: version "1.1.0" @@ -11319,10 +11344,10 @@ webpack-sources@^1.3.0: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^4.29.0: - version "4.29.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.29.0.tgz#f2cfef83f7ae404ba889ff5d43efd285ca26e750" - integrity sha512-pxdGG0keDBtamE1mNvT5zyBdx+7wkh6mh7uzMOo/uRQ/fhsdj5FXkh/j5mapzs060forql1oXqXN9HJGju+y7w== +webpack@^4.29.1: + version "4.29.1" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.29.1.tgz#a6533d7bc6a6b1ed188cb029d53d231be777e175" + integrity sha512-dY3KyQIVeg6cDPj9G5Bnjy9Pt9SoCpbNWl0RDKHstbd3MWe0dG9ri4RQRpCm43iToy3zoA1IMOpFkJ8Clnc7FQ== dependencies: "@webassemblyjs/ast" "1.7.11" "@webassemblyjs/helper-module-context" "1.7.11" @@ -11412,7 +11437,7 @@ which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@^1.2.12, which@^1.3.0: +which@^1.2.12, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" dependencies: @@ -11465,6 +11490,13 @@ write-file-atomic@^2.4.2: imurmurhash "^0.1.4" signal-exit "^3.0.2" +write@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" + integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + dependencies: + mkdirp "^0.5.1" + write@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" @@ -11479,19 +11511,19 @@ ws@^3.0.0: safe-buffer "~5.1.0" ultron "~1.1.0" -ws@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289" - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ws@^5.2.0: version "5.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" dependencies: async-limiter "~1.0.0" +ws@^6.0.0: + version "6.1.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.1.3.tgz#d2d2e5f0e3c700ef2de89080ebc0ac6e1bf3a72d" + integrity sha512-tbSxiT+qJI223AP4iLfQbkbxkwdFcneYinM2+x46Gx2wgvbaOMO36czfdfVUBRTHvzAMRhDd98sA5d/BuWbQdg== + dependencies: + async-limiter "~1.0.0" + x-is-string@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" @@ -11543,6 +11575,11 @@ xmldom@0.1.x: resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= +xregexp@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" + integrity sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg== + xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -11567,6 +11604,13 @@ yallist@^3.0.0, yallist@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" +yargs-parser@^10.0.0, yargs-parser@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" + integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== + dependencies: + camelcase "^4.1.0" + yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" @@ -11598,6 +11642,24 @@ yargs@11.0.0: y18n "^3.2.1" yargs-parser "^9.0.2" +yargs@12.0.2: + version "12.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" + integrity sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ== + dependencies: + cliui "^4.0.0" + decamelize "^2.0.0" + find-up "^3.0.0" + get-caller-file "^1.0.1" + os-locale "^3.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1 || ^4.0.0" + yargs-parser "^10.1.0" + yargs@^12.0.2, yargs@^12.0.4, yargs@^12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" From b8d35f6ad7d21053e93f1dda27b4ad6772fc58e6 Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Tue, 5 Feb 2019 15:24:56 +0100 Subject: [PATCH 147/219] Removed deprecated flow webpack plugin --- package.json | 1 - webpack/dev.babel.js | 4 ---- webpack/production.babel.js | 2 -- yarn.lock | 4 ---- 4 files changed, 11 deletions(-) diff --git a/package.json b/package.json index 7c81f584..50752153 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,6 @@ "ethereumjs-units": "^0.2.0", "ethereumjs-util": "^5.2.0", "express": "^4.16.3", - "flow-webpack-plugin": "^1.2.0", "friendly-errors-webpack-plugin": "^1.7.0", "git-revision-webpack-plugin": "^3.0.3", "hdkey": "^0.8.0", diff --git a/webpack/dev.babel.js b/webpack/dev.babel.js index cd7904b4..89e45dab 100644 --- a/webpack/dev.babel.js +++ b/webpack/dev.babel.js @@ -2,7 +2,6 @@ import webpack from 'webpack'; import GitRevisionPlugin from 'git-revision-webpack-plugin'; import HtmlWebpackPlugin from 'html-webpack-plugin'; import FriendlyErrorsWebpackPlugin from 'friendly-errors-webpack-plugin'; -import FlowWebpackPlugin from 'flow-webpack-plugin'; import WebpackBuildNotifierPlugin from 'webpack-build-notifier'; // turn on for bundle analyzing @@ -106,9 +105,6 @@ module.exports = { new webpack.DefinePlugin({ COMMITHASH: JSON.stringify(gitRevisionPlugin.commithash()), }), - new FlowWebpackPlugin({ - reportingSeverity: 'warning', - }), new HtmlWebpackPlugin({ chunks: ['index'], template: `${SRC}index.html`, diff --git a/webpack/production.babel.js b/webpack/production.babel.js index e9c0f2e2..0a6bc979 100644 --- a/webpack/production.babel.js +++ b/webpack/production.babel.js @@ -1,4 +1,3 @@ - import webpack from 'webpack'; import GitRevisionPlugin from 'git-revision-webpack-plugin'; import HtmlWebpackPlugin from 'html-webpack-plugin'; @@ -6,7 +5,6 @@ import FriendlyErrorsWebpackPlugin from 'friendly-errors-webpack-plugin'; import CopyWebpackPlugin from 'copy-webpack-plugin'; import { SRC, BUILD, PUBLIC } from './constants'; - const gitRevisionPlugin = new GitRevisionPlugin(); module.exports = { diff --git a/yarn.lock b/yarn.lock index 936f483b..7e2b83ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4736,10 +4736,6 @@ flow-bin@0.75.0: version "0.75.0" resolved "https://registry.yarnpkg.com/flow-bin/-/flow-bin-0.75.0.tgz#b96d1ee99d3b446a3226be66b4013224ce9df260" -flow-webpack-plugin@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/flow-webpack-plugin/-/flow-webpack-plugin-1.2.0.tgz#1958821d16135028e391cad5ee2f3a4fa78197ec" - flush-write-stream@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.2.tgz#c81b90d8746766f1a609a46809946c45dd8ae417" From 17aa5ff1945b2bcf0c3e05a10d787d0511605b8d Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Tue, 5 Feb 2019 15:43:08 +0100 Subject: [PATCH 148/219] Upgrade eslint related packages --- package.json | 16 +- yarn.lock | 411 ++++++++++++++++++++++++--------------------------- 2 files changed, 200 insertions(+), 227 deletions(-) diff --git a/package.json b/package.json index 50752153..aaf4661f 100644 --- a/package.json +++ b/package.json @@ -95,24 +95,24 @@ "@babel/preset-flow": "^7.0.0", "@babel/preset-react": "^7.0.0", "@babel/register": "^7.0.0", - "babel-eslint": "^9.0.0", + "babel-eslint": "^10.0.1", "babel-jest": "^24.0.0", "babel-loader": "^8.0.5", "babel-plugin-module-resolver": "^3.1.3", "babel-plugin-styled-components": "^1.10.0", "cypress": "^3.1.5", "cypress-image-snapshot": "^3.0.0", - "eslint": "^4", - "eslint-config-airbnb": "^17.0.0", + "eslint": "^5.13.0", + "eslint-config-airbnb": "^17.1.0", "eslint-import-resolver-babel-module": "^5.0.1", - "eslint-loader": "^2.1.0", + "eslint-loader": "^2.1.2", "eslint-plugin-chai-friendly": "^0.4.1", "eslint-plugin-cypress": "^2.2.0", "eslint-plugin-flowtype": "^2.50.0", - "eslint-plugin-import": "^2.14.0", - "eslint-plugin-jest": "^21.18.0", - "eslint-plugin-jsx-a11y": "^6.1.1", - "eslint-plugin-react": "^7.10.0", + "eslint-plugin-import": "^2.16.0", + "eslint-plugin-jest": "^22.2.2", + "eslint-plugin-jsx-a11y": "^6.2.1", + "eslint-plugin-react": "^7.12.4", "file-loader": "3.0.1", "flow-bin": "0.75.0", "jest": "^24.0.0", diff --git a/yarn.lock b/yarn.lock index 7e2b83ef..886af5f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1280,17 +1280,12 @@ acorn-globals@^4.1.0: dependencies: acorn "^5.0.0" -acorn-jsx@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" - dependencies: - acorn "^3.0.4" - -acorn@^3.0.4: - version "3.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" +acorn-jsx@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e" + integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg== -acorn@^5.0.0, acorn@^5.5.0, acorn@^5.5.3: +acorn@^5.0.0, acorn@^5.5.3: version "5.7.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" @@ -1299,7 +1294,7 @@ acorn@^5.7.3: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== -acorn@^6.0.5: +acorn@^6.0.2, acorn@^6.0.5: version "6.0.7" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.0.7.tgz#490180ce18337270232d9488a44be83d9afb7fd3" integrity sha512-HNJNgE60C9eOTgn974Tlp3dpLZdUr+SoxxDwPaY9J/kDNOLQTkaDgwBUXAF4SSsrAwD9RpdxuHK/EbuF+W9Ahw== @@ -1315,15 +1310,11 @@ ajv-errors@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -ajv-keywords@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" - ajv-keywords@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.1.0.tgz#ac2b27939c543e95d2c06e7f7f5c27be4aa543be" -ajv@^5.1.0, ajv@^5.2.3, ajv@^5.3.0: +ajv@^5.1.0, ajv@^5.3.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" dependencies: @@ -1340,7 +1331,7 @@ ajv@^6.1.0: fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.3.0" -ajv@^6.6.1: +ajv@^6.5.3, ajv@^6.6.1: version "6.8.1" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.8.1.tgz#0890b93742985ebf8973cd365c5b23920ce3cb20" integrity sha512-eqxCp82P+JfqL683wwsL73XmFs1eG6qjw+RD3YHx+Jll1r0jNd4dh8QG9NYAeNGA/hnZjeEDgtTskgJULbxpWQ== @@ -1364,7 +1355,7 @@ ansi-escapes@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30" -ansi-escapes@^3.1.0: +ansi-escapes@^3.1.0, ansi-escapes@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== @@ -1616,13 +1607,14 @@ aws4@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" -axobject-query@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.1.tgz#05dfa705ada8ad9db993fa6896f22d395b0b0a07" +axobject-query@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.0.2.tgz#ea187abe5b9002b377f925d8bf7d1c561adf38f9" + integrity sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww== dependencies: ast-types-flow "0.0.7" -babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: +babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" dependencies: @@ -1654,10 +1646,10 @@ babel-core@^6.0.14, babel-core@^6.26.0: slash "^1.0.0" source-map "^0.5.6" -babel-eslint@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-9.0.0.tgz#7d9445f81ed9f60aff38115f838970df9f2b6220" - integrity sha512-itv1MwE3TMbY0QtNfeL7wzak1mV47Uy+n6HtSOO4Xd7rvmO+tsGQSgyOEEgo6Y2vHZKZphaoelNeSVj4vkLA1g== +babel-eslint@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.0.1.tgz#919681dc099614cd7d31d45c8908695092a1faed" + integrity sha512-z7OT1iNV+TjOwHNLLyJk+HN+YVWX+CLE6fPD2SymJZOZQBs+QIexFjhm4keGTm8MW9xr4EC9Q0PbaLB24V5GoQ== dependencies: "@babel/code-frame" "^7.0.0" "@babel/parser" "^7.0.0" @@ -2561,12 +2553,6 @@ caller-callsite@^2.0.0: dependencies: callsites "^2.0.0" -caller-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" - dependencies: - callsites "^0.2.0" - caller-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" @@ -2574,10 +2560,6 @@ caller-path@^2.0.0: dependencies: caller-callsite "^2.0.0" -callsites@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" - callsites@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" @@ -2691,9 +2673,10 @@ character-reference-invalid@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.2.tgz#21e421ad3d84055952dab4a43a04e73cd425d3ed" -chardet@^0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" + integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== check-more-types@2.24.0: version "2.24.0" @@ -2998,15 +2981,6 @@ concat-stream@1.6.0, concat-stream@^1.5.0: readable-stream "^2.2.2" typedarray "^0.0.6" -concat-stream@^1.6.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - connect-history-api-fallback@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" @@ -3190,7 +3164,7 @@ cross-spawn@^4.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^5.0.1, cross-spawn@^5.1.0: +cross-spawn@^5.0.1: version "5.1.0" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" dependencies: @@ -3387,7 +3361,7 @@ debug@^3.2.5: dependencies: ms "^2.1.1" -debug@^4.0.0, debug@^4.1.0, debug@^4.1.1: +debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== @@ -3817,11 +3791,7 @@ elliptic@^6.4.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" -emoji-regex@^6.5.1: - version "6.5.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2" - -emoji-regex@^7.0.1: +emoji-regex@^7.0.1, emoji-regex@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== @@ -3884,17 +3854,7 @@ error-stack-parser@^2.0.0: dependencies: stackframe "^1.0.4" -es-abstract@^1.4.3, es-abstract@^1.6.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" - dependencies: - es-to-primitive "^1.1.1" - function-bind "^1.1.1" - has "^1.0.1" - is-callable "^1.1.3" - is-regex "^1.0.4" - -es-abstract@^1.5.1: +es-abstract@^1.11.0, es-abstract@^1.5.1: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== @@ -3906,6 +3866,16 @@ es-abstract@^1.5.1: is-regex "^1.0.4" object-keys "^1.0.12" +es-abstract@^1.4.3, es-abstract@^1.6.1: + version "1.12.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + es-abstract@^1.7.0: version "1.11.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681" @@ -3945,19 +3915,21 @@ escodegen@^1.9.1: optionalDependencies: source-map "~0.6.1" -eslint-config-airbnb-base@^13.0.0: - version "13.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.0.0.tgz#2ee6279c4891128e49d6445b24aa13c2d1a21450" +eslint-config-airbnb-base@^13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-13.1.0.tgz#b5a1b480b80dfad16433d6c4ad84e6605052c05c" + integrity sha512-XWwQtf3U3zIoKO1BbHh6aUhJZQweOwSt4c2JrPDg9FP3Ltv3+YfEv7jIDB8275tVnO/qOHbfuYg3kzw6Je7uWw== dependencies: eslint-restricted-globals "^0.1.1" object.assign "^4.1.0" object.entries "^1.0.4" -eslint-config-airbnb@^17.0.0: - version "17.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-17.0.0.tgz#1bb8c4255483320bb68c3b614f71ae6058b0b2db" +eslint-config-airbnb@^17.1.0: + version "17.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-17.1.0.tgz#3964ed4bc198240315ff52030bf8636f42bc4732" + integrity sha512-R9jw28hFfEQnpPau01NO5K/JWMGLi6aymiF6RsnMURjTk+MqZKllCqGK/0tOvHkPi/NWSSOU2Ced/GX++YxLnw== dependencies: - eslint-config-airbnb-base "^13.0.0" + eslint-config-airbnb-base "^13.1.0" object.assign "^4.1.0" object.entries "^1.0.4" @@ -3969,17 +3941,18 @@ eslint-import-resolver-babel-module@^5.0.1: pkg-up "^2.0.0" resolve "^1.10.0" -eslint-import-resolver-node@^0.3.1: +eslint-import-resolver-node@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a" + integrity sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q== dependencies: debug "^2.6.9" resolve "^1.5.0" -eslint-loader@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.1.1.tgz#2a9251523652430bfdd643efdb0afc1a2a89546a" - integrity sha512-1GrJFfSevQdYpoDzx8mEE2TDWsb/zmFuY09l6hURg1AeFIKQOvZ+vH0UPjzmd1CZIbfTV5HUkMeBmFiDBkgIsQ== +eslint-loader@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-2.1.2.tgz#453542a1230d6ffac90e4e7cb9cadba9d851be68" + integrity sha512-rA9XiXEOilLYPOIInvVH5S/hYfyTPyxag6DZhoQOduM+3TkghAEQ3VcFO8VnX4J4qg/UIBzp72aOf/xvYmpmsg== dependencies: loader-fs-cache "^1.0.0" loader-utils "^1.0.2" @@ -3987,12 +3960,13 @@ eslint-loader@^2.1.0: object-hash "^1.1.4" rimraf "^2.6.1" -eslint-module-utils@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz#b270362cd88b1a48ad308976ce7fa54e98411746" +eslint-module-utils@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.3.0.tgz#546178dab5e046c8b562bbb50705e2456d7bda49" + integrity sha512-lmDJgeOOjk8hObTysjqH7wyMi+nsHwwvfBykwfhjR1LNdd7C2uFJBvx4OpWYpXOw4df1yE1cDEVd1yLHitk34w== dependencies: debug "^2.6.8" - pkg-dir "^1.0.0" + pkg-dir "^2.0.0" eslint-plugin-chai-friendly@^0.4.1: version "0.4.1" @@ -4012,46 +3986,53 @@ eslint-plugin-flowtype@^2.50.0: dependencies: lodash "^4.17.10" -eslint-plugin-import@^2.14.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz#6b17626d2e3e6ad52cfce8807a845d15e22111a8" +eslint-plugin-import@^2.16.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.16.0.tgz#97ac3e75d0791c4fac0e15ef388510217be7f66f" + integrity sha512-z6oqWlf1x5GkHIFgrSvtmudnqM6Q60KM4KvpWi5ubonMjycLjndvd5+8VAZIsTlHC03djdgJuyKG6XO577px6A== dependencies: contains-path "^0.1.0" - debug "^2.6.8" + debug "^2.6.9" doctrine "1.5.0" - eslint-import-resolver-node "^0.3.1" - eslint-module-utils "^2.2.0" - has "^1.0.1" - lodash "^4.17.4" - minimatch "^3.0.3" + eslint-import-resolver-node "^0.3.2" + eslint-module-utils "^2.3.0" + has "^1.0.3" + lodash "^4.17.11" + minimatch "^3.0.4" read-pkg-up "^2.0.0" - resolve "^1.6.0" + resolve "^1.9.0" -eslint-plugin-jest@^21.18.0: - version "21.18.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-21.18.0.tgz#d7305969a9c1902f895468791d968fcf08b5c0b7" +eslint-plugin-jest@^22.2.2: + version "22.2.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-22.2.2.tgz#2a80d70a20c27dfb1503a6f32cdcb647fe5476df" + integrity sha512-hnWgh9o39VJfz6lJEyQJdTW7dN2yynlGkmPOlU/oMHh+d7WVMsJP1GeDTB520VCDljEdKExCwD5IBpQIUl4mJg== -eslint-plugin-jsx-a11y@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.1.1.tgz#7bf56dbe7d47d811d14dbb3ddff644aa656ce8e1" +eslint-plugin-jsx-a11y@^6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.1.tgz#4ebba9f339b600ff415ae4166e3e2e008831cf0c" + integrity sha512-cjN2ObWrRz0TTw7vEcGQrx+YltMvZoOEx4hWU8eEERDnBIU00OTq7Vr+jA7DFKxiwLNv4tTh5Pq2GUNEa8b6+w== dependencies: aria-query "^3.0.0" array-includes "^3.0.3" ast-types-flow "^0.0.7" - axobject-query "^2.0.1" + axobject-query "^2.0.2" damerau-levenshtein "^1.0.4" - emoji-regex "^6.5.1" + emoji-regex "^7.0.2" has "^1.0.3" jsx-ast-utils "^2.0.1" -eslint-plugin-react@^7.10.0: - version "7.10.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.10.0.tgz#af5c1fef31c4704db02098f9be18202993828b50" +eslint-plugin-react@^7.12.4: + version "7.12.4" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c" + integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ== dependencies: + array-includes "^3.0.3" doctrine "^2.1.0" has "^1.0.3" jsx-ast-utils "^2.0.1" + object.fromentries "^2.0.0" prop-types "^15.6.2" + resolve "^1.9.0" eslint-restricted-globals@^0.1.1: version "0.1.1" @@ -4065,13 +4046,6 @@ eslint-scope@3.7.1: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^3.7.1: - version "3.7.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535" - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - eslint-scope@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.0.tgz#50bf3071e9338bcdc43331794a0cb533f0136172" @@ -4079,60 +4053,66 @@ eslint-scope@^4.0.0: esrecurse "^4.1.0" estraverse "^4.1.1" +eslint-utils@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.3.1.tgz#9a851ba89ee7c460346f97cf8939c7298827e512" + integrity sha512-Z7YjnIldX+2XMcjr7ZkgEsOj/bREONV60qYeB/bjMAqqqZ4zxKyWX+BOUkdmRmA9riiIPVvo5x86m5elviOk0Q== + eslint-visitor-keys@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ== -eslint@^4: - version "4.19.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300" +eslint@^5.13.0: + version "5.13.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.13.0.tgz#ce71cc529c450eed9504530939aa97527861ede9" + integrity sha512-nqD5WQMisciZC5EHZowejLKQjWGuFS5c70fxqSKlnDME+oz9zmE8KTlX+lHSg+/5wsC/kf9Q9eMkC8qS3oM2fg== dependencies: - ajv "^5.3.0" - babel-code-frame "^6.22.0" + "@babel/code-frame" "^7.0.0" + ajv "^6.5.3" chalk "^2.1.0" - concat-stream "^1.6.0" - cross-spawn "^5.1.0" - debug "^3.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" doctrine "^2.1.0" - eslint-scope "^3.7.1" + eslint-scope "^4.0.0" + eslint-utils "^1.3.1" eslint-visitor-keys "^1.0.0" - espree "^3.5.4" - esquery "^1.0.0" + espree "^5.0.0" + esquery "^1.0.1" esutils "^2.0.2" file-entry-cache "^2.0.0" functional-red-black-tree "^1.0.1" glob "^7.1.2" - globals "^11.0.1" - ignore "^3.3.3" + globals "^11.7.0" + ignore "^4.0.6" + import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^3.0.6" - is-resolvable "^1.0.0" - js-yaml "^3.9.1" + inquirer "^6.1.0" + js-yaml "^3.12.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.3.0" - lodash "^4.17.4" - minimatch "^3.0.2" + lodash "^4.17.5" + minimatch "^3.0.4" mkdirp "^0.5.1" natural-compare "^1.4.0" optionator "^0.8.2" path-is-inside "^1.0.2" - pluralize "^7.0.0" progress "^2.0.0" - regexpp "^1.0.1" - require-uncached "^1.0.3" - semver "^5.3.0" + regexpp "^2.0.1" + semver "^5.5.1" strip-ansi "^4.0.0" - strip-json-comments "~2.0.1" - table "4.0.2" - text-table "~0.2.0" + strip-json-comments "^2.0.1" + table "^5.0.2" + text-table "^0.2.0" -espree@^3.5.4: - version "3.5.4" - resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7" +espree@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.0.tgz#fc7f984b62b36a0f543b13fb9cd7b9f4a7f5b65c" + integrity sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA== dependencies: - acorn "^5.5.0" - acorn-jsx "^3.0.0" + acorn "^6.0.2" + acorn-jsx "^5.0.0" + eslint-visitor-keys "^1.0.0" esprima@^3.1.3: version "3.1.3" @@ -4142,9 +4122,10 @@ esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" -esquery@^1.0.0: +esquery@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" + integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA== dependencies: estraverse "^4.0.0" @@ -4430,12 +4411,13 @@ extend@^3.0.0, extend@~3.0.1, extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" -external-editor@^2.0.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5" +external-editor@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.0.3.tgz#5866db29a97826dbe4bf3afd24070ead9ea43a27" + integrity sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA== dependencies: - chardet "^0.4.0" - iconv-lite "^0.4.17" + chardet "^0.7.0" + iconv-lite "^0.4.24" tmp "^0.0.33" extglob@^2.0.4: @@ -5052,7 +5034,7 @@ globals@^11.0.1: version "11.7.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.7.0.tgz#a583faa43055b1aca771914bf68258e2fc125673" -globals@^11.1.0: +globals@^11.1.0, globals@^11.7.0: version "11.10.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.10.0.tgz#1e09776dffda5e01816b3bb4077c8b59c24eaa50" integrity sha512-0GZF1RiPKU97IHUO5TORo9w1PwrH/NBPl+fS7oMLdaTRiYmYbwK4NWoZWrAdd0/abG9R2BU+OiwyQpTpE6pdfQ== @@ -5484,12 +5466,19 @@ iconv-lite@0.4.19, iconv-lite@~0.4.13: version "0.4.19" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" -iconv-lite@0.4.23, iconv-lite@^0.4.17, iconv-lite@^0.4.4: +iconv-lite@0.4.23, iconv-lite@^0.4.4: version "0.4.23" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + ieee754@^1.1.4: version "1.1.12" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" @@ -5504,15 +5493,11 @@ ignore-walk@^3.0.1: dependencies: minimatch "^3.0.4" -ignore@^3.3.3: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - ignore@^3.3.5: version "3.3.7" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" -ignore@^4.0.3: +ignore@^4.0.3, ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== @@ -5534,6 +5519,14 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" +import-fresh@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.0.0.tgz#a3d897f420cab0e671236897f75bc14b4885c390" + integrity sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + import-lazy@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-3.1.0.tgz#891279202c8a2280fdbd6674dbd8da1a1dfc67cc" @@ -5589,23 +5582,23 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" -inquirer@^3.0.6: - version "3.3.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" +inquirer@^6.1.0: + version "6.2.2" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.2.2.tgz#46941176f65c9eb20804627149b743a218f25406" + integrity sha512-Z2rREiXA6cHRR9KBOarR3WuLlFzlIfAEIiB45ll5SSadMg7WqOh1MKEjjndfuH5ewXdixWCxqnVfGOQzPeiztA== dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.0" + ansi-escapes "^3.2.0" + chalk "^2.4.2" cli-cursor "^2.1.0" cli-width "^2.0.0" - external-editor "^2.0.4" + external-editor "^3.0.3" figures "^2.0.0" - lodash "^4.3.0" + lodash "^4.17.11" mute-stream "0.0.7" run-async "^2.2.0" - rx-lite "^4.0.8" - rx-lite-aggregates "^4.0.8" + rxjs "^6.4.0" string-width "^2.1.0" - strip-ansi "^4.0.0" + strip-ansi "^5.0.0" through "^2.3.6" internal-ip@^3.0.1: @@ -5908,10 +5901,6 @@ is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - is-retry-allowed@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" @@ -6467,7 +6456,7 @@ js-yaml@^3.12.0: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^3.9.0, js-yaml@^3.9.1: +js-yaml@^3.9.0: version "3.12.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" dependencies: @@ -6881,7 +6870,7 @@ lodash@4.17.11, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4: resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== -lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.3.0: +lodash@^4.13.1, lodash@^4.14.0, lodash@^4.17.3: version "4.17.10" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" @@ -7655,6 +7644,16 @@ object.entries@^1.0.4: function-bind "^1.1.0" has "^1.0.1" +object.fromentries@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.0.tgz#49a543d92151f8277b3ac9600f1e930b189d30ab" + integrity sha512-9iLiI6H083uiqUuvzyY6qrlmc/Gz8hLQFOcb/Ri/0xXFkSNS3ctV+CbE6yM2+AnkYfOB3dGjdzC0wrMLIhQICA== + dependencies: + define-properties "^1.1.2" + es-abstract "^1.11.0" + function-bind "^1.1.1" + has "^1.0.1" + object.getownpropertydescriptors@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" @@ -7890,6 +7889,13 @@ param-case@2.1.x: dependencies: no-case "^2.2.0" +parent-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5" + integrity sha512-8Mf5juOMmiE4FcmzYc4IaiS9L3+9paz2KOiXzkRviCP6aDmN49Hz6EMWz0lGNp9pX80GvvAuLADtyGfW/Em3TA== + dependencies: + callsites "^3.0.0" + parse-asn1@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" @@ -8129,10 +8135,6 @@ plist@^3.0.1: xmlbuilder "^9.0.7" xmldom "0.1.x" -pluralize@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" - pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" @@ -9018,9 +9020,10 @@ regexp-tree@^0.1.0: colors "^1.1.2" yargs "^12.0.5" -regexpp@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab" +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" + integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== regexpu-core@^2.0.0: version "2.0.0" @@ -9229,13 +9232,6 @@ require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" -require-uncached@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" - dependencies: - caller-path "^0.1.0" - resolve-from "^1.0.0" - requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" @@ -9258,10 +9254,6 @@ resolve-dir@^1.0.0, resolve-dir@^1.0.1: expand-tilde "^2.0.0" global-modules "^1.0.0" -resolve-from@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" - resolve-from@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" @@ -9282,14 +9274,14 @@ resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1: +resolve@^1.10.0, resolve@^1.3.2, resolve@^1.4.0, resolve@^1.8.1, resolve@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.10.0.tgz#3bdaaeaf45cc07f375656dfd2e54ed0810b101ba" integrity sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg== dependencies: path-parse "^1.0.6" -resolve@^1.5.0, resolve@^1.6.0: +resolve@^1.5.0: version "1.8.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" dependencies: @@ -9368,16 +9360,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rx-lite-aggregates@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" - dependencies: - rx-lite "*" - -rx-lite@*, rx-lite@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" - rxjs@^5.0.0-beta.11: version "5.5.12" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc" @@ -9385,6 +9367,13 @@ rxjs@^5.0.0-beta.11: dependencies: symbol-observable "1.0.1" +rxjs@^6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.4.0.tgz#f3bb0fe7bda7fb69deac0c16f17b50b0b8790504" + integrity sha512-Z9Yfa11F6B9Sg/BK9MnqnQ+aQYicPLtilXBp2yUtDt2JRCE0h26d33EnfO3ZxoNxG0T92OUucP3Ct7cpfkdFfw== + dependencies: + tslib "^1.9.0" + safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -9693,12 +9682,6 @@ slice-ansi@0.0.4: resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" integrity sha1-7b+JA/ZvfOL46v1s7tZeJkyDGzU= -slice-ansi@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" - dependencies: - is-fullwidth-code-point "^2.0.0" - slice-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" @@ -10100,7 +10083,7 @@ strip-indent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" -strip-json-comments@~2.0.1: +strip-json-comments@^2.0.1, strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" @@ -10305,18 +10288,7 @@ symbol-tree@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6" -table@4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" - dependencies: - ajv "^5.2.3" - ajv-keywords "^2.1.0" - chalk "^2.1.0" - lodash "^4.17.4" - slice-ansi "1.0.0" - string-width "^2.1.1" - -table@^5.0.0: +table@^5.0.0, table@^5.0.2: version "5.2.2" resolved "https://registry.yarnpkg.com/table/-/table-5.2.2.tgz#61d474c9e4d8f4f7062c98c7504acb3c08aa738f" integrity sha512-f8mJmuu9beQEDkKHLzOv4VxVYlU68NpdzjbGPl69i4Hx0sTopJuNxuzJd17iV2h24dAfa93u794OnDA5jqXvfQ== @@ -10418,9 +10390,10 @@ test-exclude@^5.0.0: read-pkg-up "^4.0.0" require-main-filename "^1.0.1" -text-table@~0.2.0: +text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= thenify-all@^1.0.0, thenify-all@^1.6.0: version "1.6.0" From 613b516e319f0863d22116d85f13792177a27402 Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Tue, 5 Feb 2019 15:47:04 +0100 Subject: [PATCH 149/219] Fixed ecma version and eslint problems --- .eslintrc | 3 +-- src/components/Tooltip/index.js | 3 ++- src/components/modals/QrModal/index.js | 3 ++- src/components/modals/index.js | 21 ++++++++++++------- src/reducers/AccountsReducer.js | 4 ++-- .../ethereum/components/AdvancedForm/index.js | 3 ++- .../views/Account/Summary/ripple/index.js | 3 ++- 7 files changed, 25 insertions(+), 15 deletions(-) diff --git a/.eslintrc b/.eslintrc index 30b99d6a..a825aa3a 100644 --- a/.eslintrc +++ b/.eslintrc @@ -57,8 +57,7 @@ "ecmaVersion": 7, "sourceType": "module", "ecmaFeatures": { - "jsx": true, - "experimentalObjectRestSpread": true + "jsx": true } } } \ No newline at end of file diff --git a/src/components/Tooltip/index.js b/src/components/Tooltip/index.js index 32f504b3..6d8d5412 100644 --- a/src/components/Tooltip/index.js +++ b/src/components/Tooltip/index.js @@ -45,7 +45,8 @@ const Tooltip = ({ </Link> ) } - </ContentWrapper>)} + </ContentWrapper> + )} > {children} </RcTooltip> diff --git a/src/components/modals/QrModal/index.js b/src/components/modals/QrModal/index.js index d581a8ea..1eef2b10 100644 --- a/src/components/modals/QrModal/index.js +++ b/src/components/modals/QrModal/index.js @@ -127,7 +127,8 @@ class QrModal extends React.Component<Props, State> { {!this.state.readerLoaded && ( <CameraPlaceholder> Waiting for camera... - </CameraPlaceholder>) + </CameraPlaceholder> + ) } </Padding> <StyledQrReader diff --git a/src/components/modals/index.js b/src/components/modals/index.js index 519fc314..4db54d9e 100644 --- a/src/components/modals/index.js +++ b/src/components/modals/index.js @@ -68,7 +68,8 @@ const getDeviceContextModal = (props: Props) => { <Pin device={modal.device} onPinSubmit={modalActions.onPinSubmit} - />); + /> + ); case UI.INVALID_PIN: return <InvalidPin device={modal.device} />; @@ -79,7 +80,8 @@ const getDeviceContextModal = (props: Props) => { device={modal.device} selectedDevice={props.wallet.selectedDevice} onPassphraseSubmit={modalActions.onPassphraseSubmit} - />); + /> + ); case 'ButtonRequest_PassphraseType': return <PassphraseType device={modal.device} />; @@ -110,7 +112,8 @@ const getDeviceContextModal = (props: Props) => { onCancel={modalActions.onCancel} showAddress={props.receiveActions.showAddress} showUnverifiedAddress={props.receiveActions.showUnverifiedAddress} - />); + /> + ); case CONNECT.REMEMBER_REQUEST: return ( @@ -119,7 +122,8 @@ const getDeviceContextModal = (props: Props) => { instances={modal.instances} onRememberDevice={modalActions.onRememberDevice} onForgetDevice={modalActions.onForgetDevice} - />); + /> + ); case CONNECT.FORGET_REQUEST: return ( @@ -127,7 +131,8 @@ const getDeviceContextModal = (props: Props) => { device={modal.device} onForgetSingleDevice={modalActions.onForgetSingleDevice} onCancel={modalActions.onCancel} - />); + /> + ); case CONNECT.TRY_TO_DUPLICATE: return ( @@ -136,7 +141,8 @@ const getDeviceContextModal = (props: Props) => { devices={props.devices} onDuplicateDevice={modalActions.onDuplicateDevice} onCancel={modalActions.onCancel} - />); + /> + ); case CONNECT.REQUEST_WALLET_TYPE: return ( @@ -144,7 +150,8 @@ const getDeviceContextModal = (props: Props) => { device={modal.device} onWalletTypeRequest={modalActions.onWalletTypeRequest} onCancel={modalActions.onCancel} - />); + /> + ); default: return null; diff --git a/src/reducers/AccountsReducer.js b/src/reducers/AccountsReducer.js index f52f22c8..a9c5d9cf 100644 --- a/src/reducers/AccountsReducer.js +++ b/src/reducers/AccountsReducer.js @@ -92,8 +92,8 @@ export default (state: State = initialState, action: Action): State => { case WALLET.CLEAR_UNAVAILABLE_DEVICE_DATA: return clear(state, action.devices); - //case CONNECT.FORGET_SINGLE : - // return forgetAccounts(state, action); + //case CONNECT.FORGET_SINGLE : + // return forgetAccounts(state, action); case ACCOUNT.UPDATE: return updateAccount(state, action.payload); diff --git a/src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.js b/src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.js index 86612377..7a4391a8 100644 --- a/src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.js +++ b/src/views/Wallet/views/Account/Send/ethereum/components/AdvancedForm/index.js @@ -200,7 +200,8 @@ const AdvancedForm = (props: Props) => { { showDefaultGasLimitButton && ( <Right> <StyledLink onClick={setDefaultGasLimit} isGreen>Set default</StyledLink> - </Right>) + </Right> + ) } </InputLabelWrapper> )} diff --git a/src/views/Wallet/views/Account/Summary/ripple/index.js b/src/views/Wallet/views/Account/Summary/ripple/index.js index 8c1e6a6a..17b752bb 100644 --- a/src/views/Wallet/views/Account/Summary/ripple/index.js +++ b/src/views/Wallet/views/Account/Summary/ripple/index.js @@ -107,7 +107,8 @@ const AccountSummary = (props: Props) => { size={24} /> </StyledTooltip> - </H2Wrapper>) + </H2Wrapper> + ) } </React.Fragment> </Content> From 365b6ccb67694e6ec5a8a0e047cb697f2ad35ac9 Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Tue, 5 Feb 2019 15:52:46 +0100 Subject: [PATCH 150/219] Upgrade flow eslint plugin --- package.json | 2 +- yarn.lock | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index aaf4661f..8ed3aa72 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "eslint-loader": "^2.1.2", "eslint-plugin-chai-friendly": "^0.4.1", "eslint-plugin-cypress": "^2.2.0", - "eslint-plugin-flowtype": "^2.50.0", + "eslint-plugin-flowtype": "^3.2.1", "eslint-plugin-import": "^2.16.0", "eslint-plugin-jest": "^22.2.2", "eslint-plugin-jsx-a11y": "^6.2.1", diff --git a/yarn.lock b/yarn.lock index 886af5f1..095af9e6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3980,9 +3980,10 @@ eslint-plugin-cypress@^2.2.0: dependencies: globals "^11.0.1" -eslint-plugin-flowtype@^2.50.0: - version "2.50.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.50.0.tgz#953e262fa9b5d0fa76e178604892cf60dfb916da" +eslint-plugin-flowtype@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-3.2.1.tgz#45e032aee54e695dfc41a891e92b7afedfc62c77" + integrity sha512-1lymqM8Cawxu5xsS8TaCrLWJYUmUdoG4hCfa7yWOhCf0qZn/CvI8FxqkhdOP6bAosBn5zeYxKe3Q/4rfKN8a+A== dependencies: lodash "^4.17.10" From 65e863039508d88e139ff68394c854e88830dff8 Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Tue, 5 Feb 2019 17:23:47 +0100 Subject: [PATCH 151/219] Update all minor vesions --- package.json | 52 ++-- yarn.lock | 714 ++++++++++++++++++++++++++++----------------------- 2 files changed, 415 insertions(+), 351 deletions(-) diff --git a/package.json b/package.json index 8ed3aa72..c56352f9 100644 --- a/package.json +++ b/package.json @@ -32,14 +32,14 @@ "bignumber.js": "2.4.0", "color-hash": "^1.0.3", "commander": "^2.19.0", - "connected-react-router": "^6.0.0", - "copy-webpack-plugin": "^4.5.2", + "connected-react-router": "^6.2.2", + "copy-webpack-plugin": "^4.6.0", "cross-env": "^5.2.0", - "date-fns": "^1.29.0", - "ethereumjs-tx": "^1.3.3", + "date-fns": "^1.30.1", + "ethereumjs-tx": "^1.3.7", "ethereumjs-units": "^0.2.0", "ethereumjs-util": "^5.2.0", - "express": "^4.16.3", + "express": "^4.16.4", "friendly-errors-webpack-plugin": "^1.7.0", "git-revision-webpack-plugin": "^3.0.3", "hdkey": "^0.8.0", @@ -47,33 +47,33 @@ "html-webpack-plugin": "^3.2.0", "jest-fetch-mock": "^1.6.5", "morgan": "^1.9.1", - "npm-run-all": "^4.1.3", + "npm-run-all": "^4.1.5", "prop-types": "^15.6.2", - "raf": "^3.4.0", - "raven-js": "^3.22.3", - "rc-tooltip": "^3.7.0", - "react": "^16.6.3", - "react-dom": "^16.6.3", - "react-hot-loader": "^4.6.2", + "raf": "^3.4.1", + "raven-js": "^3.27.0", + "rc-tooltip": "^3.7.3", + "react": "^16.7.0", + "react-dom": "^16.7.0", + "react-hot-loader": "^4.6.5", "react-json-view": "^1.19.1", "react-qr-reader": "^2.1.2", "react-qr-svg": "^2.1.0", "react-redux": "^6.0.0", "react-router": "^4.3.1", - "react-router-dom": "^4.2.2", + "react-router-dom": "^4.3.1", "react-scale-text": "^1.2.2", - "react-select": "^2.2.0", - "react-textarea-autosize": "^7.0.4", - "react-transition-group": "^2.4.0", + "react-select": "^2.3.0", + "react-textarea-autosize": "^7.1.0", + "react-transition-group": "^2.5.3", "redbox-react": "^1.6.0", - "redux": "4.0.0", + "redux": "4.0.1", "redux-logger": "^3.0.6", "redux-raven-middleware": "^1.2.0", - "redux-thunk": "^2.2.0", + "redux-thunk": "^2.3.0", "request": "^2.88.0", - "rimraf": "^2.6.2", - "styled-components": "^4.1.2", - "styled-normalize": "^8.0.4", + "rimraf": "^2.6.3", + "styled-components": "^4.1.3", + "styled-normalize": "^8.0.6", "trezor-bridge-communicator": "1.0.2", "trezor-connect": "7.0.0-beta.2", "wallet-address-validator": "^0.2.4", @@ -88,7 +88,7 @@ "@babel/cli": "^7.2.3", "@babel/core": "^7.2.2", "@babel/plugin-proposal-class-properties": "^7.3.0", - "@babel/plugin-proposal-object-rest-spread": "^7.3.1", + "@babel/plugin-proposal-object-rest-spread": "^7.3.2", "@babel/plugin-transform-flow-strip-types": "^7.2.3", "@babel/plugin-transform-runtime": "^7.2.0", "@babel/preset-env": "^7.3.1", @@ -96,7 +96,7 @@ "@babel/preset-react": "^7.0.0", "@babel/register": "^7.0.0", "babel-eslint": "^10.0.1", - "babel-jest": "^24.0.0", + "babel-jest": "^24.1.0", "babel-loader": "^8.0.5", "babel-plugin-module-resolver": "^3.1.3", "babel-plugin-styled-components": "^1.10.0", @@ -115,18 +115,18 @@ "eslint-plugin-react": "^7.12.4", "file-loader": "3.0.1", "flow-bin": "0.75.0", - "jest": "^24.0.0", + "jest": "^24.1.0", "stylelint": "^9.10.1", "stylelint-config-standard": "^18.2.0", "stylelint-config-styled-components": "^0.1.1", "stylelint-custom-processor-loader": "^0.6.0", - "stylelint-processor-styled-components": "^1.3.2", + "stylelint-processor-styled-components": "^1.5.2", "stylelint-webpack-plugin": "^0.10.5", "webpack-cli": "^3.2.3", "webpack-dev-server": "^3.1.14", "yargs": "11.0.0" }, "optionalDependencies": { - "fsevents": "*" + "fsevents": "1.2.7" } } diff --git a/yarn.lock b/yarn.lock index 095af9e6..7c8f9001 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,12 +19,6 @@ optionalDependencies: chokidar "^2.0.3" -"@babel/code-frame@7.0.0-rc.1": - version "7.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-rc.1.tgz#5c2154415d6c09959a71845ef519d11157e95d10" - dependencies: - "@babel/highlight" "7.0.0-rc.1" - "@babel/code-frame@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" @@ -52,16 +46,6 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/generator@7.0.0-rc.1": - version "7.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0-rc.1.tgz#739c87d70b31aeed802bd6bc9fd51480065c45e8" - dependencies: - "@babel/types" "7.0.0-rc.1" - jsesc "^2.5.1" - lodash "^4.17.10" - source-map "^0.5.0" - trim-right "^1.0.1" - "@babel/generator@^7.0.0", "@babel/generator@^7.2.2": version "7.3.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.3.0.tgz#f663838cd7b542366de3aa608a657b8ccb2a99eb" @@ -132,14 +116,6 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-function-name@7.0.0-rc.1": - version "7.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0-rc.1.tgz#20b2cc836a53c669f297c8d309fc553385c5cdde" - dependencies: - "@babel/helper-get-function-arity" "7.0.0-rc.1" - "@babel/template" "7.0.0-rc.1" - "@babel/types" "7.0.0-rc.1" - "@babel/helper-function-name@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" @@ -149,12 +125,6 @@ "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-get-function-arity@7.0.0-rc.1": - version "7.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-rc.1.tgz#60185957f72ed73766ce74c836ac574921743c46" - dependencies: - "@babel/types" "7.0.0-rc.1" - "@babel/helper-get-function-arity@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" @@ -243,12 +213,6 @@ "@babel/template" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-split-export-declaration@7.0.0-rc.1": - version "7.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-rc.1.tgz#b00323834343fd0210f1f46c7a53521ad53efa5e" - dependencies: - "@babel/types" "7.0.0-rc.1" - "@babel/helper-split-export-declaration@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813" @@ -275,14 +239,6 @@ "@babel/traverse" "^7.1.5" "@babel/types" "^7.3.0" -"@babel/highlight@7.0.0-rc.1": - version "7.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-rc.1.tgz#e0ca4731fa4786f7b9500421d6ff5e5a7753e81e" - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^3.0.0" - "@babel/highlight@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0.tgz#f710c38c8d458e6dd9a201afb637fcb781ce99e4" @@ -303,10 +259,6 @@ lodash "^4.17.10" v8flags "^3.1.1" -"@babel/parser@7.0.0-rc.1": - version "7.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0-rc.1.tgz#d009a9bba8175d7b971e30cd03535b278c44082d" - "@babel/parser@^7.0.0", "@babel/parser@^7.2.2", "@babel/parser@^7.2.3": version "7.3.1" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.3.1.tgz#8f4ffd45f779e6132780835ffa7a215fa0b2d181" @@ -345,6 +297,14 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-syntax-object-rest-spread" "^7.2.0" +"@babel/plugin-proposal-object-rest-spread@^7.3.2": + version "7.3.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.3.2.tgz#6d1859882d4d778578e41f82cc5d7bf3d5daf6c1" + integrity sha512-DjeMS+J2+lpANkYLLO+m6GjoTMygYglKmRe6cDTbFv3L9i6mmiE8fe6B8MtCSLZpVXscD5kn7s6SgtHrDoBWoA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-object-rest-spread" "^7.2.0" + "@babel/plugin-proposal-optional-catch-binding@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" @@ -765,21 +725,19 @@ pirates "^4.0.0" source-map-support "^0.5.9" +"@babel/runtime@^7.1.2": + version "7.3.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.1.tgz#574b03e8e8a9898eaf4a872a92ea20b7846f6f2a" + integrity sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA== + dependencies: + regenerator-runtime "^0.12.0" + "@babel/runtime@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.2.0.tgz#b03e42eeddf5898e00646e4c840fa07ba8dcad7f" dependencies: regenerator-runtime "^0.12.0" -"@babel/template@7.0.0-rc.1": - version "7.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.0.0-rc.1.tgz#5f9c0a481c9f22ecdb84697b3c3a34eadeeca23c" - dependencies: - "@babel/code-frame" "7.0.0-rc.1" - "@babel/parser" "7.0.0-rc.1" - "@babel/types" "7.0.0-rc.1" - lodash "^4.17.10" - "@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": version "7.2.2" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" @@ -804,28 +762,6 @@ globals "^11.1.0" lodash "^4.17.10" -"@babel/traverse@^7.0.0-beta.40": - version "7.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0-rc.1.tgz#867b4b45ada2d51ae2d0076f1c1d5880f8557158" - dependencies: - "@babel/code-frame" "7.0.0-rc.1" - "@babel/generator" "7.0.0-rc.1" - "@babel/helper-function-name" "7.0.0-rc.1" - "@babel/helper-split-export-declaration" "7.0.0-rc.1" - "@babel/parser" "7.0.0-rc.1" - "@babel/types" "7.0.0-rc.1" - debug "^3.1.0" - globals "^11.1.0" - lodash "^4.17.10" - -"@babel/types@7.0.0-rc.1": - version "7.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0-rc.1.tgz#6abf6d14ddd9fc022617e5b62e6b32f4fa6526ad" - dependencies: - esutils "^2.0.2" - lodash "^4.17.10" - to-fast-properties "^2.0.0" - "@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.2.2", "@babel/types@^7.3.0": version "7.3.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.3.0.tgz#61dc0b336a93badc02bf5f69c4cd8e1353f2ffc0" @@ -853,62 +789,67 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@emotion/cache@10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.0.tgz#e22eadcb770de4131ec707c84207e9e1ce210413" +"@emotion/babel-utils@^0.6.4": + version "0.6.10" + resolved "https://registry.yarnpkg.com/@emotion/babel-utils/-/babel-utils-0.6.10.tgz#83dbf3dfa933fae9fc566e54fbb45f14674c6ccc" + integrity sha512-/fnkM/LTEp3jKe++T0KyTszVGWNKPNOUJfjNKLO17BzQ6QPxgbg3whayom1Qr2oLFH3V92tDymU+dT5q676uow== dependencies: - "@emotion/sheet" "0.9.2" - "@emotion/stylis" "0.8.3" - "@emotion/utils" "0.11.1" - "@emotion/weak-memoize" "0.2.2" + "@emotion/hash" "^0.6.6" + "@emotion/memoize" "^0.6.6" + "@emotion/serialize" "^0.9.1" + convert-source-map "^1.5.1" + find-root "^1.1.0" + source-map "^0.7.2" -"@emotion/hash@0.7.1": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.7.1.tgz#9833722341379fb7d67f06a4b00ab3c37913da53" +"@emotion/hash@^0.6.2", "@emotion/hash@^0.6.6": + version "0.6.6" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.6.6.tgz#62266c5f0eac6941fece302abad69f2ee7e25e44" + integrity sha512-ojhgxzUHZ7am3D2jHkMzPpsBAiB005GF5YU4ea+8DNPybMk01JJUM9V9YRlF/GE95tcOm8DxQvWA2jq19bGalQ== -"@emotion/is-prop-valid@^0.6.8": - version "0.6.8" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.6.8.tgz#68ad02831da41213a2089d2cab4e8ac8b30cbd85" +"@emotion/is-prop-valid@^0.7.3": + version "0.7.3" + resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.7.3.tgz#a6bf4fa5387cbba59d44e698a4680f481a8da6cc" + integrity sha512-uxJqm/sqwXw3YPA5GXX365OBcJGFtxUVkB6WyezqFHlNe9jqUWH5ur2O2M8dGBz61kn1g3ZBlzUunFQXQIClhA== dependencies: - "@emotion/memoize" "^0.6.6" + "@emotion/memoize" "0.7.1" "@emotion/memoize@0.7.1": version "0.7.1" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.1.tgz#e93c13942592cf5ef01aa8297444dc192beee52f" -"@emotion/memoize@^0.6.6": +"@emotion/memoize@^0.6.1", "@emotion/memoize@^0.6.6": version "0.6.6" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.6.6.tgz#004b98298d04c7ca3b4f50ca2035d4f60d2eed1b" + integrity sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ== -"@emotion/serialize@^0.11.3": - version "0.11.3" - resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.11.3.tgz#c4af2d96e3ddb9a749b7b567daa7556bcae45af2" +"@emotion/serialize@^0.9.1": + version "0.9.1" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-0.9.1.tgz#a494982a6920730dba6303eb018220a2b629c145" + integrity sha512-zTuAFtyPvCctHBEL8KZ5lJuwBanGSutFEncqLn/m9T1a6a93smBStK+bZzcNPgj4QS8Rkw9VTwJGhRIUVO8zsQ== dependencies: - "@emotion/hash" "0.7.1" - "@emotion/memoize" "0.7.1" - "@emotion/unitless" "0.7.3" - "@emotion/utils" "0.11.1" - csstype "^2.5.7" + "@emotion/hash" "^0.6.6" + "@emotion/memoize" "^0.6.6" + "@emotion/unitless" "^0.6.7" + "@emotion/utils" "^0.8.2" -"@emotion/sheet@0.9.2": - version "0.9.2" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-0.9.2.tgz#74e5c6b5e489a1ba30ab246ab5eedd96916487c4" +"@emotion/stylis@^0.7.0": + version "0.7.1" + resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.7.1.tgz#50f63225e712d99e2b2b39c19c70fff023793ca5" + integrity sha512-/SLmSIkN13M//53TtNxgxo57mcJk/UJIDFRKwOiLIBEyBHEcipgR6hNMQ/59Sl4VjCJ0Z/3zeAZyvnSLPG/1HQ== -"@emotion/stylis@0.8.3": - version "0.8.3" - resolved "https://registry.yarnpkg.com/@emotion/stylis/-/stylis-0.8.3.tgz#3ca7e9bcb31b3cb4afbaeb66156d86ee85e23246" +"@emotion/unitless@^0.6.2", "@emotion/unitless@^0.6.7": + version "0.6.7" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.6.7.tgz#53e9f1892f725b194d5e6a1684a7b394df592397" + integrity sha512-Arj1hncvEVqQ2p7Ega08uHLr1JuRYBuO5cIvcA+WWEQ5+VmkOE3ZXzl04NbQxeQpWX78G7u6MqxKuNX3wvYZxg== -"@emotion/unitless@0.7.3", "@emotion/unitless@^0.7.0": +"@emotion/unitless@^0.7.0": version "0.7.3" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.3.tgz#6310a047f12d21a1036fb031317219892440416f" -"@emotion/utils@0.11.1": - version "0.11.1" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.11.1.tgz#8529b7412a6eb4b48bdf6e720cc1b8e6e1e17628" - -"@emotion/weak-memoize@0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.2.tgz#63985d3d8b02530e0869962f4da09142ee8e200e" +"@emotion/utils@^0.8.2": + version "0.8.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-0.8.2.tgz#576ff7fb1230185b619a75d258cbc98f0867a8dc" + integrity sha512-rLu3wcBWH4P5q1CGoSSH/i9hrXs7SlbRLkoq9IGuoPYNGQvDJ3pt/wmOM+XgYjIDRMVIdkUWt0RsfzF50JfnCw== "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" @@ -1746,13 +1687,15 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.0.0.tgz#8a0c767f03f4a595fb921afdab13ff126edd00da" - integrity sha512-YGKRbZUjoRmNIAyG7x4wYxUyHvHPFpYXj6Mx1A5cslhaQOUgP/+LF3wtFgMuOQkIpjbVNBufmOnVY0QVwB5v9Q== +babel-jest@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.1.0.tgz#441e23ef75ded3bd547e300ac3194cef87b55190" + integrity sha512-MLcagnVrO9ybQGLEfZUqnOzv36iQzU7Bj4elm39vCukumLVSfoX+tRy3/jW7lUKc7XdpRmB/jech6L/UCsSZjw== dependencies: babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.0.0" + babel-preset-jest "^24.1.0" + chalk "^2.4.2" + slash "^2.0.0" babel-loader@^8.0.5: version "8.0.5" @@ -1776,6 +1719,24 @@ babel-plugin-check-es2015-constants@^6.22.0: dependencies: babel-runtime "^6.22.0" +babel-plugin-emotion@^9.2.11: + version "9.2.11" + resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-9.2.11.tgz#319c005a9ee1d15bb447f59fe504c35fd5807728" + integrity sha512-dgCImifnOPPSeXod2znAmgc64NhaaOjGEHROR/M+lmStb3841yK1sgaDYAYMnlvWNz8GnpwIPN0VmNpbWYZ+VQ== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@emotion/babel-utils" "^0.6.4" + "@emotion/hash" "^0.6.2" + "@emotion/memoize" "^0.6.1" + "@emotion/stylis" "^0.7.0" + babel-plugin-macros "^2.0.0" + babel-plugin-syntax-jsx "^6.18.0" + convert-source-map "^1.5.0" + find-root "^1.1.0" + mkdirp "^0.5.1" + source-map "^0.5.7" + touch "^2.0.1" + babel-plugin-istanbul@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.0.tgz#6892f529eff65a3e2d33d87dc5888ffa2ecd4a30" @@ -1785,10 +1746,18 @@ babel-plugin-istanbul@^5.1.0: istanbul-lib-instrument "^3.0.0" test-exclude "^5.0.0" -babel-plugin-jest-hoist@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.0.0.tgz#3adf030b6fd67e4311479a54b24077bdfc226ec9" - integrity sha512-ipefE7YWNyRNVaV/MonUb/I5nef53ZRFR74P9meMGmJxqt8s1BJmfhw11YeIMbcjXN4fxtWUaskZZe8yreXE1Q== +babel-plugin-jest-hoist@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.1.0.tgz#dfecc491fb15e2668abbd690a697a8fd1411a7f8" + integrity sha512-gljYrZz8w1b6fJzKcsfKsipSru2DU2DmQ39aB6nV3xQ0DDv3zpIzKGortA5gknrhNnPN8DweaEgrnZdmbGmhnw== + +babel-plugin-macros@^2.0.0: + version "2.4.5" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.4.5.tgz#7000a9b1f72d19ceee19a5804f1d23d6daf38c13" + integrity sha512-+/9yteNQw3yuZ3krQUfjAeoT/f4EAdn3ELwhFfDj0rTMIaoHfIdrcLePOfIaL0qmFLpIcgPIL2Lzm58h+CGWaw== + dependencies: + cosmiconfig "^5.0.5" + resolve "^1.8.1" babel-plugin-module-resolver@^3.1.3: version "3.1.3" @@ -2033,13 +2002,13 @@ babel-preset-es2015@^6.24.0: babel-plugin-transform-es2015-unicode-regex "^6.24.1" babel-plugin-transform-regenerator "^6.24.1" -babel-preset-jest@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.0.0.tgz#d23782e5e036cff517859640a80960bd628bd82b" - integrity sha512-ECMMOLvNDCmsn3geBa3JkwzylcfpThMpAdfreONQm8EmXcs4tXUpXZDQPxiIMg7nMobTuAC2zDGIKrbrBXW2Vg== +babel-preset-jest@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.1.0.tgz#83bc564fdcd4903641af65ec63f2f5de6b04132e" + integrity sha512-FfNLDxFWsNX9lUmtwY7NheGlANnagvxq8LZdl5PKnVG3umP+S/g0XbVBfwtA4Ai3Ri/IMkWabBz3Tyk9wdspcw== dependencies: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.0.0" + babel-plugin-jest-hoist "^24.1.0" babel-register@^6.26.0: version "6.26.0" @@ -2104,10 +2073,6 @@ babylon@^6.18.0: version "6.18.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" -babylon@^7.0.0-beta.40: - version "7.0.0-beta.47" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-7.0.0-beta.47.tgz#6d1fa44f0abec41ab7c780481e62fd9aafbdea80" - bail@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.3.tgz#63cfb9ddbac829b02a3128cd53224be78e6c21a3" @@ -2255,7 +2220,7 @@ body-parser@1.18.2: raw-body "2.3.2" type-is "~1.6.15" -body-parser@^1.16.0: +body-parser@1.18.3, body-parser@^1.16.0: version "1.18.3" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4" dependencies: @@ -2985,9 +2950,10 @@ connect-history-api-fallback@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" -connected-react-router@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/connected-react-router/-/connected-react-router-6.0.0.tgz#cb7ccbbc5ed353832ecd91d68289c916e8aba734" +connected-react-router@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/connected-react-router/-/connected-react-router-6.2.2.tgz#10ed0942ee2032de7cb0fd8479bde526853906ed" + integrity sha512-tPI3s7yYtnTt/XLoQFsQqIEQxdQCrsZltEdozjG7LPkOTNglJJ7WqUqnlnh9thC6ebavfaJoTtPa9G2EibuJbg== dependencies: immutable "^3.8.1" seamless-immutable "^7.1.3" @@ -3018,7 +2984,7 @@ content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" -convert-source-map@^1.1.0: +convert-source-map@^1.1.0, convert-source-map@^1.5.1: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== @@ -3056,9 +3022,10 @@ copy-descriptor@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" -copy-webpack-plugin@^4.5.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz#d53444a8fea2912d806e78937390ddd7e632ee5c" +copy-webpack-plugin@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz#e7f40dd8a68477d405dd1b7a854aae324b158bae" + integrity sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA== dependencies: cacache "^10.0.4" find-cache-dir "^1.0.0" @@ -3093,7 +3060,7 @@ cors@^2.8.1: object-assign "^4" vary "^1" -cosmiconfig@^5.0.0: +cosmiconfig@^5.0.0, cosmiconfig@^5.0.5: version "5.0.7" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.0.7.tgz#39826b292ee0d78eda137dfa3173bd1c21a43b04" integrity sha512-PcLqxTKiDmNT6pSpy4N6KtuPwb53W+2tzNvwOZw0WH9N6O0vLIBq0x8aj8Oj75ere4YcGi48bDFCL+3fRJdlNA== @@ -3110,14 +3077,18 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" -create-emotion@^10.0.4: - version "10.0.5" - resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-10.0.5.tgz#22487f19b59a7ed10144f808289eadffebcfab06" +create-emotion@^9.2.12: + version "9.2.12" + resolved "https://registry.yarnpkg.com/create-emotion/-/create-emotion-9.2.12.tgz#0fc8e7f92c4f8bb924b0fef6781f66b1d07cb26f" + integrity sha512-P57uOF9NL2y98Xrbl2OuiDQUZ30GVmASsv5fbsjF4Hlraip2kyAvMm+2PoYUvFFw03Fhgtxk3RqZSm2/qHL9hA== dependencies: - "@emotion/cache" "10.0.0" - "@emotion/serialize" "^0.11.3" - "@emotion/sheet" "0.9.2" - "@emotion/utils" "0.11.1" + "@emotion/hash" "^0.6.2" + "@emotion/memoize" "^0.6.1" + "@emotion/stylis" "^0.7.0" + "@emotion/unitless" "^0.6.2" + csstype "^2.5.2" + stylis "^3.5.0" + stylis-rule-sheet "^0.0.10" create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2: version "1.1.3" @@ -3172,7 +3143,7 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^6.0.0, cross-spawn@^6.0.4, cross-spawn@^6.0.5: +cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" dependencies: @@ -3240,9 +3211,10 @@ cssstyle@^1.0.0: dependencies: cssom "0.3.x" -csstype@^2.5.7: - version "2.6.0" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.0.tgz#6cf7b2fa7fc32aab3d746802c244d4eda71371a2" +csstype@^2.5.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.2.tgz#3043d5e065454579afc7478a18de41909c8a2f01" + integrity sha512-Rl7PvTae0pflc1YtxtKbiSqq20Ts6vpIYOD5WBafl4y123DyHUeLrRdQP66sQW8/6gmX8jrYJLXwNeMqYVJcow== currently-unhandled@^0.4.1: version "0.4.1" @@ -3329,15 +3301,11 @@ data-urls@^1.0.0: whatwg-mimetype "^2.0.0" whatwg-url "^6.4.0" -date-fns@^1.27.2: +date-fns@^1.27.2, date-fns@^1.30.1: version "1.30.1" resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== -date-fns@^1.29.0: - version "1.29.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" - date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" @@ -3801,6 +3769,14 @@ emojis-list@^2.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= +emotion@^9.1.2: + version "9.2.12" + resolved "https://registry.yarnpkg.com/emotion/-/emotion-9.2.12.tgz#53925aaa005614e65c6e43db8243c843574d1ea9" + integrity sha512-hcx7jppaI8VoXxIWEhxpDW7I+B4kq9RNzQLmsrF6LY8BGKqe2N+gFAQr0EfuFucFlPs2A9HM4+xNj4NeqEWIOQ== + dependencies: + babel-plugin-emotion "^9.2.11" + create-emotion "^9.2.12" + encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -4175,9 +4151,10 @@ ethereum-common@^0.0.18: version "0.0.18" resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" -ethereumjs-tx@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.3.tgz#ece051d3efdbe771ad2a518d61632ca2ab75ecbb" +ethereumjs-tx@^1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.3.7.tgz#88323a2d875b10549b8347e09f4862b546f3d89a" + integrity sha512-wvLMxzt1RPhAQ9Yi3/HKZTn0FZYpnsmQdbKYfUUpi4j1SEIcbkd9tndVjcPrufY3V7j2IebOpC00Zp2P/Ay2kA== dependencies: ethereum-common "^0.0.18" ethereumjs-util "^5.0.0" @@ -4349,10 +4326,10 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.0.0.tgz#71f71d88a4202746fc79849bb4c6498008b5ef03" - integrity sha512-qDHRU4lGsme0xjg8dXp/RQhvO9XIo9FWqVo7dTHDPBwzy25JGEHAWFsnpmRYErB50tgi/6euo3ir5e/kF9LUTA== +expect@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.1.0.tgz#88e73301c4c785cde5f16da130ab407bdaf8c0f2" + integrity sha512-lVcAPhaYkQcIyMS+F8RVwzbm1jro20IG8OkvxQ6f1JfqhVZyyudCwYogQ7wnktlf14iF3ii7ArIUO/mqvrW9Gw== dependencies: ansi-styles "^3.2.0" jest-get-type "^24.0.0" @@ -4395,6 +4372,42 @@ express@^4.14.0, express@^4.16.2, express@^4.16.3: utils-merge "1.0.1" vary "~1.1.2" +express@^4.16.4: + version "4.16.4" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e" + integrity sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg== + dependencies: + accepts "~1.3.5" + array-flatten "1.1.1" + body-parser "1.18.3" + content-disposition "0.5.2" + content-type "~1.0.4" + cookie "0.3.1" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.1" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.2" + path-to-regexp "0.1.7" + proxy-addr "~2.0.4" + qs "6.5.2" + range-parser "~1.2.0" + safe-buffer "5.1.2" + send "0.16.2" + serve-static "1.13.2" + setprototypeof "1.1.0" + statuses "~1.4.0" + type-is "~1.6.16" + utils-merge "1.0.1" + vary "~1.1.2" + extend-shallow@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" @@ -4660,6 +4673,11 @@ find-cache-dir@^2.0.0: make-dir "^1.0.0" pkg-dir "^3.0.0" +find-root@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -4858,7 +4876,15 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@*, fsevents@^1.1.2, fsevents@^1.2.2, fsevents@^1.2.3: +fsevents@1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" + integrity sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw== + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +fsevents@^1.1.2, fsevents@^1.2.2, fsevents@^1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" dependencies: @@ -5294,10 +5320,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.3.1.tgz#343db84c6018c650778898240135a1420ee22ce0" - hoist-non-react-statics@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz#d2ca2dfc19c5a91c5a6615ce8e564ef0347e2a40" @@ -5649,6 +5671,11 @@ ipaddr.js@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b" +ipaddr.js@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" + integrity sha1-6qM9bd16zo9/b+DJygRA5wZzix4= + ipaddr.js@^1.5.2: version "1.8.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.1.tgz#fa4b79fa47fd3def5e3b159825161c0a519c9427" @@ -6090,10 +6117,10 @@ jest-changed-files@^24.0.0: execa "^1.0.0" throat "^4.0.0" -jest-cli@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.0.0.tgz#691fd4f7bce2574c1865db6844a43b56e60ce2a4" - integrity sha512-mElnFipLaGxo1SiQ1CLvuaz3eX07MJc4HcyKrApSJf8xSdY1/EwaHurKwu1g2cDiwIgY8uHj7UcF5OYbtiBOWg== +jest-cli@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.1.0.tgz#f7cc98995f36e7210cce3cbb12974cbf60940843" + integrity sha512-U/iyWPwOI0T1CIxVLtk/2uviOTJ/OiSWJSe8qt6X1VkbbgP+nrtLJlmT9lPBe4lK78VNFJtrJ7pttcNv/s7yCw== dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" @@ -6107,16 +6134,16 @@ jest-cli@^24.0.0: istanbul-lib-instrument "^3.0.1" istanbul-lib-source-maps "^3.0.1" jest-changed-files "^24.0.0" - jest-config "^24.0.0" + jest-config "^24.1.0" jest-environment-jsdom "^24.0.0" jest-get-type "^24.0.0" jest-haste-map "^24.0.0" jest-message-util "^24.0.0" jest-regex-util "^24.0.0" - jest-resolve-dependencies "^24.0.0" - jest-runner "^24.0.0" - jest-runtime "^24.0.0" - jest-snapshot "^24.0.0" + jest-resolve-dependencies "^24.1.0" + jest-runner "^24.1.0" + jest-runtime "^24.1.0" + jest-snapshot "^24.1.0" jest-util "^24.0.0" jest-validate "^24.0.0" jest-watcher "^24.0.0" @@ -6134,27 +6161,26 @@ jest-cli@^24.0.0: which "^1.2.12" yargs "^12.0.2" -jest-config@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.0.0.tgz#878abe03c060c74a0ec30d3cd5dd1897873e030e" - integrity sha512-9/soqWL5YSq1ZJtgVJ5YYPCL1f9Mi2lVCp5+OXuYBOaN8DHSFRCSWip0rQ6N+mPTOEIAlCvcUH8zaPOwK4hePg== +jest-config@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.1.0.tgz#6ea6881cfdd299bc86cc144ee36d937c97c3850c" + integrity sha512-FbbRzRqtFC6eGjG5VwsbW4E5dW3zqJKLWYiZWhB0/4E5fgsMw8GODLbGSrY5t17kKOtCWb/Z7nsIThRoDpuVyg== dependencies: "@babel/core" "^7.1.0" - babel-jest "^24.0.0" + babel-jest "^24.1.0" chalk "^2.0.1" glob "^7.1.1" jest-environment-jsdom "^24.0.0" jest-environment-node "^24.0.0" jest-get-type "^24.0.0" - jest-jasmine2 "^24.0.0" + jest-jasmine2 "^24.1.0" jest-regex-util "^24.0.0" - jest-resolve "^24.0.0" + jest-resolve "^24.1.0" jest-util "^24.0.0" jest-validate "^24.0.0" micromatch "^3.1.10" pretty-format "^24.0.0" realpath-native "^1.0.2" - uuid "^3.3.2" jest-diff@^24.0.0: version "24.0.0" @@ -6240,22 +6266,23 @@ jest-image-snapshot@2.7.0: pngjs "^3.3.3" rimraf "^2.6.2" -jest-jasmine2@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.0.0.tgz#7d87be9d8b32d34ac5980ad646b7ae7f99e33a19" - integrity sha512-q1xEV9KHM0bgfBj3yrkrjRF5kxpNDkWPCwVfSPN1DC+pD6J5wrM9/u2BgzhKhALXiaZUUhJ+f/OcEC0Gwpw90A== +jest-jasmine2@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.1.0.tgz#8377324b967037c440f0a549ee0bbd9912055db6" + integrity sha512-H+o76SdSNyCh9fM5K8upK45YTo/DiFx5w2YAzblQebSQmukDcoVBVeXynyr7DDnxh+0NTHYRCLwJVf3tC518wg== dependencies: "@babel/traverse" "^7.1.0" chalk "^2.0.1" co "^4.6.0" - expect "^24.0.0" + expect "^24.1.0" is-generator-fn "^2.0.0" jest-each "^24.0.0" jest-matcher-utils "^24.0.0" jest-message-util "^24.0.0" - jest-snapshot "^24.0.0" + jest-snapshot "^24.1.0" jest-util "^24.0.0" pretty-format "^24.0.0" + throat "^4.0.0" jest-leak-detector@^24.0.0: version "24.0.0" @@ -6295,46 +6322,47 @@ jest-regex-util@^24.0.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.0.0.tgz#4feee8ec4a358f5bee0a654e94eb26163cb9089a" integrity sha512-Jv/uOTCuC+PY7WpJl2mpoI+WbY2ut73qwwO9ByJJNwOCwr1qWhEW2Lyi2S9ZewUdJqeVpEBisdEVZSI+Zxo58Q== -jest-resolve-dependencies@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.0.0.tgz#86540611d660bdcaab8b87d069247d3832811d94" - integrity sha512-CJGS5ME2g5wL16o3Y22ga9p5ntNT5CUYX40/0lYj9ic9jB5YHm/qMKTgbFt9kowEBiMOFpXy15dWtBTEU54+zg== +jest-resolve-dependencies@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.1.0.tgz#78f738a2ec59ff4d00751d9da56f176e3f589f6c" + integrity sha512-2VwPsjd3kRPu7qe2cpytAgowCObk5AKeizfXuuiwgm1a9sijJDZe8Kh1sFj6FKvSaNEfCPlBVkZEJa2482m/Uw== dependencies: jest-regex-util "^24.0.0" - jest-snapshot "^24.0.0" + jest-snapshot "^24.1.0" -jest-resolve@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.0.0.tgz#0206cfe842324f8796b01f706f4075309bf7b405" - integrity sha512-uKDGyJqNaBQKox1DJzm27CJobADsIMNgZGusXhtYzl98LKu/fKuokkRsd7EBVgoDA80HKHc3LOPKuYLryMu1vw== +jest-resolve@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.1.0.tgz#42ff0169b0ea47bfdbd0c52a0067ca7d022c7688" + integrity sha512-TPiAIVp3TG6zAxH28u/6eogbwrvZjBMWroSLBDkwkHKrqxB/RIdwkWDye4uqPlZIXWIaHtifY3L0/eO5Z0f2wg== dependencies: browser-resolve "^1.11.3" chalk "^2.0.1" realpath-native "^1.0.0" -jest-runner@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.0.0.tgz#00b280d52d23286111a8ed0362ed958283f7f0e3" - integrity sha512-XefXm2XimKtwdfi2am4364GfCmLD1tOjiRtDexY65diCXt4Rw23rxj2wiW7p9s8Nh9dzJQNmrheqZ5rzvn762g== +jest-runner@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.1.0.tgz#3686a2bb89ce62800da23d7fdc3da2c32792943b" + integrity sha512-CDGOkT3AIFl16BLL/OdbtYgYvbAprwJ+ExKuLZmGSCSldwsuU2dEGauqkpvd9nphVdAnJUcP12e/EIlnTX0QXg== dependencies: + chalk "^2.4.2" exit "^0.1.2" graceful-fs "^4.1.15" - jest-config "^24.0.0" + jest-config "^24.1.0" jest-docblock "^24.0.0" jest-haste-map "^24.0.0" - jest-jasmine2 "^24.0.0" + jest-jasmine2 "^24.1.0" jest-leak-detector "^24.0.0" jest-message-util "^24.0.0" - jest-runtime "^24.0.0" + jest-runtime "^24.1.0" jest-util "^24.0.0" jest-worker "^24.0.0" source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.0.0.tgz#bc80756f5458c2c8e4db86f44b687ff692026c13" - integrity sha512-UeVoTGiij8upcqfyBlJvImws7IGY+ZWtgVpt1h4VmVbyei39tVGia/20VoP3yvodS6FdjTwBj+JzVNuoh/9UTw== +jest-runtime@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.1.0.tgz#7c157a2e776609e8cf552f956a5a19ec9c985214" + integrity sha512-59/BY6OCuTXxGeDhEMU7+N33dpMQyXq7MLK07cNSIY/QYt2QZgJ7Tjx+rykBI0skAoigFl0A5tmT8UdwX92YuQ== dependencies: "@babel/core" "^7.1.0" babel-plugin-istanbul "^5.1.0" @@ -6344,19 +6372,19 @@ jest-runtime@^24.0.0: fast-json-stable-stringify "^2.0.0" glob "^7.1.3" graceful-fs "^4.1.15" - jest-config "^24.0.0" + jest-config "^24.1.0" jest-haste-map "^24.0.0" jest-message-util "^24.0.0" jest-regex-util "^24.0.0" - jest-resolve "^24.0.0" - jest-snapshot "^24.0.0" + jest-resolve "^24.1.0" + jest-snapshot "^24.1.0" jest-util "^24.0.0" jest-validate "^24.0.0" micromatch "^3.1.10" realpath-native "^1.0.0" slash "^2.0.0" - strip-bom "3.0.0" - write-file-atomic "^2.4.2" + strip-bom "^3.0.0" + write-file-atomic "2.4.1" yargs "^12.0.2" jest-serializer@^24.0.0: @@ -6364,17 +6392,17 @@ jest-serializer@^24.0.0: resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.0.0.tgz#522c44a332cdd194d8c0531eb06a1ee5afb4256b" integrity sha512-9FKxQyrFgHtx3ozU+1a8v938ILBE7S8Ko3uiAVjT8Yfi2o91j/fj81jacCQZ/Ihjiff/VsUCXVgQ+iF1XdImOw== -jest-snapshot@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.0.0.tgz#fb447a753a3271660b3d89d068698014eb14c414" - integrity sha512-7OcrckVnfzVYxSGPYl2Sn+HyT30VpDv+FMBFbQxSQ6DV2K9Js6vYT6d4SBPKp6DfDiEL2txNssJBxtlvF+Dymw== +jest-snapshot@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.1.0.tgz#85e22f810357aa5994ab61f236617dc2205f2f5b" + integrity sha512-th6TDfFqEmXvuViacU1ikD7xFb7lQsPn2rJl7OEmnfIVpnrx3QNY2t3PE88meeg0u/mQ0nkyvmC05PBqO4USFA== dependencies: "@babel/types" "^7.0.0" chalk "^2.0.1" jest-diff "^24.0.0" jest-matcher-utils "^24.0.0" jest-message-util "^24.0.0" - jest-resolve "^24.0.0" + jest-resolve "^24.1.0" mkdirp "^0.5.1" natural-compare "^1.4.0" pretty-format "^24.0.0" @@ -6423,13 +6451,13 @@ jest-worker@^24.0.0: merge-stream "^1.0.1" supports-color "^6.1.0" -jest@^24.0.0: - version "24.0.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.0.0.tgz#b8e2c8e6274e1092c7f56e57762a1fdc7800201e" - integrity sha512-1Z2EblP4BnERbWZGtipGb9zjHDq7nCHgCY7V57F5SYaFRJV4DE1HKoOz+CRC5OrAThN9OVhRlUhTzsTFArg2iQ== +jest@^24.1.0: + version "24.1.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-24.1.0.tgz#b1e1135caefcf2397950ecf7f90e395fde866fd2" + integrity sha512-+q91L65kypqklvlRFfXfdzUKyngQLOcwGhXQaLmVHv+d09LkNXuBuGxlofTFW42XMzu3giIcChchTsCNUjQ78A== dependencies: import-local "^2.0.0" - jest-cli "^24.0.0" + jest-cli "^24.1.0" js-levenshtein@^1.1.3: version "1.1.6" @@ -7499,6 +7527,13 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" +nopt@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" + integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= + dependencies: + abbrev "1" + normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.4.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" @@ -7533,16 +7568,17 @@ npm-packlist@^1.1.6: ignore-walk "^3.0.1" npm-bundled "^1.0.1" -npm-run-all@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.3.tgz#49f15b55a66bb4101664ce270cb18e7103f8f185" +npm-run-all@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" + integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== dependencies: - ansi-styles "^3.2.0" - chalk "^2.1.0" - cross-spawn "^6.0.4" + ansi-styles "^3.2.1" + chalk "^2.4.1" + cross-spawn "^6.0.5" memorystream "^0.3.1" minimatch "^3.0.4" - ps-tree "^1.1.0" + pidtree "^0.3.0" read-pkg "^3.0.0" shell-quote "^1.6.1" string.prototype.padend "^3.0.0" @@ -8059,6 +8095,11 @@ performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" +pidtree@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.0.tgz#f6fada10fccc9f99bf50e90d0b23d72c9ebc2e6b" + integrity sha512-9CT4NFlDcosssyg8KVFltgokyKZIFjoBxw8CTGy+5F38Y1eQWrt8tRayiUOXE+zVKQnYu5BR8JjCtvK3BcnBhg== + pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -8248,14 +8289,6 @@ postcss-value-parser@^3.3.1: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== -postcss@^6.0.14: - version "6.0.23" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324" - dependencies: - chalk "^2.4.1" - source-map "^0.6.1" - supports-color "^5.4.0" - postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.13, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.7: version "7.0.14" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.14.tgz#4527ed6b1ca0d82c53ce5ec1a2041c2346bbd6e5" @@ -8383,11 +8416,19 @@ proxy-addr@~2.0.3: forwarded "~0.1.2" ipaddr.js "1.6.0" +proxy-addr@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93" + integrity sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA== + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.8.0" + prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" -ps-tree@^1.0.1, ps-tree@^1.1.0: +ps-tree@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014" dependencies: @@ -8492,6 +8533,13 @@ raf@^3.4.0: dependencies: performance-now "^2.1.0" +raf@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + ramda@0.24.1: version "0.24.1" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.24.1.tgz#c3b7755197f35b8dc3502228262c4c91ddb6b857" @@ -8522,10 +8570,15 @@ range-parser@^1.0.3, range-parser@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" -raven-js@^3.1.1, raven-js@^3.22.3: +raven-js@^3.1.1: version "3.22.3" resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.22.3.tgz#8330dcc102b699ffbc2f48790978b997bf4d8f75" +raven-js@^3.27.0: + version "3.27.0" + resolved "https://registry.yarnpkg.com/raven-js/-/raven-js-3.27.0.tgz#9f47c03e17933ce756e189f3669d49c441c1ba6e" + integrity sha512-vChdOL+yzecfnGA+B5EhEZkJ3kY3KlMzxEhShKh6Vdtooyl0yZfYNFQfYzgMf2v4pyQa+OTZ5esTxxgOOZDHqw== + raw-body@2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" @@ -8561,9 +8614,10 @@ rc-animate@2.x: css-animation "^1.3.2" prop-types "15.x" -rc-tooltip@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-3.7.0.tgz#3afbf109865f7cdcfe43752f3f3f501f7be37aaa" +rc-tooltip@^3.7.3: + version "3.7.3" + resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-3.7.3.tgz#280aec6afcaa44e8dff0480fbaff9e87fc00aecc" + integrity sha512-dE2ibukxxkrde7wH9W8ozHKUO4aQnPZ6qBHtrTH9LoO836PjDdiaWO73fgPB05VfJs9FbZdmGPVEbXCeOP99Ww== dependencies: babel-runtime "6.x" prop-types "^15.5.8" @@ -8615,18 +8669,20 @@ react-base16-styling@^0.6.0: object-assign "^4.1.1" prop-types "^15.6.0" -react-dom@^16.6.3: - version "16.6.3" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.6.3.tgz#8fa7ba6883c85211b8da2d0efeffc9d3825cccc0" +react-dom@^16.7.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.7.0.tgz#a17b2a7ca89ee7390bc1ed5eb81783c7461748b8" + integrity sha512-D0Ufv1ExCAmF38P2Uh1lwpminZFRXEINJe53zRAbm4KPwSyd6DY/uDoS0Blj9jvPpn1+wivKpZYc8aAAN/nAkg== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.11.2" + scheduler "^0.12.0" -react-hot-loader@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.6.2.tgz#9844b76a7bf4b6fdd45dd91f7e757ddf3aad5289" +react-hot-loader@^4.6.5: + version "4.6.5" + resolved "https://registry.yarnpkg.com/react-hot-loader/-/react-hot-loader-4.6.5.tgz#059619c8ac2aae9c6e8178ddc2eac535093cdd2e" + integrity sha512-ZPAJEWVd8KDdm6dcK0iWrnJiGHruLrcbkIpqn/wQmNjnROpsm2nzrWh23Yh3I/XAjB+35pMa/ZgariwGqwFD9A== dependencies: fast-levenshtein "^2.0.6" global "^4.3.0" @@ -8688,28 +8744,17 @@ react-redux@^6.0.0: prop-types "^15.6.2" react-is "^16.6.3" -react-router-dom@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.2.2.tgz#c8a81df3adc58bba8a76782e946cbd4eae649b8d" - dependencies: - history "^4.7.2" - invariant "^2.2.2" - loose-envify "^1.3.1" - prop-types "^15.5.4" - react-router "^4.2.0" - warning "^3.0.0" - -react-router@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.2.0.tgz#61f7b3e3770daeb24062dae3eedef1b054155986" +react-router-dom@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz#4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6" + integrity sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA== dependencies: history "^4.7.2" - hoist-non-react-statics "^2.3.0" - invariant "^2.2.2" + invariant "^2.2.4" loose-envify "^1.3.1" - path-to-regexp "^1.7.0" - prop-types "^15.5.4" - warning "^3.0.0" + prop-types "^15.6.1" + react-router "^4.3.1" + warning "^4.0.1" react-router@^4.3.1: version "4.3.1" @@ -8734,12 +8779,13 @@ react-scale-text@^1.2.2: shortid "^2.2.8" warning "^3.0.0" -react-select@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-2.2.0.tgz#67c8b5c2dcb8df0384f2a103efe952570f5d6b93" +react-select@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-2.3.0.tgz#990429622445eb2b4a6e985b8069fe7d498cae91" + integrity sha512-CD3jyZs5lwy/CHW3SdYU1d1FtmJxgvVPdKMwEE8dD6MyNANFtvW95P/V20StPsPppFY7oePv/i2Mun2C2+WgTA== dependencies: classnames "^2.2.5" - create-emotion "^10.0.4" + emotion "^9.1.2" memoize-one "^4.0.0" prop-types "^15.6.0" raf "^3.4.0" @@ -8752,10 +8798,12 @@ react-textarea-autosize@^6.1.0: dependencies: prop-types "^15.6.0" -react-textarea-autosize@^7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-7.0.4.tgz#4e4be649b544a88713e7b5043f76950f35d3d503" +react-textarea-autosize@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-7.1.0.tgz#3132cb77e65d94417558d37c0bfe415a5afd3445" + integrity sha512-c2FlR/fP0qbxmlrW96SdrbgP/v0XZMTupqB90zybvmDVDutytUgPl7beU35klwcTeMepUIQEpQUn3P3bdshGPg== dependencies: + "@babel/runtime" "^7.1.2" prop-types "^15.6.0" react-transition-group@^2.2.1: @@ -8769,12 +8817,13 @@ react-transition-group@^2.2.1: prop-types "^15.5.8" warning "^3.0.0" -react-transition-group@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.4.0.tgz#1d9391fabfd82e016f26fabd1eec329dbd922b5a" +react-transition-group@^2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-2.5.3.tgz#26de363cab19e5c88ae5dbae105c706cf953bb92" + integrity sha512-2DGFck6h99kLNr8pOFk+z4Soq3iISydwOFeeEVPjTN6+Y01CmvbWmnN02VuTWyFdnRtIDPe+wy2q6Ui8snBPZg== dependencies: dom-helpers "^3.3.1" - loose-envify "^1.3.1" + loose-envify "^1.4.0" prop-types "^15.6.2" react-lifecycles-compat "^3.0.4" @@ -8787,14 +8836,15 @@ react-transition-group@^2.4.0: object-assign "^4.1.1" prop-types "^15.6.0" -react@^16.6.3: - version "16.6.3" - resolved "https://registry.yarnpkg.com/react/-/react-16.6.3.tgz#25d77c91911d6bbdd23db41e70fb094cc1e0871c" +react@^16.7.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.7.0.tgz#b674ec396b0a5715873b350446f7ea0802ab6381" + integrity sha512-StCz3QY8lxTb5cl2HJxjwLFOXPIFQp+p+hxQfc8WE0QiLfCtIlKj8/+5tjjKm8uSTlAW+fCPaavGFS06V9Ar3A== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.11.2" + scheduler "^0.12.0" read-pkg-up@^1.0.1: version "1.0.1" @@ -8953,15 +9003,17 @@ redux-raven-middleware@^1.2.0: dependencies: raven-js "^3.1.1" -redux-thunk@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.2.0.tgz#e615a16e16b47a19a515766133d1e3e99b7852e5" +redux-thunk@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622" + integrity sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw== -redux@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.0.tgz#aa698a92b729315d22b34a0553d7e6533555cc03" +redux@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5" + integrity sha512-R7bAtSkk7nY6O/OYMVR9RiBI+XghjF9rlbl5806HJbQph0LJVHZrU5oaO4q70eUKiqMRqm4y07KLTlMZ2BlVmg== dependencies: - loose-envify "^1.1.0" + loose-envify "^1.4.0" symbol-observable "^1.2.0" regenerate-unicode-properties@^7.0.0: @@ -9313,7 +9365,7 @@ rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.2: dependencies: glob "^7.0.5" -rimraf@2.6.3, rimraf@^2.6.1: +rimraf@2.6.3, rimraf@^2.6.1, rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== @@ -9414,9 +9466,10 @@ sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" -scheduler@^0.11.2: - version "0.11.3" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.11.3.tgz#b5769b90cf8b1464f3f3cfcafe8e3cd7555a2d6b" +scheduler@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.12.0.tgz#8ab17699939c0aedc5a196a657743c496538647b" + integrity sha512-t7MBR28Akcp4Jm+QoR63XgAi9YgCUmgvDHqf5otgAj4QvdoBE4ImCX0ffehefePPG+aitiYHp0g/mW6s4Tp+dw== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -9781,7 +9834,7 @@ source-map@0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" -source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.6: +source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -9790,7 +9843,7 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" -source-map@^0.7.3: +source-map@^0.7.2, source-map@^0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" @@ -10054,16 +10107,16 @@ strip-ansi@^5.0.0: dependencies: ansi-regex "^4.0.0" -strip-bom@3.0.0, strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + strip-dirs@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" @@ -10092,11 +10145,13 @@ style-search@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/style-search/-/style-search-0.1.0.tgz#7958c793e47e32e07d2b5cafe5c0bf8e12e77902" -styled-components@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-4.1.2.tgz#f8a685e3b2bcd03c5beac7f2c02bb6ad237da9b3" +styled-components@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-4.1.3.tgz#4472447208e618b57e84deaaeb6acd34a5e0fe9b" + integrity sha512-0quV4KnSfvq5iMtT0RzpMGl/Dg3XIxIxOl9eJpiqiq4SrAmR1l1DLzNpMzoy3DyzdXVDMJS2HzROnXscWA3SEw== dependencies: - "@emotion/is-prop-valid" "^0.6.8" + "@babel/helper-module-imports" "^7.0.0" + "@emotion/is-prop-valid" "^0.7.3" "@emotion/unitless" "^0.7.0" babel-plugin-styled-components ">= 1" css-to-react-native "^2.2.2" @@ -10107,9 +10162,10 @@ styled-components@^4.1.2: stylis-rule-sheet "^0.0.10" supports-color "^5.5.0" -styled-normalize@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/styled-normalize/-/styled-normalize-8.0.4.tgz#6a0885dc16c61d88813dab8f5137da928fe0c947" +styled-normalize@^8.0.6: + version "8.0.6" + resolved "https://registry.yarnpkg.com/styled-normalize/-/styled-normalize-8.0.6.tgz#f27f87292f46aa79ad6db6339aff5db529df3c91" + integrity sha512-tOnAD1+wV04aiVy6chaQA4u/EtkGiGZPlIBYvEfWlZQBrDqRhu9EdPyXlFzLWxpOmANoQelJqSOMlV3QNCDKkw== stylelint-config-recommended@^2.1.0: version "2.1.0" @@ -10132,13 +10188,14 @@ stylelint-custom-processor-loader@^0.6.0: dependencies: loader-utils "~1.1.0" -stylelint-processor-styled-components@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/stylelint-processor-styled-components/-/stylelint-processor-styled-components-1.3.2.tgz#092cf8fb064b31c6d0d3bedf0c4844349e1e8f0f" +stylelint-processor-styled-components@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/stylelint-processor-styled-components/-/stylelint-processor-styled-components-1.5.2.tgz#875e21baa2dd0a0c0d5de082430e47c45c7d14ce" + integrity sha512-sjOU/GtTQMR1McdntJWo6Za1wbdl5YuxQwWm5l2Nz6ELYoVI9WJTZbU9DQcvkOGjW3+HEk4ZKBytqFrMJPIx9Q== dependencies: - "@babel/traverse" "^7.0.0-beta.40" - babylon "^7.0.0-beta.40" - postcss "^6.0.14" + "@babel/parser" "^7.0.0" + "@babel/traverse" "^7.0.0" + postcss "^7.0.0" stylelint-webpack-plugin@^0.10.5: version "0.10.5" @@ -10228,7 +10285,7 @@ supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" -supports-color@^5.1.0, supports-color@^5.4.0: +supports-color@^5.1.0: version "5.4.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" dependencies: @@ -10503,6 +10560,13 @@ toposort@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" +touch@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/touch/-/touch-2.0.2.tgz#ca0b2a3ae3211246a61b16ba9e6cbf1596287164" + integrity sha512-qjNtvsFXTRq7IuMLweVgFxmEuQ6gLbRs2jQxL80TtZ31dEKWYIxRXquij6w6VimyDek5hD3PytljHmEtAs2u0A== + dependencies: + nopt "~1.0.10" + tough-cookie@>=2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" @@ -11451,10 +11515,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.2.tgz#a7181706dfba17855d221140a9c06e15fcdd87b9" - integrity sha512-s0b6vB3xIVRLWywa6X9TOMA7k9zio0TMOsl9ZnDkliA/cfJlpHXAscj0gbHVJiTdIuAYpIyqS5GW91fqm6gG5g== +write-file-atomic@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" + integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== dependencies: graceful-fs "^4.1.11" imurmurhash "^0.1.4" From a6bfa237710c7d18b4c8667c5b38792c3e3442fa Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Wed, 6 Feb 2019 14:23:54 +0100 Subject: [PATCH 152/219] Make delay adjustable --- src/components/Tooltip/index.js | 6 +++--- src/views/Wallet/components/LeftNavigation/index.js | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/Tooltip/index.js b/src/components/Tooltip/index.js index 6650a62a..5aa81ee4 100644 --- a/src/components/Tooltip/index.js +++ b/src/components/Tooltip/index.js @@ -31,13 +31,13 @@ const Tooltip = ({ content, readMoreLink, children, - delayed, + enterDelayMs, }) => ( <Wrapper className={className}> <RcTooltip arrowContent={<div className="rc-tooltip-arrow-inner" />} placement={placement} - mouseEnterDelay={delayed ? 1.5 : 0} + mouseEnterDelay={enterDelayMs || 0} overlay={() => ( <ContentWrapper> <Content maxWidth={maxWidth}>{content}</Content> @@ -67,7 +67,7 @@ Tooltip.propTypes = { PropTypes.string, ]), readMoreLink: PropTypes.string, - delayed: PropTypes.bool, + enterDelayMs: PropTypes.bool, }; export default Tooltip; diff --git a/src/views/Wallet/components/LeftNavigation/index.js b/src/views/Wallet/components/LeftNavigation/index.js index a7668f20..c4a66209 100644 --- a/src/views/Wallet/components/LeftNavigation/index.js +++ b/src/views/Wallet/components/LeftNavigation/index.js @@ -240,7 +240,7 @@ class LeftNavigation extends React.PureComponent<Props, State> { content={walletTooltipMsg} maxWidth={200} placement="bottom" - delayed + enterDelayMs={0.5} > <WalletTypeIconWrapper> <WalletTypeIcon @@ -263,7 +263,7 @@ class LeftNavigation extends React.PureComponent<Props, State> { content="Number of devices" maxWidth={200} placement="bottom" - delayed + enterDelayMs={0.5} > <Counter>{this.props.devices.length}</Counter> </Tooltip> From 0591b76c621c2210ce054c43b64a0d5db3ed454e Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Wed, 6 Feb 2019 17:07:54 +0100 Subject: [PATCH 153/219] Update some majore versions modules --- package.json | 14 +- .../Wallet/components/LeftNavigation/index.js | 5 +- yarn.lock | 823 +++++++++--------- 3 files changed, 422 insertions(+), 420 deletions(-) diff --git a/package.json b/package.json index c56352f9..4b15be37 100644 --- a/package.json +++ b/package.json @@ -42,18 +42,18 @@ "express": "^4.16.4", "friendly-errors-webpack-plugin": "^1.7.0", "git-revision-webpack-plugin": "^3.0.3", - "hdkey": "^0.8.0", + "hdkey": "^1.1.0", "history": "^4.7.2", "html-webpack-plugin": "^3.2.0", - "jest-fetch-mock": "^1.6.5", + "jest-fetch-mock": "^2.1.0", "morgan": "^1.9.1", "npm-run-all": "^4.1.5", "prop-types": "^15.6.2", "raf": "^3.4.1", "raven-js": "^3.27.0", "rc-tooltip": "^3.7.3", - "react": "^16.7.0", - "react-dom": "^16.7.0", + "react": "^16.8.0", + "react-dom": "^16.8.0", "react-hot-loader": "^4.6.5", "react-json-view": "^1.19.1", "react-qr-reader": "^2.1.2", @@ -77,11 +77,11 @@ "trezor-bridge-communicator": "1.0.2", "trezor-connect": "7.0.0-beta.2", "wallet-address-validator": "^0.2.4", - "web3": "1.0.0-beta.35", + "web3": "1.0.0-beta.41", "webpack": "^4.29.1", "webpack-build-notifier": "^0.1.30", "webpack-bundle-analyzer": "^3.0.3", - "whatwg-fetch": "^2.0.4", + "whatwg-fetch": "^3.0.0", "yarn-run-all": "^3.1.1" }, "devDependencies": { @@ -124,7 +124,7 @@ "stylelint-webpack-plugin": "^0.10.5", "webpack-cli": "^3.2.3", "webpack-dev-server": "^3.1.14", - "yargs": "11.0.0" + "yargs": "12.0.5" }, "optionalDependencies": { "fsevents": "1.2.7" diff --git a/src/views/Wallet/components/LeftNavigation/index.js b/src/views/Wallet/components/LeftNavigation/index.js index ac7a37ab..459e1055 100644 --- a/src/views/Wallet/components/LeftNavigation/index.js +++ b/src/views/Wallet/components/LeftNavigation/index.js @@ -236,7 +236,7 @@ class LeftNavigation extends React.PureComponent<Props, State> { isOpen={this.props.wallet.dropdownOpened} icon={( <React.Fragment> - {showWalletType ? ( + {showWalletType && ( <Tooltip content={walletTooltipMsg} maxWidth={200} @@ -257,7 +257,8 @@ class LeftNavigation extends React.PureComponent<Props, State> { color={colors.TEXT_SECONDARY} /> </WalletTypeIconWrapper> - </Tooltip>) : null + </Tooltip> + ) } {this.props.devices.length > 1 && ( <Tooltip diff --git a/yarn.lock b/yarn.lock index 7c8f9001..00f7950e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -725,7 +725,7 @@ pirates "^4.0.0" source-map-support "^0.5.9" -"@babel/runtime@^7.1.2": +"@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1": version "7.3.1" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.1.tgz#574b03e8e8a9898eaf4a872a92ea20b7846f6f2a" integrity sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA== @@ -945,10 +945,6 @@ resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.0.8.tgz#d27600e9ba2f371e08695d90a0fe0408d89c7be7" integrity sha512-m812CONwdZn/dMzkIJEY0yAs4apyTkTORgfB2UsMOxgkUbC205AHnm4T8I0I5gPg9MHrFc1dJ35iS75c0CJkjg== -"@types/jest@^23.0.0": - version "23.3.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.2.tgz#07b90f6adf75d42c34230c026a2529e56c249dbb" - "@types/jquery@*": version "3.3.29" resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.29.tgz#680a2219ce3c9250483722fccf5570d1e2d08abd" @@ -981,7 +977,7 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.44.tgz#1d4a798e53f35212fd5ad4d04050620171cd5b5e" integrity sha512-k2tWTQU8G4+iSMvqKi0Q9IIsWAp/n8xzdZS4Q4YVIltApoMA00wFBFdlJnmoaK1/z7B0Cy0yPe6GgXteSmdUNw== -"@types/node@*", "@types/node@^10.1.0": +"@types/node@*", "@types/node@^10.1.0", "@types/node@^10.12.18", "@types/node@^10.3.2": version "10.12.21" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e" integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ== @@ -1246,6 +1242,11 @@ add-dom-event-listener@1.x: dependencies: object-assign "4.x" +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0= + ajv-errors@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" @@ -1335,10 +1336,6 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -any-promise@1.3.0, any-promise@^1.0.0, any-promise@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -2173,21 +2170,11 @@ bl@^1.0.0: readable-stream "^2.3.5" safe-buffer "^5.1.1" -block-stream@*: - version "0.0.9" - resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" - dependencies: - inherits "~2.0.0" - bluebird@3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" integrity sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw= -bluebird@^2.9.34: - version "2.11.0" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" - bluebird@^3.5.0, bluebird@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9" @@ -2201,7 +2188,7 @@ bn.js@4.11.6: version "4.11.6" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.0, bn.js@^4.11.3, bn.js@^4.11.6, bn.js@^4.4.0, bn.js@^4.8.0: +bn.js@4.11.8, bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.11.0, bn.js@^4.11.3, bn.js@^4.11.6, bn.js@^4.4.0, bn.js@^4.8.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" @@ -3128,6 +3115,14 @@ cross-env@^5.2.0: cross-spawn "^6.0.5" is-windows "^1.0.0" +cross-fetch@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.3.tgz#e8a0b3c54598136e037f8650f8e823ccdfac198e" + integrity sha512-PrWWNH3yL2NYIb/7WF/5vFG3DCQiXDOVf8k3ijatbrtnwNuhMWLC7YF7uqf53tbTFDzHIUD8oITw4Bxt8ST3Nw== + dependencies: + node-fetch "2.1.2" + whatwg-fetch "2.0.4" + cross-spawn@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-4.0.2.tgz#7b9247621c23adfdd3856004a823cbe397424d41" @@ -3135,14 +3130,6 @@ cross-spawn@^4.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -3343,7 +3330,7 @@ decamelize-keys@^1.0.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -3735,6 +3722,16 @@ elegant-spinner@^1.0.1: resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" integrity sha1-2wQ1IcldfjA/2PNFvtwzSc+wcp4= +elliptic@6.3.3: + version "6.3.3" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f" + integrity sha1-VILZZG1UvLif19mU/J4ulWiHbj8= + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + inherits "^2.0.1" + elliptic@^6.0.0, elliptic@^6.2.3: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" @@ -4127,7 +4124,24 @@ etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" -eth-lib@0.1.27, eth-lib@^0.1.26: +eth-ens-namehash@2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" + integrity sha1-IprEbsqG1S4MmR58sq74P/D2i88= + dependencies: + idna-uts46-hx "^2.3.1" + js-sha3 "^0.5.7" + +eth-lib@0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" + integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + xhr-request-promise "^0.1.2" + +eth-lib@^0.1.26: version "0.1.27" resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.27.tgz#f0b0fd144f865d2d6bf8257a40004f2e75ca1dd6" dependencies: @@ -4139,14 +4153,6 @@ eth-lib@0.1.27, eth-lib@^0.1.26: ws "^3.0.0" xhr-request-promise "^0.1.2" -eth-lib@0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.7.tgz#2f93f17b1e23aec3759cd4a3fe20c1286a3fc1ca" - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - xhr-request-promise "^0.1.2" - ethereum-common@^0.0.18: version "0.0.18" resolved "https://registry.yarnpkg.com/ethereum-common/-/ethereum-common-0.0.18.tgz#2fdc3576f232903358976eb39da783213ff9523f" @@ -4191,9 +4197,26 @@ ethereumjs-util@^5.2.0: safe-buffer "^5.1.1" secp256k1 "^3.0.1" -ethjs-unit@0.1.6: +ethers@^4.0.0: + version "4.0.23" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.23.tgz#930c7b1585241f61b29c262ffd8f21e82721ba30" + integrity sha512-9IwYV3LuESPF2cgwF42SL2vqrwWEsA2+15WVtO2dZb1F/twARaCWb7PrgoODldj+bmwKmUv3rG9PFfBkbumPwA== + dependencies: + "@types/node" "^10.3.2" + aes-js "3.0.0" + bn.js "^4.4.0" + elliptic "6.3.3" + hash.js "1.1.3" + js-sha3 "0.5.7" + scrypt-js "2.0.4" + setimmediate "1.0.4" + uuid "2.0.1" + xmlhttprequest "1.8.0" + +ethjs-unit@^0.1.6: version "0.1.6" resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk= dependencies: bn.js "4.11.6" number-to-bn "1.7.0" @@ -4217,11 +4240,7 @@ event-stream@~3.3.0: stream-combiner "~0.0.4" through "~2.3.1" -eventemitter3@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.1.1.tgz#47786bdaa087caf7b1b75e73abc5c7d540158cd0" - -eventemitter3@^3.0.0: +eventemitter3@3.1.0, eventemitter3@^3.0.0, eventemitter3@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" @@ -4262,18 +4281,6 @@ execa@0.10.0, execa@^0.10.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -4826,12 +4833,14 @@ fs-extra@4.0.1: jsonfile "^3.0.0" universalify "^0.1.0" -fs-extra@^2.0.0, fs-extra@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35" +fs-extra@^4.0.2: + version "4.0.3" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" + integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== dependencies: graceful-fs "^4.1.2" - jsonfile "^2.1.0" + jsonfile "^4.0.0" + universalify "^0.1.0" fs-extra@^7.0.1: version "7.0.1" @@ -4848,15 +4857,6 @@ fs-minipass@^1.2.5: dependencies: minipass "^2.2.1" -fs-promise@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/fs-promise/-/fs-promise-2.0.3.tgz#f64e4f854bcf689aa8bddcba268916db3db46854" - dependencies: - any-promise "^1.3.0" - fs-extra "^2.0.0" - mz "^2.6.0" - thenify-all "^1.6.0" - fs-readdir-recursive@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" @@ -4891,15 +4891,6 @@ fsevents@^1.1.2, fsevents@^1.2.2, fsevents@^1.2.3: nan "^2.9.2" node-pre-gyp "^0.10.0" -fstream@^1.0.2, fstream@^1.0.8: - version "1.0.11" - resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" - dependencies: - graceful-fs "^4.1.2" - inherits "~2.0.0" - mkdirp ">=0.5 0" - rimraf "2" - function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -5126,7 +5117,7 @@ gonzales-pe@^4.2.3: dependencies: minimist "1.1.x" -got@7.1.0, got@^7.1.0: +got@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" dependencies: @@ -5283,16 +5274,17 @@ hash-base@^3.0.0: inherits "^2.0.1" safe-buffer "^5.0.1" -hash.js@^1.0.0, hash.js@^1.0.3: +hash.js@1.1.3, hash.js@^1.0.0, hash.js@^1.0.3: version "1.1.3" resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" dependencies: inherits "^2.0.3" minimalistic-assert "^1.0.0" -hdkey@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/hdkey/-/hdkey-0.8.0.tgz#08c9a9fcb6a42d9724d669f81c53a3c507f87bf1" +hdkey@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/hdkey/-/hdkey-1.1.0.tgz#e74e7b01d2c47f797fa65d1d839adb7a44639f29" + integrity sha512-E7aU8pNlWUJbXGjTz/+lKf1LkMcA3hUrC5ZleeizrmLSd++kvf8mSOe3q8CmBDA9j4hdfXO5iY6hGiTUCOV2jQ== dependencies: coinstring "^2.0.0" safe-buffer "^5.1.1" @@ -5502,6 +5494,13 @@ iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +idna-uts46-hx@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" + integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== + dependencies: + punycode "2.1.0" + ieee754@^1.1.4: version "1.1.12" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" @@ -5593,7 +5592,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -5649,10 +5648,6 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - invert-kv@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" @@ -5994,7 +5989,7 @@ isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" -isomorphic-fetch@^2.1.1, isomorphic-fetch@^2.2.1: +isomorphic-fetch@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" dependencies: @@ -6226,12 +6221,12 @@ jest-environment-node@^24.0.0: jest-mock "^24.0.0" jest-util "^24.0.0" -jest-fetch-mock@^1.6.5: - version "1.6.5" - resolved "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-1.6.5.tgz#178fa1a937ef6f61fb8e8483b6d4602b17e0d96d" +jest-fetch-mock@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/jest-fetch-mock/-/jest-fetch-mock-2.1.0.tgz#49c16451b82f311158ec897e467d704e0cb118f9" + integrity sha512-jrTNlxDsZZCq6tMhdyH7gIbt4iDUHRr6C4Jp+kXItLaaaladOm9/wJjIwU3tCAEohbuW/7/naOSfg2A8H6/35g== dependencies: - "@types/jest" "^23.0.0" - isomorphic-fetch "^2.2.1" + cross-fetch "^2.2.2" promise-polyfill "^7.1.1" jest-get-type@^24.0.0: @@ -6464,6 +6459,11 @@ js-levenshtein@^1.1.3: resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== +js-sha3@0.5.7, js-sha3@^0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" + integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc= + js-sha3@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.3.1.tgz#86122802142f0828502a0d1dee1d95e253bb0243" @@ -6587,12 +6587,6 @@ json5@^2.1.0: dependencies: minimist "^1.2.0" -jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - optionalDependencies: - graceful-fs "^4.1.6" - jsonfile@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" @@ -6690,12 +6684,6 @@ lazy-ass@1.6.0: resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - dependencies: - invert-kv "^1.0.0" - lcid@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" @@ -7051,12 +7039,6 @@ media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - dependencies: - mimic-fn "^1.0.0" - mem@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.1.0.tgz#aeb9be2d21f47e78af29e4ac5978e8afa2ca5b8a" @@ -7243,12 +7225,27 @@ minipass@^2.2.1, minipass@^2.2.4: safe-buffer "^5.1.1" yallist "^3.0.0" +minipass@^2.3.4: + version "2.3.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.5.tgz#cacebe492022497f656b0f0f51e2682a9ed2d848" + integrity sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA== + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + minizlib@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" dependencies: minipass "^2.2.1" +minizlib@^1.1.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" + integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== + dependencies: + minipass "^2.2.1" + mississippi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f" @@ -7293,7 +7290,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: +mkdirp@*, mkdirp@0.5.1, mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= @@ -7326,10 +7323,6 @@ morgan@^1.9.1: on-finished "~2.3.0" on-headers "~1.0.1" -mout@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/mout/-/mout-0.11.1.tgz#ba3611df5f0e5b1ffbfd01166b8f02d1f5fa2b99" - move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -7365,14 +7358,6 @@ mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" -mz@^2.6.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - nan@2.10.0, nan@^2.9.2: version "2.10.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" @@ -7436,6 +7421,11 @@ no-case@^2.2.0: dependencies: lower-case "^1.1.1" +node-fetch@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" + integrity sha1-q4hOjn5X44qUR1POxwb3iNF2i7U= + node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" @@ -7705,9 +7695,10 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -oboe@2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.3.tgz#2b4865dbd46be81225713f4e9bfe4bcf4f680a4f" +oboe@2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.4.tgz#20c88cdb0c15371bb04119257d4fdd34b0aa49f6" + integrity sha1-IMiM2wwVNxuwQRklfU/dNLCqSfY= dependencies: http-https "^1.0.0" @@ -7796,14 +7787,6 @@ os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - os-locale@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" @@ -8479,6 +8462,11 @@ punycode@1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" +punycode@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" + integrity sha1-X4Y+3Im5bbCQdLrXlHvwkFbKTn0= + punycode@^1.2.4, punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" @@ -8669,15 +8657,15 @@ react-base16-styling@^0.6.0: object-assign "^4.1.1" prop-types "^15.6.0" -react-dom@^16.7.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.7.0.tgz#a17b2a7ca89ee7390bc1ed5eb81783c7461748b8" - integrity sha512-D0Ufv1ExCAmF38P2Uh1lwpminZFRXEINJe53zRAbm4KPwSyd6DY/uDoS0Blj9jvPpn1+wivKpZYc8aAAN/nAkg== +react-dom@^16.8.0: + version "16.8.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.8.0.tgz#18f28d4be3571ed206672a267c66dd083145a9c4" + integrity sha512-dBzoAGYZpW9Yggp+CzBPC7q1HmWSeRc93DWrwbskmG1eHJWznZB/p0l/Sm+69leIGUS91AXPB/qB3WcPnKx8Sw== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.12.0" + scheduler "^0.13.0" react-hot-loader@^4.6.5: version "4.6.5" @@ -8836,15 +8824,15 @@ react-transition-group@^2.5.3: object-assign "^4.1.1" prop-types "^15.6.0" -react@^16.7.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.7.0.tgz#b674ec396b0a5715873b350446f7ea0802ab6381" - integrity sha512-StCz3QY8lxTb5cl2HJxjwLFOXPIFQp+p+hxQfc8WE0QiLfCtIlKj8/+5tjjKm8uSTlAW+fCPaavGFS06V9Ar3A== +react@^16.8.0: + version "16.8.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.8.0.tgz#8533f0e4af818f448a276eae71681d09e8dd970a" + integrity sha512-g+nikW2D48kqgWSPwNo0NH9tIGG3DsQFlrtrQ1kj6W77z5ahyIHG0w8kPpz4Sdj6gyLnz0lEd/xsjOoGge2MYQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" prop-types "^15.6.2" - scheduler "^0.12.0" + scheduler "^0.13.0" read-pkg-up@^1.0.1: version "1.0.1" @@ -9359,12 +9347,6 @@ ret@~0.1.10: version "0.1.15" resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" - dependencies: - glob "^7.0.5" - rimraf@2.6.3, rimraf@^2.6.1, rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -9372,6 +9354,12 @@ rimraf@2.6.3, rimraf@^2.6.1, rimraf@^2.6.3: dependencies: glob "^7.1.3" +rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + ripemd160@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" @@ -9466,10 +9454,10 @@ sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" -scheduler@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.12.0.tgz#8ab17699939c0aedc5a196a657743c496538647b" - integrity sha512-t7MBR28Akcp4Jm+QoR63XgAi9YgCUmgvDHqf5otgAj4QvdoBE4ImCX0ffehefePPG+aitiYHp0g/mW6s4Tp+dw== +scheduler@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.13.0.tgz#e701f62e1b3e78d2bbb264046d4e7260f12184dd" + integrity sha512-w7aJnV30jc7OsiZQNPVmBc+HooZuvQZIZIShKutC3tnMFMkcwVN9CZRRSSNw03OnSCKmEkK8usmwcw6dqBaLzw== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -9490,6 +9478,11 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" +scrypt-js@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" + integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== + scrypt.js@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/scrypt.js/-/scrypt.js-0.2.0.tgz#af8d1465b71e9990110bedfc593b9479e03a8ada" @@ -9639,6 +9632,11 @@ set-value@^2.0.0: is-plain-object "^2.0.3" split-string "^3.0.1" +setimmediate@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" + integrity sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48= + setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -10315,22 +10313,22 @@ svg-tags@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" -swarm-js@0.1.37: - version "0.1.37" - resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.37.tgz#27d485317a340bbeec40292af783cc10acfa4663" +swarm-js@^0.1.39: + version "0.1.39" + resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.39.tgz#79becb07f291d4b2a178c50fee7aa6e10342c0e8" + integrity sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg== dependencies: bluebird "^3.5.0" buffer "^5.0.5" decompress "^4.0.0" eth-lib "^0.1.26" - fs-extra "^2.1.2" - fs-promise "^2.0.0" + fs-extra "^4.0.2" got "^7.1.0" mime-types "^2.1.16" mkdirp-promise "^5.0.1" mock-fs "^4.1.0" setimmediate "^1.0.5" - tar.gz "^1.0.5" + tar "^4.0.2" xhr-request-promise "^0.1.2" symbol-observable@1.0.1: @@ -10377,24 +10375,6 @@ tar-stream@^1.5.2: to-buffer "^1.1.0" xtend "^4.0.0" -tar.gz@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/tar.gz/-/tar.gz-1.0.7.tgz#577ef2c595faaa73452ef0415fed41113212257b" - dependencies: - bluebird "^2.9.34" - commander "^2.8.1" - fstream "^1.0.8" - mout "^0.11.0" - tar "^2.1.1" - -tar@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" - dependencies: - block-stream "*" - fstream "^1.0.2" - inherits "2" - tar@^4: version "4.4.2" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.2.tgz#60685211ba46b38847b1ae7ee1a24d744a2cd462" @@ -10407,6 +10387,19 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.2" +tar@^4.0.2: + version "4.4.8" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.8.tgz#b19eec3fde2a96e64666df9fdb40c5ca1bc3747d" + integrity sha512-LzHF64s5chPQQS0IYBn9IN5h3i98c12bo4NCO7e0sGM2llXQ3p2FGC5sdENN4cTW48O915Sh+x+EXx7XW96xYQ== + dependencies: + chownr "^1.1.1" + fs-minipass "^1.2.5" + minipass "^2.3.4" + minizlib "^1.1.1" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + term-img@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/term-img/-/term-img-4.0.0.tgz#238363ddf6eb180a062fa2e232bb7b7eb6a7058d" @@ -10453,18 +10446,6 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -thenify-all@^1.0.0, thenify-all@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.0" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839" - dependencies: - any-promise "^1.0.0" - throat@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" @@ -10713,10 +10694,6 @@ unbzip2-stream@^1.0.9: buffer "^3.0.1" through "^2.3.6" -underscore@1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" - unherit@^1.0.4: version "1.1.1" resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.1.tgz#132748da3e88eab767e08fabfbb89c5e9d28628c" @@ -10873,7 +10850,7 @@ url-parse-lax@^1.0.0: dependencies: prepend-http "^1.0.1" -url-parse@^1.4.3: +url-parse@1.4.4, url-parse@^1.4.3: version "1.4.4" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" integrity sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg== @@ -10945,14 +10922,14 @@ uuid@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" +uuid@3.3.2, uuid@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + uuid@^3.0.1, uuid@^3.1.0: version "3.2.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14" -uuid@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - v8-compile-cache@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.2.tgz#a428b28bb26790734c4fc8bc9fa106fccebf6a6c" @@ -11066,200 +11043,246 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web3-bzz@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.0.0-beta.35.tgz#9d5e1362b3db2afd77d65619b7cd46dd5845c192" - dependencies: - got "7.1.0" - swarm-js "0.1.37" - underscore "1.8.3" - -web3-core-helpers@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.35.tgz#d681d218a0c6e3283ee1f99a078ab9d3eef037f1" - dependencies: - underscore "1.8.3" - web3-eth-iban "1.0.0-beta.35" - web3-utils "1.0.0-beta.35" - -web3-core-method@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.0.0-beta.35.tgz#fc10e2d546cf4886038e6130bd5726b0952a4e5f" - dependencies: - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.35" - web3-core-promievent "1.0.0-beta.35" - web3-core-subscriptions "1.0.0-beta.35" - web3-utils "1.0.0-beta.35" - -web3-core-promievent@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.35.tgz#4f1b24737520fa423fee3afee110fbe82bcb8691" +web3-bzz@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.0.0-beta.41.tgz#3f9eaac2376ce56aa4d3f5ab23299a6d8c9cb658" + integrity sha512-vLNYGlm3tmi31huIpQpizHxXw5yidx5FtF4zze5VsdMH3r7iVzuRjgShdB/XLUFvL7sdnJ0KNW2ULrScqaZ9aA== dependencies: - any-promise "1.3.0" - eventemitter3 "1.1.1" - -web3-core-requestmanager@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.35.tgz#2b77cbf6303720ad68899b39fa7f584dc03dbc8f" - dependencies: - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.35" - web3-providers-http "1.0.0-beta.35" - web3-providers-ipc "1.0.0-beta.35" - web3-providers-ws "1.0.0-beta.35" + "@babel/runtime" "^7.3.1" + "@types/node" "^10.12.18" + lodash "^4.17.11" + swarm-js "^0.1.39" -web3-core-subscriptions@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.35.tgz#c1b76a2ad3c6e80f5d40b8ba560f01e0f4628758" +web3-core-helpers@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.41.tgz#12d99b249f8436c714905bb345365ef8ce515989" + integrity sha512-dYUYkN8XjSfAOeok8Od4nkzTWVnzKx65bPTJ+aUKuIegZ2qEuzwu6Aalfy09MGxs9tlylkblTg6nk1t7YoOgcQ== dependencies: - eventemitter3 "1.1.1" - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.35" + "@babel/runtime" "^7.3.1" + lodash "^4.17.11" + web3-eth-iban "1.0.0-beta.41" + web3-utils "1.0.0-beta.41" + +web3-core-method@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.0.0-beta.41.tgz#d19eaf02a56918a31a80db4218b8f196bf55f0b3" + integrity sha512-+E70WoTqExXRJRIOBRo4KJVArhR8o5Zh38djQjo/Ddaj5Eu7KiiPTK0z0axXjUQnFyrQbbb1nUmbBJboVxgvKA== + dependencies: + "@babel/runtime" "^7.3.1" + eventemitter3 "3.1.0" + web3-core "1.0.0-beta.41" + web3-core-helpers "1.0.0-beta.41" + web3-core-promievent "1.0.0-beta.41" + web3-core-subscriptions "1.0.0-beta.41" + web3-utils "1.0.0-beta.41" + +web3-core-promievent@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.41.tgz#b50c780aaf52ef547b3c6508f7f0b464bc796cfb" + integrity sha512-0ByKXY26lGRKHz05MtqiZwB5cILvdTbNlUdQU94lMFm2KD5XKRvoQjeRAnugr07d8L2q+3LIU1vIGy/OLLi9sQ== + dependencies: + "@babel/runtime" "^7.3.1" + eventemitter3 "^3.1.0" + +web3-core-subscriptions@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.41.tgz#5ff628ce7b7c2c59fda2615ff78059afb4287578" + integrity sha512-kSaWfnDuPK3IQXMuNCixe7aq63qOBa2/21WKTpsXNA2yiwPBUmVylwiRMYwhf1ieZFPj9baEtVP8+0wxpXGE4g== + dependencies: + "@babel/runtime" "^7.3.1" + eventemitter3 "^3.1.0" + lodash "^4.17.11" + web3-core-helpers "1.0.0-beta.41" + web3-utils "1.0.0-beta.41" -web3-core@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.0.0-beta.35.tgz#0c44d3c50d23219b0b1531d145607a9bc7cd4b4f" +web3-core@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.0.0-beta.41.tgz#91068e6364c7a95301c243782255192bae5e18ea" + integrity sha512-giFB+1G6NyF0r8UAdmOf4j1d9uyrKjm38bz4KKVBGMaM87KvuDAtu0/1RajdPzpQZ3e424CV5VVSxibvVv5fEg== dependencies: - web3-core-helpers "1.0.0-beta.35" - web3-core-method "1.0.0-beta.35" - web3-core-requestmanager "1.0.0-beta.35" - web3-utils "1.0.0-beta.35" + "@babel/runtime" "^7.3.1" + "@types/node" "^10.12.18" + lodash "^4.17.11" + web3-utils "1.0.0-beta.41" -web3-eth-abi@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.35.tgz#2eb9c1c7c7233db04010defcb192293e0db250e6" +web3-eth-abi@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.41.tgz#52ce83ee29cfbef7bca5577272ef544bf4ac735e" + integrity sha512-p/AcM7ASsYaHsqtR8vZD0tMQKnFC3ZMHYfI1HcEvyeMM3/hhLHPXIDGgqVVSTil5tJFz38YWzPGt/cWplIQPqw== dependencies: - bn.js "4.11.6" - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.35" - web3-utils "1.0.0-beta.35" + "@babel/runtime" "^7.3.1" + ethers "^4.0.0" + lodash "^4.17.11" + web3-utils "1.0.0-beta.41" -web3-eth-accounts@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.35.tgz#7d0e5a69f510dc93874471599eb7abfa9ddf3e63" +web3-eth-accounts@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.41.tgz#9a272100eb9e3f508fbc58bea389d654e1786928" + integrity sha512-+E+DIOF7B/dlln0aPh05FtYh1vk5oBd/bDOyXI4ki0R3L+1zGppUDxm7lOURqbYE0Ny5RFw4i8i1ygFNCTpBBw== dependencies: - any-promise "1.3.0" + "@babel/runtime" "^7.3.1" crypto-browserify "3.12.0" - eth-lib "0.2.7" + eth-lib "0.2.8" + lodash "^4.17.11" scrypt.js "0.2.0" - underscore "1.8.3" - uuid "2.0.1" - web3-core "1.0.0-beta.35" - web3-core-helpers "1.0.0-beta.35" - web3-core-method "1.0.0-beta.35" - web3-utils "1.0.0-beta.35" - -web3-eth-contract@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.35.tgz#5276242d8a3358d9f1ce92b71575c74f9015935c" - dependencies: - underscore "1.8.3" - web3-core "1.0.0-beta.35" - web3-core-helpers "1.0.0-beta.35" - web3-core-method "1.0.0-beta.35" - web3-core-promievent "1.0.0-beta.35" - web3-core-subscriptions "1.0.0-beta.35" - web3-eth-abi "1.0.0-beta.35" - web3-utils "1.0.0-beta.35" - -web3-eth-iban@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.35.tgz#5aa10327a9abb26bcfc4ba79d7bad18a002b332c" - dependencies: - bn.js "4.11.6" - web3-utils "1.0.0-beta.35" - -web3-eth-personal@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.35.tgz#ecac95b7a53d04a567447062d5cae5f49879e89f" - dependencies: - web3-core "1.0.0-beta.35" - web3-core-helpers "1.0.0-beta.35" - web3-core-method "1.0.0-beta.35" - web3-net "1.0.0-beta.35" - web3-utils "1.0.0-beta.35" - -web3-eth@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.0.0-beta.35.tgz#c52c804afb95e6624b6f5e72a9af90fbf5005b68" - dependencies: - underscore "1.8.3" - web3-core "1.0.0-beta.35" - web3-core-helpers "1.0.0-beta.35" - web3-core-method "1.0.0-beta.35" - web3-core-subscriptions "1.0.0-beta.35" - web3-eth-abi "1.0.0-beta.35" - web3-eth-accounts "1.0.0-beta.35" - web3-eth-contract "1.0.0-beta.35" - web3-eth-iban "1.0.0-beta.35" - web3-eth-personal "1.0.0-beta.35" - web3-net "1.0.0-beta.35" - web3-utils "1.0.0-beta.35" - -web3-net@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.0.0-beta.35.tgz#5c6688e0dea71fcd910ee9dc5437b94b7f6b3354" - dependencies: - web3-core "1.0.0-beta.35" - web3-core-method "1.0.0-beta.35" - web3-utils "1.0.0-beta.35" - -web3-providers-http@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.0.0-beta.35.tgz#92059d9d6de6e9f82f4fae30b743efd841afc1e1" - dependencies: - web3-core-helpers "1.0.0-beta.35" - xhr2-cookies "1.1.0" - -web3-providers-ipc@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.35.tgz#031afeb10fade2ebb0ef2fb82f5e58c04be842d9" - dependencies: - oboe "2.1.3" - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.35" - -web3-providers-ws@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.35.tgz#5d38603fd450243a26aae0ff7f680644e77fa240" - dependencies: - underscore "1.8.3" - web3-core-helpers "1.0.0-beta.35" + uuid "3.3.2" + web3-core "1.0.0-beta.41" + web3-core-helpers "1.0.0-beta.41" + web3-core-method "1.0.0-beta.41" + web3-providers "1.0.0-beta.41" + web3-utils "1.0.0-beta.41" + +web3-eth-contract@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.41.tgz#9196df3b78eab00fe5357ba19b8b57e03bbdff2e" + integrity sha512-irzF24h+R4nVOH5S54YwOBqyXGGJ/tj1SgW+cKRtUPzRdGTqefBv7jdMcpV7N7J0jZObfNxA5bnUBanvP/Ef0g== + dependencies: + "@babel/runtime" "^7.3.1" + lodash "^4.17.11" + web3-core "1.0.0-beta.41" + web3-core-helpers "1.0.0-beta.41" + web3-core-method "1.0.0-beta.41" + web3-core-promievent "1.0.0-beta.41" + web3-core-subscriptions "1.0.0-beta.41" + web3-eth-abi "1.0.0-beta.41" + web3-eth-accounts "1.0.0-beta.41" + web3-providers "1.0.0-beta.41" + web3-utils "1.0.0-beta.41" + +web3-eth-ens@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.41.tgz#1fa2ae69b5440b6c77804464025e741682cd1659" + integrity sha512-bB/LME1//Hw9CGeKfl1D6LfLNoDZdESavzNMdXFukHqB7QtfC1ck6DzEz2TfHOIigoNy0XPPSBpqZH/LdrH8Nw== + dependencies: + "@babel/runtime" "^7.3.1" + eth-ens-namehash "2.0.8" + lodash "^4.17.11" + web3-core "1.0.0-beta.41" + web3-core-helpers "1.0.0-beta.41" + web3-core-method "1.0.0-beta.41" + web3-core-promievent "1.0.0-beta.41" + web3-eth-abi "1.0.0-beta.41" + web3-eth-contract "1.0.0-beta.41" + web3-net "1.0.0-beta.41" + web3-providers "1.0.0-beta.41" + web3-utils "1.0.0-beta.41" + +web3-eth-iban@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.41.tgz#a651ae9043f552945c48ce10f50c99cf760ff15a" + integrity sha512-NbaBVApKIEB/1G0OVio0IOWmEvBM87lGO/bGB1xkH44GDdmBaLihBe7KoWcE81AEkBM3l24w7hPApOuD1qfUqg== + dependencies: + "@babel/runtime" "^7.3.1" + bn.js "4.11.8" + web3-utils "1.0.0-beta.41" + +web3-eth-personal@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.41.tgz#fa2b2b1e90582986f194639db6e2395a90a46c2a" + integrity sha512-yBzw21B/F5ld7SCReBVk/fxGlQBaRYmC4/lqb1M1DoSI8xjVUF8tJuxbecGG8dofS5f86vmB+CEA1CdSiRx94A== + dependencies: + "@babel/runtime" "^7.3.1" + web3-core "1.0.0-beta.41" + web3-core-helpers "1.0.0-beta.41" + web3-core-method "1.0.0-beta.41" + web3-net "1.0.0-beta.41" + web3-providers "1.0.0-beta.41" + web3-utils "1.0.0-beta.41" + +web3-eth@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.0.0-beta.41.tgz#e78b4a3cf7e83b9999d1525d081c433bd71c9e45" + integrity sha512-gLQaLB+aIr2iIU3eVMbsR1fMF38pgPaYeK0NvCuO0s87a/PrlEREwGxNQhxjAjZXFWgWGF1fQ2tiojP8toezrQ== + dependencies: + "@babel/runtime" "^7.3.1" + web3-core "1.0.0-beta.41" + web3-core-helpers "1.0.0-beta.41" + web3-core-method "1.0.0-beta.41" + web3-core-promievent "1.0.0-beta.41" + web3-core-subscriptions "1.0.0-beta.41" + web3-eth-abi "1.0.0-beta.41" + web3-eth-accounts "1.0.0-beta.41" + web3-eth-contract "1.0.0-beta.41" + web3-eth-ens "1.0.0-beta.41" + web3-eth-iban "1.0.0-beta.41" + web3-eth-personal "1.0.0-beta.41" + web3-net "1.0.0-beta.41" + web3-providers "1.0.0-beta.41" + web3-utils "1.0.0-beta.41" + +web3-net@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.0.0-beta.41.tgz#a371805739126bdf6fa3a404fcb9ec0a29480314" + integrity sha512-JbefIb0jas6HhkQFx24UzhX0cy4ZZdebNk6eqAQ9G8YDz9yq8Cc7FwVppZDQW7Ka+O7StpRLUzoxXIIeIfiSkA== + dependencies: + "@babel/runtime" "^7.3.1" + lodash "^4.17.11" + web3-core "1.0.0-beta.41" + web3-core-helpers "1.0.0-beta.41" + web3-core-method "1.0.0-beta.41" + web3-providers "1.0.0-beta.41" + web3-utils "1.0.0-beta.41" + +web3-providers@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-providers/-/web3-providers-1.0.0-beta.41.tgz#64e7d61429b677280c9dcb7d310f3a0759c8f8a9" + integrity sha512-KTx9yw2inJwUvl5BDHzAYPQ5WmUAPaO/IxWHvS7WvPOCiQonq2HbSF9bOSl5uWkqWeqhIl0nUhGKU7ED5q6yLQ== + dependencies: + "@babel/runtime" "^7.3.1" + "@types/node" "^10.12.18" + eventemitter3 "3.1.0" + lodash "^4.17.11" + oboe "2.1.4" + url-parse "1.4.4" websocket "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible" + xhr2-cookies "1.1.0" -web3-shh@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.0.0-beta.35.tgz#7e4a585f8beee0c1927390937c6537748a5d1a58" - dependencies: - web3-core "1.0.0-beta.35" - web3-core-method "1.0.0-beta.35" - web3-core-subscriptions "1.0.0-beta.35" - web3-net "1.0.0-beta.35" - -web3-utils@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.0.0-beta.35.tgz#ced9e1df47c65581c441c5f2af76b05a37a273d7" - dependencies: - bn.js "4.11.6" - eth-lib "0.1.27" - ethjs-unit "0.1.6" +web3-shh@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.0.0-beta.41.tgz#d24bf9a8a1993e7ee15a7523838dc8ab8468dee4" + integrity sha512-qFXmyAGh7oYizTv/vJWjMrSe5IMCBpU3IR1bliCd/GVqGKylH13N1oe8ifWk+EO8jPfFy7qWlJrbMKfAOAj2Lg== + dependencies: + "@babel/runtime" "^7.3.1" + web3-core "1.0.0-beta.41" + web3-core-helpers "1.0.0-beta.41" + web3-core-method "1.0.0-beta.41" + web3-core-subscriptions "1.0.0-beta.41" + web3-net "1.0.0-beta.41" + web3-providers "1.0.0-beta.41" + web3-utils "1.0.0-beta.41" + +web3-utils@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.0.0-beta.41.tgz#83301ffd85cbf9b99a8bd5ca828f96113a1ccc71" + integrity sha512-6Vf+jzZEsYoAvECm+/mQx4L0p5eOxpDmbR7baFUZpB+DQyNFBc3XPSMUNWHBLqe/OpXjDrS2TeYv40Ai8bd4bg== + dependencies: + "@babel/runtime" "^7.3.1" + "@types/node" "^10.12.18" + bn.js "4.11.8" + eth-lib "0.2.8" + ethjs-unit "^0.1.6" + lodash "^4.17.11" number-to-bn "1.7.0" randomhex "0.1.5" - underscore "1.8.3" utf8 "2.1.1" -web3@1.0.0-beta.35: - version "1.0.0-beta.35" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.0.0-beta.35.tgz#6475095bd451a96e50a32b997ddee82279292f11" - dependencies: - web3-bzz "1.0.0-beta.35" - web3-core "1.0.0-beta.35" - web3-eth "1.0.0-beta.35" - web3-eth-personal "1.0.0-beta.35" - web3-net "1.0.0-beta.35" - web3-shh "1.0.0-beta.35" - web3-utils "1.0.0-beta.35" +web3@1.0.0-beta.41: + version "1.0.0-beta.41" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.0.0-beta.41.tgz#ed2f7ae63d4db89820a4f6b0d4a0a7cc53eee5e1" + integrity sha512-G4s5GBLP+xxwcIhevc4rmSg1PpQB/ou6KGCAR6UqGaRXNkSysjjifU1eywaCpcbjIN5FXjIOh/HGjVMdkt0VZQ== + dependencies: + "@babel/runtime" "^7.3.1" + "@types/node" "^10.12.18" + web3-bzz "1.0.0-beta.41" + web3-core "1.0.0-beta.41" + web3-core-helpers "1.0.0-beta.41" + web3-core-method "1.0.0-beta.41" + web3-eth "1.0.0-beta.41" + web3-eth-personal "1.0.0-beta.41" + web3-net "1.0.0-beta.41" + web3-providers "1.0.0-beta.41" + web3-shh "1.0.0-beta.41" + web3-utils "1.0.0-beta.41" webidl-conversions@^4.0.2: version "4.0.2" @@ -11442,14 +11465,14 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: dependencies: iconv-lite "0.4.19" +whatwg-fetch@2.0.4, whatwg-fetch@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" + whatwg-fetch@>=0.10.0: version "2.0.3" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" -whatwg-fetch@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" - whatwg-fetch@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" @@ -11609,6 +11632,11 @@ xmldom@0.1.x: resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" integrity sha1-1QH5ezvbQDr4757MIFcxh6rawOk= +xmlhttprequest@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" + integrity sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw= + xregexp@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.0.0.tgz#e698189de49dd2a18cc5687b05e17c8e43943020" @@ -11618,10 +11646,6 @@ xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" @@ -11653,29 +11677,6 @@ yargs-parser@^11.1.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" - dependencies: - camelcase "^4.1.0" - -yargs@11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b" - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^9.0.2" - yargs@12.0.2: version "12.0.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc" @@ -11694,7 +11695,7 @@ yargs@12.0.2: y18n "^3.2.1 || ^4.0.0" yargs-parser "^10.1.0" -yargs@^12.0.2, yargs@^12.0.4, yargs@^12.0.5: +yargs@12.0.5, yargs@^12.0.2, yargs@^12.0.4, yargs@^12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== From 3c89c782e3a0fb3fa3833bd20ca279f42968afc5 Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Wed, 6 Feb 2019 18:52:12 +0100 Subject: [PATCH 154/219] Fixed webusb button --- src/utils/device.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/device.js b/src/utils/device.js index bd3b29aa..e0cada08 100644 --- a/src/utils/device.js +++ b/src/utils/device.js @@ -79,7 +79,7 @@ export const getStatusName = (deviceStatus: string): string => { } }; -export const isWebUSB = (transport: Transport) => !!((transport.type && transport.version.indexOf('webusb') >= 0)); +export const isWebUSB = (transport: Transport) => !!((transport.type && transport.type === 'webusb')); export const isDisabled = (selectedDevice: TrezorDevice, devices: Array<TrezorDevice>, transport: Transport) => { if (isWebUSB(transport)) return false; // always enabled if webusb From 9616d53d694c38c643b46df25643c92ca2cbef9b Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Wed, 6 Feb 2019 18:56:50 +0100 Subject: [PATCH 155/219] Fix eslint --- src/views/Wallet/components/LeftNavigation/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/Wallet/components/LeftNavigation/index.js b/src/views/Wallet/components/LeftNavigation/index.js index ac7a37ab..d440832c 100644 --- a/src/views/Wallet/components/LeftNavigation/index.js +++ b/src/views/Wallet/components/LeftNavigation/index.js @@ -257,7 +257,8 @@ class LeftNavigation extends React.PureComponent<Props, State> { color={colors.TEXT_SECONDARY} /> </WalletTypeIconWrapper> - </Tooltip>) : null + </Tooltip> + ) : null } {this.props.devices.length > 1 && ( <Tooltip From 21b672f646c9724fb1ab11a1e59d339db414fb20 Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Wed, 6 Feb 2019 19:24:29 +0100 Subject: [PATCH 156/219] Fix unit test --- src/utils/__tests__/device.test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/__tests__/device.test.js b/src/utils/__tests__/device.test.js index 78281035..aa38e5f3 100644 --- a/src/utils/__tests__/device.test.js +++ b/src/utils/__tests__/device.test.js @@ -40,9 +40,9 @@ describe('device utils', () => { it('isWebUSB', () => { const data = [ - { transport: { type: 'ParallelTransport', version: 'webusb' } }, + { transport: { type: 'webusb', version: '1.6.0' } }, { transport: { type: null, version: 'aaaaaa' } }, - { transport: { type: 'ParallelTransport', version: 'webusb' } }, + { transport: { type: 'webusb' } }, ]; data.forEach((item) => { From 945df2054e1b112af5392f107b5c819871130cbd Mon Sep 17 00:00:00 2001 From: Vladimir Volek <vladimir.volek@satoshilabs.com> Date: Thu, 7 Feb 2019 17:28:56 +0100 Subject: [PATCH 157/219] Separated headings --- src/views/Wallet/views/Account/SignVerify/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/Wallet/views/Account/SignVerify/index.js b/src/views/Wallet/views/Account/SignVerify/index.js index 9b0c2516..85817467 100644 --- a/src/views/Wallet/views/Account/SignVerify/index.js +++ b/src/views/Wallet/views/Account/SignVerify/index.js @@ -108,9 +108,9 @@ class SignVerify extends Component <Props> { const verifyAddressError = this.getError('verifyAddress'); return ( <Content> - <Title>Sign & Verify + Sign Message { + Verify message Date: Thu, 7 Feb 2019 17:57:07 +0100 Subject: [PATCH 158/219] Fix unexpected import --- test/scripts/init-device.js | 1 - test/support/index.js | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/test/scripts/init-device.js b/test/scripts/init-device.js index acf1ce26..2ce66c4e 100644 --- a/test/scripts/init-device.js +++ b/test/scripts/init-device.js @@ -1,4 +1,3 @@ -import '@babel/polyfill'; import { initSeedAllDevice } from 'trezor-bridge-communicator'; (async () => { diff --git a/test/support/index.js b/test/support/index.js index d1731ad0..46466718 100644 --- a/test/support/index.js +++ b/test/support/index.js @@ -1,3 +1,4 @@ +import '@babel/polyfill'; import './commands'; beforeEach(() => { From 31578f3a6d72f84d1b6a742459f1ece834a142db Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Mon, 11 Feb 2019 14:51:25 +0100 Subject: [PATCH 159/219] Fix unexpected import --- .eslintrc | 1 + test/integration/dashboard.spec.js | 4 ++-- test/scripts/init-device.js | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.eslintrc b/.eslintrc index a825aa3a..4e457674 100644 --- a/.eslintrc +++ b/.eslintrc @@ -17,6 +17,7 @@ "import/prefer-default-export": 0, "no-use-before-define": 0, "no-plusplus": 0, + "jest/no-disabled-tests": 0, "class-methods-use-this": 0, "react/require-default-props": 0, "react/forbid-prop-types": 0, diff --git a/test/integration/dashboard.spec.js b/test/integration/dashboard.spec.js index 82de5f6d..a256497b 100644 --- a/test/integration/dashboard.spec.js +++ b/test/integration/dashboard.spec.js @@ -10,7 +10,7 @@ describe('Dashboard page', () => { .matchImageSnapshot(); }); - it('content', () => { + it.skip('content', () => { cy.getTestElement('Dashboard__page__content') .should('be.visible') .matchImageSnapshot(); @@ -18,7 +18,7 @@ describe('Dashboard page', () => { // Menu - it('device header', () => { + it.skip('device header', () => { cy.getTestElement('Main__page__device__header') .should('be.visible') .matchImageSnapshot(); diff --git a/test/scripts/init-device.js b/test/scripts/init-device.js index 2ce66c4e..acf1ce26 100644 --- a/test/scripts/init-device.js +++ b/test/scripts/init-device.js @@ -1,3 +1,4 @@ +import '@babel/polyfill'; import { initSeedAllDevice } from 'trezor-bridge-communicator'; (async () => { From 71ba843c66f52d750198fe3ef7713ad4e7ed5109 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 18 Feb 2019 11:30:31 +0100 Subject: [PATCH 160/219] hide sidebar in default state on small screens --- src/reducers/WalletReducer.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/reducers/WalletReducer.js b/src/reducers/WalletReducer.js index 35df8b18..2bd6d657 100644 --- a/src/reducers/WalletReducer.js +++ b/src/reducers/WalletReducer.js @@ -29,7 +29,7 @@ const initialState: State = { dropdownOpened: false, firstLocationChange: true, showBetaDisclaimer: false, - showSidebar: true, + showSidebar: false, initialParams: null, initialPathname: null, disconnectRequest: null, From 83b2cd7e10f2e8de841eb63e25a6bcc422d07436 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Mon, 18 Feb 2019 11:45:40 +0100 Subject: [PATCH 161/219] Update bignumber and methods + other non breaking packages (#364) * Update bignumber and methods + other non breaking packages * Removed unused flowtype * Removed unused flowtype 2 --- package.json | 12 +- .../ethereum/SendFormValidationActions.js | 22 +- .../ripple/SendFormValidationActions.js | 8 +- .../Context/components/Static/index.js | 2 +- src/flowtype/npm/bignumber.js | 8 +- yarn.lock | 387 +++++++++--------- 6 files changed, 226 insertions(+), 213 deletions(-) diff --git a/package.json b/package.json index 4b15be37..714cf0ac 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@babel/polyfill": "^7.2.5", - "bignumber.js": "2.4.0", + "bignumber.js": "8.0.2", "color-hash": "^1.0.3", "commander": "^2.19.0", "connected-react-router": "^6.2.2", @@ -38,7 +38,7 @@ "date-fns": "^1.30.1", "ethereumjs-tx": "^1.3.7", "ethereumjs-units": "^0.2.0", - "ethereumjs-util": "^5.2.0", + "ethereumjs-util": "^6.0.0", "express": "^4.16.4", "friendly-errors-webpack-plugin": "^1.7.0", "git-revision-webpack-plugin": "^3.0.3", @@ -52,8 +52,8 @@ "raf": "^3.4.1", "raven-js": "^3.27.0", "rc-tooltip": "^3.7.3", - "react": "^16.8.0", - "react-dom": "^16.8.0", + "react": "^16.8.1", + "react-dom": "^16.8.1", "react-hot-loader": "^4.6.5", "react-json-view": "^1.19.1", "react-qr-reader": "^2.1.2", @@ -77,8 +77,8 @@ "trezor-bridge-communicator": "1.0.2", "trezor-connect": "7.0.0-beta.2", "wallet-address-validator": "^0.2.4", - "web3": "1.0.0-beta.41", - "webpack": "^4.29.1", + "web3": "1.0.0-beta.43", + "webpack": "^4.29.3", "webpack-build-notifier": "^0.1.30", "webpack-bundle-analyzer": "^3.0.3", "whatwg-fetch": "^3.0.0", diff --git a/src/actions/ethereum/SendFormValidationActions.js b/src/actions/ethereum/SendFormValidationActions.js index 16a30c7f..f8ddecea 100644 --- a/src/actions/ethereum/SendFormValidationActions.js +++ b/src/actions/ethereum/SendFormValidationActions.js @@ -226,16 +226,16 @@ export const amountValidation = ($state: State): PayloadAction => (dispat if (!state.amount.match(decimalRegExp)) { state.errors.amount = `Maximum ${token.decimals} decimals allowed`; - } else if (new BigNumber(state.total).greaterThan(account.balance)) { + } else if (new BigNumber(state.total).isGreaterThan(account.balance)) { state.errors.amount = `Not enough ${state.networkSymbol} to cover transaction fee`; - } else if (new BigNumber(state.amount).greaterThan(new BigNumber(token.balance).minus(pendingAmount))) { + } else if (new BigNumber(state.amount).isGreaterThan(new BigNumber(token.balance).minus(pendingAmount))) { state.errors.amount = 'Not enough funds'; - } else if (new BigNumber(state.amount).lessThanOrEqualTo('0')) { + } else if (new BigNumber(state.amount).isLessThanOrEqualTo('0')) { state.errors.amount = 'Amount is too low'; } } else if (!state.amount.match(ETH_18_RE)) { state.errors.amount = 'Maximum 18 decimals allowed'; - } else if (new BigNumber(state.total).greaterThan(new BigNumber(account.balance).minus(pendingAmount))) { + } else if (new BigNumber(state.total).isGreaterThan(new BigNumber(account.balance).minus(pendingAmount))) { state.errors.amount = 'Not enough funds'; } } @@ -261,9 +261,9 @@ export const gasLimitValidation = ($state: State): PayloadAction => (disp state.errors.gasLimit = 'Gas limit is not a number'; } else { const gl: BigNumber = new BigNumber(gasLimit); - if (gl.lessThan(1)) { + if (gl.isLessThan(1)) { state.errors.gasLimit = 'Gas limit is too low'; - } else if (gl.lessThan(state.currency !== state.networkSymbol ? network.defaultGasLimitTokens : network.defaultGasLimit)) { + } else if (gl.isLessThan(state.currency !== state.networkSymbol ? network.defaultGasLimitTokens : network.defaultGasLimit)) { state.warnings.gasLimit = 'Gas limit is below recommended'; } } @@ -284,9 +284,9 @@ export const gasPriceValidation = ($state: State): PayloadAction => (): S state.errors.gasPrice = 'Gas price is not a number'; } else { const gp: BigNumber = new BigNumber(gasPrice); - if (gp.greaterThan(1000)) { + if (gp.isGreaterThan(1000)) { state.warnings.gasPrice = 'Gas price is too high'; - } else if (gp.lessThanOrEqualTo('0')) { + } else if (gp.isLessThanOrEqualTo('0')) { state.errors.gasPrice = 'Gas price is too low'; } } @@ -312,9 +312,9 @@ export const nonceValidation = ($state: State): PayloadAction => (dispatc state.errors.nonce = 'Nonce is not a valid number'; } else { const n: BigNumber = new BigNumber(nonce); - if (n.lessThan(account.nonce)) { + if (n.isLessThan(account.nonce)) { state.warnings.nonce = 'Nonce is lower than recommended'; - } else if (n.greaterThan(account.nonce)) { + } else if (n.isGreaterThan(account.nonce)) { state.warnings.nonce = 'Nonce is greater than recommended'; } } @@ -358,7 +358,7 @@ export const calculateMaxAmount = (balance: BigNumber, gasPrice: string, gasLimi // TODO - minus pendings const fee = calculateFee(gasPrice, gasLimit); const max = balance.minus(fee); - if (max.lessThan(0)) return '0'; + if (max.isLessThan(0)) return '0'; return max.toFixed(); } catch (error) { return '0'; diff --git a/src/actions/ripple/SendFormValidationActions.js b/src/actions/ripple/SendFormValidationActions.js index 4ee3a2f9..d4f4c765 100644 --- a/src/actions/ripple/SendFormValidationActions.js +++ b/src/actions/ripple/SendFormValidationActions.js @@ -236,7 +236,7 @@ const amountValidation = ($state: State): PayloadAction => (dispatch: Dis const pendingAmount: BigNumber = getPendingAmount(pending, state.networkSymbol); if (!state.amount.match(XRP_6_RE)) { state.errors.amount = 'Maximum 6 decimals allowed'; - } else if (new BigNumber(state.total).greaterThan(new BigNumber(account.balance).minus(pendingAmount))) { + } else if (new BigNumber(state.total).isGreaterThan(new BigNumber(account.balance).minus(pendingAmount))) { state.errors.amount = 'Not enough funds'; } } @@ -271,9 +271,9 @@ export const feeValidation = ($state: State): PayloadAction => (dispatch: state.errors.fee = 'Fee must be an absolute number'; } else { const gl: BigNumber = new BigNumber(fee); - if (gl.lessThan(network.fee.minFee)) { + if (gl.isLessThan(network.fee.minFee)) { state.errors.fee = 'Fee is below recommended'; - } else if (gl.greaterThan(network.fee.maxFee)) { + } else if (gl.isGreaterThan(network.fee.maxFee)) { state.errors.fee = 'Fee is above recommended'; } } @@ -310,7 +310,7 @@ const calculateMaxAmount = (balance: BigNumber, fee: string): string => { try { // TODO - minus pendings const max = balance.minus(fee); - if (max.lessThan(0)) return '0'; + if (max.isLessThan(0)) return '0'; return max.toFixed(); } catch (error) { return '0'; diff --git a/src/components/notifications/Context/components/Static/index.js b/src/components/notifications/Context/components/Static/index.js index af8b09d5..912569cf 100644 --- a/src/components/notifications/Context/components/Static/index.js +++ b/src/components/notifications/Context/components/Static/index.js @@ -19,7 +19,7 @@ export default (props: Props) => { const { reserve, balance } = account; const bigBalance = new Bignumber(balance); const bigReserve = new Bignumber(reserve); - if (bigBalance.lessThan(bigReserve)) { + if (bigBalance.isLessThan(bigReserve)) { notifications.push( Date: Tue, 19 Feb 2019 12:07:59 +0100 Subject: [PATCH 162/219] changelog adjusted --- CHANGELOG.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d772cfce..440a3eb6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ +## 1.1.0-beta +__added__ +- Ripple support enabled +- responsive sidebar +- QR code scanner in send form +- clear send form button + +__changed__ +- update dependencies +- upgrade babel7 +- split icons for T1 and TT +- device header styles +- input styles +- split sign and verify title + +__fixed__ +- beta disclaimer wrapper position +- sidebar scrollbar + ## 1.0.3-beta __added__ - Ethereum: sign & verify tab From 4e11e3ee0d6cf65e710f1105e8173eb70f0b8986 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 19 Feb 2019 15:49:17 +0100 Subject: [PATCH 163/219] fix missing indicator on account change --- src/views/Wallet/components/TopNavigationAccount/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/views/Wallet/components/TopNavigationAccount/index.js b/src/views/Wallet/components/TopNavigationAccount/index.js index 94977803..8d41e095 100644 --- a/src/views/Wallet/components/TopNavigationAccount/index.js +++ b/src/views/Wallet/components/TopNavigationAccount/index.js @@ -69,6 +69,7 @@ const StyledNavLink = styled(NavLink)` class TopNavigationAccount extends React.PureComponent { wrapperRefCallback = (element: ?HTMLElement) => { this.wrapper = element; + this.forceUpdate(); } wrapper: ?HTMLElement; From 1d431afef970291f7419a693c19fdb591af92cee Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Tue, 19 Feb 2019 17:05:25 +0100 Subject: [PATCH 164/219] Update package version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 714cf0ac..6d1c987e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "trezor-wallet", - "version": "1.0.0", + "version": "1.0.3-beta", "author": "TREZOR ", "description": "", "bin": { From e116cb17cd879bee73caac076682be6cd8276469 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 19 Feb 2019 17:07:44 +0100 Subject: [PATCH 165/219] fix missing indicator on account change --- .../components/TopNavigationAccount/index.js | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/views/Wallet/components/TopNavigationAccount/index.js b/src/views/Wallet/components/TopNavigationAccount/index.js index 8d41e095..a320ebcc 100644 --- a/src/views/Wallet/components/TopNavigationAccount/index.js +++ b/src/views/Wallet/components/TopNavigationAccount/index.js @@ -14,6 +14,9 @@ type Props = { router: $ElementType, selectedAccount: $ElementType, }; +type StateProps = { + wrapper: ?HTMLElement, +}; const Wrapper = styled.div` position: relative; @@ -66,10 +69,18 @@ const StyledNavLink = styled(NavLink)` } `; -class TopNavigationAccount extends React.PureComponent { +class TopNavigationAccount extends React.PureComponent { + constructor(props) { + super(props); + this.state = { + wrapper: null, + }; + } + wrapperRefCallback = (element: ?HTMLElement) => { - this.wrapper = element; - this.forceUpdate(); + this.setState({ + wrapper: element, + }); } wrapper: ?HTMLElement; @@ -90,7 +101,7 @@ class TopNavigationAccount extends React.PureComponent { {network.type === 'ethereum' && Sign & Verify } - this.wrapper} /> + this.state.wrapper} /> ); } From 8da8544316ec3f1ebf9836a6d36814daa695d0cb Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Tue, 19 Feb 2019 17:12:56 +0100 Subject: [PATCH 166/219] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f016fcf9..06ecf42d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Trezor Wallet +You can try this wallet live [HERE](https://beta-wallet.trezor.io/next/) + To install dependencies run `npm install` or `yarn` To start locally run `npm run dev` or `yarn run dev` To build the project run `npm run build` or `yarn run build` From 0422dc78baed5d4dce74e566818f324f17f6d9d6 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 19 Feb 2019 17:21:17 +0100 Subject: [PATCH 167/219] rename types --- src/views/Wallet/components/TopNavigationAccount/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/Wallet/components/TopNavigationAccount/index.js b/src/views/Wallet/components/TopNavigationAccount/index.js index a320ebcc..192c1164 100644 --- a/src/views/Wallet/components/TopNavigationAccount/index.js +++ b/src/views/Wallet/components/TopNavigationAccount/index.js @@ -14,7 +14,7 @@ type Props = { router: $ElementType, selectedAccount: $ElementType, }; -type StateProps = { +type LocalState = { wrapper: ?HTMLElement, }; @@ -69,7 +69,7 @@ const StyledNavLink = styled(NavLink)` } `; -class TopNavigationAccount extends React.PureComponent { +class TopNavigationAccount extends React.PureComponent { constructor(props) { super(props); this.state = { From 53c7c20a29f7da755f70990c80e0d969bd428ee8 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 19 Feb 2019 19:10:47 +0100 Subject: [PATCH 168/219] throw exception when non-num string is passed to Bignumber() --- src/actions/ethereum/SendFormValidationActions.js | 7 ++++++- src/actions/ripple/SendFormValidationActions.js | 7 ++++++- src/flowtype/npm/bignumber.js | 1 + src/utils/formatUtils.js | 14 ++++++++++++-- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/actions/ethereum/SendFormValidationActions.js b/src/actions/ethereum/SendFormValidationActions.js index f8ddecea..66d787d4 100644 --- a/src/actions/ethereum/SendFormValidationActions.js +++ b/src/actions/ethereum/SendFormValidationActions.js @@ -347,7 +347,12 @@ export const calculateFee = (gasPrice: string, gasLimit: string): string => { export const calculateTotal = (amount: string, gasPrice: string, gasLimit: string): string => { try { - return new BigNumber(amount).plus(calculateFee(gasPrice, gasLimit)).toFixed(); + const bAmount = new BigNumber(amount); + // BigNumber() returns NaN on non-numeric string + if (bAmount.isNaN()) { + throw new Error('Amount is not a number'); + } + return bAmount.plus(calculateFee(gasPrice, gasLimit)).toFixed(); } catch (error) { return '0'; } diff --git a/src/actions/ripple/SendFormValidationActions.js b/src/actions/ripple/SendFormValidationActions.js index d4f4c765..6ef5bbca 100644 --- a/src/actions/ripple/SendFormValidationActions.js +++ b/src/actions/ripple/SendFormValidationActions.js @@ -300,7 +300,12 @@ export const destinationTagValidation = ($state: State): PayloadAction => const calculateTotal = (amount: string, fee: string): string => { try { - return new BigNumber(amount).plus(fee).toFixed(); + const bAmount = new BigNumber(amount); + // BigNumber() returns NaN on non-numeric string + if (bAmount.isNaN()) { + throw new Error('Amount is not a number'); + } + return bAmount.plus(fee).toFixed(); } catch (error) { return '0'; } diff --git a/src/flowtype/npm/bignumber.js b/src/flowtype/npm/bignumber.js index fd1a31ef..d7bca1a4 100644 --- a/src/flowtype/npm/bignumber.js +++ b/src/flowtype/npm/bignumber.js @@ -37,6 +37,7 @@ declare module 'bignumber.js' { isLessThan(n: $npm$big$number$object): boolean; lte(n: $npm$big$number$object): boolean; isLessThanOrEqualTo(n: $npm$big$number$object): boolean; + isNaN(): boolean; minus(n: $npm$big$number$object): T_BigNumber; mod(n: $npm$big$number$object): T_BigNumber; plus(n: $npm$big$number$object): T_BigNumber; diff --git a/src/utils/formatUtils.js b/src/utils/formatUtils.js index a273959c..37231d7c 100644 --- a/src/utils/formatUtils.js +++ b/src/utils/formatUtils.js @@ -56,7 +56,12 @@ export const hexToString = (hex: string): string => { export const toDecimalAmount = (amount: string | number, decimals: number): string => { try { - return new BigNumber(amount).div(10 ** decimals).toString(10); + const bAmount = new BigNumber(amount); + // BigNumber() returns NaN on non-numeric string + if (bAmount.isNaN()) { + throw new Error('Amount is not a number'); + } + return bAmount.div(10 ** decimals).toString(10); } catch (error) { return '0'; } @@ -64,7 +69,12 @@ export const toDecimalAmount = (amount: string | number, decimals: number): stri export const fromDecimalAmount = (amount: string | number, decimals: number): string => { try { - return new BigNumber(amount).times(10 ** decimals).toString(10); + const bAmount = new BigNumber(amount); + // BigNumber() returns NaN on non-numeric string + if (bAmount.isNaN()) { + throw new Error('Amount is not a number'); + } + return bAmount.times(10 ** decimals).toString(10); } catch (error) { return '0'; } From 2927f5ebafec79202488f89017e5df8cdef8439e Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 19 Feb 2019 19:30:39 +0100 Subject: [PATCH 169/219] same send button text for xrp and eth --- src/views/Wallet/views/Account/Send/ripple/index.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/views/Wallet/views/Account/Send/ripple/index.js b/src/views/Wallet/views/Account/Send/ripple/index.js index 096a63ef..ce761231 100644 --- a/src/views/Wallet/views/Account/Send/ripple/index.js +++ b/src/views/Wallet/views/Account/Send/ripple/index.js @@ -248,7 +248,10 @@ const AccountSend = (props: Props) => { } let isSendButtonDisabled: boolean = Object.keys(errors).length > 0 || total === '0' || amount.length === 0 || address.length === 0 || sending; - let sendButtonText: string = ` ${total} ${network.symbol}`; + let sendButtonText: string = 'Send'; + if (total !== '0') { + sendButtonText = `${sendButtonText} ${total} ${network.symbol}`; + } if (!device.connected) { sendButtonText = 'Device is not connected'; From c975303469ac68e9f25ce620ad21066fa8bb5b06 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Tue, 19 Feb 2019 21:48:48 +0100 Subject: [PATCH 170/219] Add app version page (#375) * Add app version page * add github link --- .eslintrc | 3 ++- src/components/Footer/index.js | 4 +-- src/support/routes.js | 5 ++++ src/views/Landing/views/Version/index.js | 33 ++++++++++++++++++++++++ src/views/index.js | 2 ++ webpack/dev.babel.js | 8 +++--- webpack/production.babel.js | 2 ++ 7 files changed, 50 insertions(+), 7 deletions(-) create mode 100644 src/views/Landing/views/Version/index.js diff --git a/.eslintrc b/.eslintrc index 4e457674..37d11b68 100644 --- a/.eslintrc +++ b/.eslintrc @@ -6,7 +6,8 @@ ], "globals": { "LOCAL": true, - "COMMITHASH": true + "COMMITHASH": true, + "VERSION": true }, "env": { "browser": true, diff --git a/src/components/Footer/index.js b/src/components/Footer/index.js index b9df79fc..7dfd026c 100644 --- a/src/components/Footer/index.js +++ b/src/components/Footer/index.js @@ -12,8 +12,6 @@ import colors from 'config/colors'; import { FONT_SIZE } from 'config/variables'; import * as LogActions from 'actions/LogActions'; -declare var COMMITHASH: string; - type Props = { opened: boolean, isLanding: boolean, @@ -60,7 +58,7 @@ const Right = styled.div` const Footer = ({ opened, toggle, isLanding }: Props) => ( - © {getYear(new Date())} + © {getYear(new Date())} SatoshiLabs Terms { opened ? 'Hide Log' : 'Show Log' } diff --git a/src/support/routes.js b/src/support/routes.js index 90452679..717bed03 100644 --- a/src/support/routes.js +++ b/src/support/routes.js @@ -12,6 +12,11 @@ export const routes: Array = [ pattern: '/', fields: [], }, + { + name: 'landing-version', + pattern: '/version', + fields: ['version'], + }, { name: 'landing-bridge', pattern: '/bridge', diff --git a/src/views/Landing/views/Version/index.js b/src/views/Landing/views/Version/index.js new file mode 100644 index 00000000..dee88428 --- /dev/null +++ b/src/views/Landing/views/Version/index.js @@ -0,0 +1,33 @@ +import React from 'react'; +import styled from 'styled-components'; +import { H3, H2 } from 'components/Heading'; +import LandingWrapper from 'views/Landing/components/LandingWrapper'; +import Link from 'components/Link'; + +const Wrapper = styled.div` + display: flex; + flex: 1; + flex-direction: column; + align-items: center; + justify-content: center; +`; + +const Line = styled.div` + padding: 20px; +`; + +const Version = () => ( + + +

APPLICATION VERSION

+

{VERSION}

+ +

LAST COMMIT HASH

+ +

{COMMITHASH}

+ +
+
+); + +export default Version; \ No newline at end of file diff --git a/src/views/index.js b/src/views/index.js index 62221dce..1b0a8963 100644 --- a/src/views/index.js +++ b/src/views/index.js @@ -7,6 +7,7 @@ import { ConnectedRouter } from 'connected-react-router'; // general import ErrorBoundary from 'support/ErrorBoundary'; import ImagesPreloader from 'support/ImagesPreloader'; +import Version from 'views/Landing/views/Version'; import { getPattern } from 'support/routes'; // landing views @@ -38,6 +39,7 @@ const App = () => ( + diff --git a/webpack/dev.babel.js b/webpack/dev.babel.js index 89e45dab..5c770fc9 100644 --- a/webpack/dev.babel.js +++ b/webpack/dev.babel.js @@ -3,14 +3,15 @@ import GitRevisionPlugin from 'git-revision-webpack-plugin'; import HtmlWebpackPlugin from 'html-webpack-plugin'; import FriendlyErrorsWebpackPlugin from 'friendly-errors-webpack-plugin'; import WebpackBuildNotifierPlugin from 'webpack-build-notifier'; - -// turn on for bundle analyzing -// import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer'; +import packageJson from '../package.json'; import { SRC, BUILD, PORT, PUBLIC, } from './constants'; +// turn on for bundle analyzing +// import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer'; + const gitRevisionPlugin = new GitRevisionPlugin(); module.exports = { @@ -103,6 +104,7 @@ module.exports = { suppressSuccess: true, }), new webpack.DefinePlugin({ + VERSION: JSON.stringify(packageJson.version), COMMITHASH: JSON.stringify(gitRevisionPlugin.commithash()), }), new HtmlWebpackPlugin({ diff --git a/webpack/production.babel.js b/webpack/production.babel.js index 0a6bc979..9be7e0b5 100644 --- a/webpack/production.babel.js +++ b/webpack/production.babel.js @@ -3,6 +3,7 @@ import GitRevisionPlugin from 'git-revision-webpack-plugin'; import HtmlWebpackPlugin from 'html-webpack-plugin'; import FriendlyErrorsWebpackPlugin from 'friendly-errors-webpack-plugin'; import CopyWebpackPlugin from 'copy-webpack-plugin'; +import packageJson from '../package.json'; import { SRC, BUILD, PUBLIC } from './constants'; const gitRevisionPlugin = new GitRevisionPlugin(); @@ -65,6 +66,7 @@ module.exports = { plugins: [ new webpack.DefinePlugin({ 'process.env.BUILD': JSON.stringify(process.env.BUILD), + VERSION: JSON.stringify(packageJson.version), COMMITHASH: JSON.stringify(gitRevisionPlugin.commithash()), }), new HtmlWebpackPlugin({ From e9d3f3ff92026812d0a686a198b5510849582c19 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Wed, 20 Feb 2019 12:04:21 +0100 Subject: [PATCH 171/219] Fixed trezor one name, padding adjusted --- src/actions/SelectedAccountActions.js | 4 +++- .../Content/components/FirmwareUnsupported/index.js | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/actions/SelectedAccountActions.js b/src/actions/SelectedAccountActions.js index 868b7155..bddee57b 100644 --- a/src/actions/SelectedAccountActions.js +++ b/src/actions/SelectedAccountActions.js @@ -52,9 +52,11 @@ const getExceptionPage = (state: State, selectedAccount: SelectedAccountState): }; } if (discovery.fwNotSupported) { + const trezorModel = device.features.model; + const trezorName = trezorModel.toString() === '1' ? 'One' : trezorModel; return { type: 'fwNotSupported', - title: `${network.name} is not supported with Trezor ${device.features.model}`, + title: `${network.name} is not supported with Trezor ${trezorName}`, message: 'Find more information on Trezor Wiki.', shortcut: network.shortcut, }; diff --git a/src/views/Wallet/components/Content/components/FirmwareUnsupported/index.js b/src/views/Wallet/components/Content/components/FirmwareUnsupported/index.js index b48f562b..9d7afdbc 100644 --- a/src/views/Wallet/components/Content/components/FirmwareUnsupported/index.js +++ b/src/views/Wallet/components/Content/components/FirmwareUnsupported/index.js @@ -32,7 +32,7 @@ const Wrapper = styled.div` `; const CoinLogoWrapper = styled.div` - margin: 10px 0; + margin: 10px 0 20px 0; `; const StyledCoinLogo = styled(CoinLogo)` From 8e4dd7c471d62fd9c4f941145d1152bd1b9bea05 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Wed, 20 Feb 2019 12:17:28 +0100 Subject: [PATCH 172/219] Use utils for trezor model --- src/actions/SelectedAccountActions.js | 6 +++--- src/components/images/TrezorImage/index.js | 3 ++- src/utils/device.js | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/actions/SelectedAccountActions.js b/src/actions/SelectedAccountActions.js index bddee57b..c71c0457 100644 --- a/src/actions/SelectedAccountActions.js +++ b/src/actions/SelectedAccountActions.js @@ -8,6 +8,7 @@ import * as TOKEN from 'actions/constants/token'; import * as PENDING from 'actions/constants/pendingTx'; import * as reducerUtils from 'reducers/utils'; +import { getVersion } from 'utils/device'; import { initialState } from 'reducers/SelectedAccountReducer'; import type { @@ -51,12 +52,11 @@ const getExceptionPage = (state: State, selectedAccount: SelectedAccountState): shortcut: 'not-used', }; } + if (discovery.fwNotSupported) { - const trezorModel = device.features.model; - const trezorName = trezorModel.toString() === '1' ? 'One' : trezorModel; return { type: 'fwNotSupported', - title: `${network.name} is not supported with Trezor ${trezorName}`, + title: `${network.name} is not supported with Trezor ${getVersion(device)}`, message: 'Find more information on Trezor Wiki.', shortcut: network.shortcut, }; diff --git a/src/components/images/TrezorImage/index.js b/src/components/images/TrezorImage/index.js index abc6fdf0..7a106b68 100644 --- a/src/components/images/TrezorImage/index.js +++ b/src/components/images/TrezorImage/index.js @@ -16,7 +16,8 @@ const Img = styled.img` const TrezorImage = ({ model }: Props) => { // $FlowIssue: `require` must be a string literal. - const src = require(`./images/trezor-${model}.png`); // eslint-disable-line + const imageName = model === 'One' ? 1 : model; + const src = require(`./images/trezor-${imageName}.png`); // eslint-disable-line return ( diff --git a/src/utils/device.js b/src/utils/device.js index e0cada08..b1b4db72 100644 --- a/src/utils/device.js +++ b/src/utils/device.js @@ -104,7 +104,7 @@ export const getVersion = (device: TrezorDevice): string => { if (device.features && device.features.major_version > 1) { version = 'T'; } else { - version = '1'; + version = 'One'; } return version; }; From 46984d6e794480de539e72ee91304e3d06626a87 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 20 Feb 2019 13:59:15 +0100 Subject: [PATCH 173/219] fix proptypes --- src/components/Tooltip/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Tooltip/index.js b/src/components/Tooltip/index.js index 9bd4ec68..17cb2344 100644 --- a/src/components/Tooltip/index.js +++ b/src/components/Tooltip/index.js @@ -68,7 +68,7 @@ Tooltip.propTypes = { PropTypes.string, ]), readMoreLink: PropTypes.string, - enterDelayMs: PropTypes.bool, + enterDelayMs: PropTypes.number, }; export default Tooltip; From 1ddac8eabffe0422936d97a697f68eee872929c2 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 20 Feb 2019 14:28:11 +0100 Subject: [PATCH 174/219] downgrade connected-react-router@6.0.0 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 6d1c987e..b9e7d27f 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "bignumber.js": "8.0.2", "color-hash": "^1.0.3", "commander": "^2.19.0", - "connected-react-router": "^6.2.2", + "connected-react-router": "6.0.0", "copy-webpack-plugin": "^4.6.0", "cross-env": "^5.2.0", "date-fns": "^1.30.1", diff --git a/yarn.lock b/yarn.lock index c8ed20a3..f42ab115 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2949,10 +2949,10 @@ connect-history-api-fallback@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" -connected-react-router@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/connected-react-router/-/connected-react-router-6.2.2.tgz#10ed0942ee2032de7cb0fd8479bde526853906ed" - integrity sha512-tPI3s7yYtnTt/XLoQFsQqIEQxdQCrsZltEdozjG7LPkOTNglJJ7WqUqnlnh9thC6ebavfaJoTtPa9G2EibuJbg== +connected-react-router@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/connected-react-router/-/connected-react-router-6.0.0.tgz#cb7ccbbc5ed353832ecd91d68289c916e8aba734" + integrity sha512-TarPqf2wY3cz993Mw3eBg2U12M5OmaGwKzJsinvRQh61nKb8WMUvimyhu6u2HeWS8625PHFXjNOU0OIAMWj/bQ== dependencies: immutable "^3.8.1" seamless-immutable "^7.1.3" From faa837c6ddcca6e25d36a18eaf31c14020159584 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Wed, 20 Feb 2019 14:58:01 +0100 Subject: [PATCH 175/219] fix unit tests --- src/utils/__tests__/__snapshots__/device.test.js.snap | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/utils/__tests__/__snapshots__/device.test.js.snap b/src/utils/__tests__/__snapshots__/device.test.js.snap index 8ce5ffe6..d7109016 100644 --- a/src/utils/__tests__/__snapshots__/device.test.js.snap +++ b/src/utils/__tests__/__snapshots__/device.test.js.snap @@ -44,15 +44,15 @@ exports[`device utils get status name 7`] = `"Disconnected"`; exports[`device utils get status name 8`] = `"Unavailable"`; -exports[`device utils get version 1`] = `"1"`; +exports[`device utils get version 1`] = `"One"`; -exports[`device utils get version 2`] = `"1"`; +exports[`device utils get version 2`] = `"One"`; -exports[`device utils get version 3`] = `"1"`; +exports[`device utils get version 3`] = `"One"`; -exports[`device utils get version 4`] = `"1"`; +exports[`device utils get version 4`] = `"One"`; -exports[`device utils get version 5`] = `"1"`; +exports[`device utils get version 5`] = `"One"`; exports[`device utils get version 6`] = `"T"`; From ea52c526ff48db8ab7a7ba943d31119fdc27dbe9 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Wed, 20 Feb 2019 15:16:22 +0100 Subject: [PATCH 176/219] fix flow --- src/components/images/TrezorImage/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/images/TrezorImage/index.js b/src/components/images/TrezorImage/index.js index 7a106b68..0e0c716b 100644 --- a/src/components/images/TrezorImage/index.js +++ b/src/components/images/TrezorImage/index.js @@ -15,8 +15,8 @@ const Img = styled.img` `; const TrezorImage = ({ model }: Props) => { - // $FlowIssue: `require` must be a string literal. const imageName = model === 'One' ? 1 : model; + // $FlowIssue: `require` must be a string literal. const src = require(`./images/trezor-${imageName}.png`); // eslint-disable-line return ( From a9d5cf4344bb1b36ab36cfb64c50ef8328a408cc Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Wed, 20 Feb 2019 15:32:04 +0100 Subject: [PATCH 177/219] Removed docker readme --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 06ecf42d..2162d8c7 100644 --- a/README.md +++ b/README.md @@ -6,10 +6,6 @@ To install dependencies run `npm install` or `yarn` To start locally run `npm run dev` or `yarn run dev` To build the project run `npm run build` or `yarn run build` -## Docker -- Build `./scripts/docker-build.sh` -- Run `./scripts/docker-run.sh` - ## Project structure The project is divided into two parts - data that are used when compiling the project and data that aren't. From 48c0b2afcebdb68d4b556f953fad2916757fe412 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 20 Feb 2019 16:35:28 +0100 Subject: [PATCH 178/219] add more user-friendly error messages --- src/components/modals/QrModal/index.js | 64 ++++++++++++++++---------- 1 file changed, 39 insertions(+), 25 deletions(-) diff --git a/src/components/modals/QrModal/index.js b/src/components/modals/QrModal/index.js index 1eef2b10..25fb353f 100644 --- a/src/components/modals/QrModal/index.js +++ b/src/components/modals/QrModal/index.js @@ -38,11 +38,18 @@ const CameraPlaceholder = styled(P)` padding: 10px 0; `; -const Error = styled(P)` - text-align: center; +const Error = styled.div` padding: 10px 0; +`; + +const ErrorTitle = styled(P)` + text-align: center; color: ${colors.ERROR_PRIMARY}; `; +const ErrorMessage = styled.span` + text-align: center; + color: ${colors.TEXT_PRIMARY}; +`; const StyledQrReader = styled(QrReader)` padding: 10px 0; @@ -95,14 +102,25 @@ class QrModal extends React.Component { } handleError = (err: any) => { - console.log(err); - this.setState({ - error: err, - }); - + // log thrown error + console.error(err); if (this.props.onError) { this.props.onError(err); } + + if (err.name === 'NotAllowedError' || err.name === 'PermissionDeniedError') { + this.setState({ + error: 'Permission to access the camera was denied.', + }); + } else if (err.name === 'NotFoundError' || err.name === 'DevicesNotFoundError') { + this.setState({ + error: 'The camera was not recognized.', + }); + } else { + this.setState({ + error: 'Unknown error. See console logs for details.', + }); + } } handleCancel = () => { @@ -123,29 +141,25 @@ class QrModal extends React.Component { /> -

Scan an address from a QR code

- {!this.state.readerLoaded && ( - - Waiting for camera... - - ) - } -
- - +

Scan QR code

+ {!this.state.readerLoaded && !this.state.error && Waiting for camera...} {this.state.error && ( - {this.state.error.toString()} + Oops! Something went wrong! + {this.state.error.toString()} )}
+ {!this.state.error && ( + + )}
); } From c7f4796191532c71f35d31bec826be4edd7072ad Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 20 Feb 2019 16:49:49 +0100 Subject: [PATCH 179/219] handle NotReadableError --- src/components/modals/QrModal/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/modals/QrModal/index.js b/src/components/modals/QrModal/index.js index 25fb353f..2666584a 100644 --- a/src/components/modals/QrModal/index.js +++ b/src/components/modals/QrModal/index.js @@ -108,7 +108,8 @@ class QrModal extends React.Component { this.props.onError(err); } - if (err.name === 'NotAllowedError' || err.name === 'PermissionDeniedError') { + if (err.name === 'NotAllowedError' || err.name === 'PermissionDeniedError' + || err.name === 'NotReadableError' || err.name === 'TrackStartError') { this.setState({ error: 'Permission to access the camera was denied.', }); From 6ddc1de56879ca3f3b1b59ac3a27193dd5578317 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Wed, 20 Feb 2019 17:55:48 +0100 Subject: [PATCH 180/219] fix sign verify alignment --- .../Wallet/views/Account/SignVerify/index.js | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/src/views/Wallet/views/Account/SignVerify/index.js b/src/views/Wallet/views/Account/SignVerify/index.js index 85817467..dccccaf6 100644 --- a/src/views/Wallet/views/Account/SignVerify/index.js +++ b/src/views/Wallet/views/Account/SignVerify/index.js @@ -16,8 +16,11 @@ const Wrapper = styled.div` display: flex; flex: 1; flex-direction: row; - flex-wrap: wrap; background: ${colors.WHITE}; + + @media screen and (max-width: ${SCREEN_SIZE.MD}) { + flex-wrap: wrap; + } `; const Row = styled.div` @@ -28,11 +31,6 @@ const RowButtons = styled(Row)` display: flex; align-items: center; justify-content: flex-end; - - @media all and (max-width: 850px) { - flex-wrap: wrap; - margin: -5px; - } `; const StyledButton = styled(Button)` @@ -42,15 +40,6 @@ const StyledButton = styled(Button)` &:first-child { margin-left: 0; } - - @media all and (max-width: 850px) { - flex: 1; - margin: 5px; - - &:first-child { - margin-left: 5px; - } - } `; const Column = styled.div` @@ -58,7 +47,7 @@ const Column = styled.div` flex: 1 1 50%; flex-direction: column; - @media screen and (max-width: ${SCREEN_SIZE.XS}) { + @media screen and (max-width: ${SCREEN_SIZE.MD}) { flex: 1 1 100%; } `; @@ -68,7 +57,7 @@ const Sign = styled(Column)``; const Verify = styled(Column)` padding-left: 20px; - @media screen and (max-width: ${SCREEN_SIZE.XS}) { + @media screen and (max-width: ${SCREEN_SIZE.MD}) { padding-left: 0px; } `; From f41a799eee63ce1babb5c194c81fa670868e6e56 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 21 Feb 2019 00:44:13 +0100 Subject: [PATCH 181/219] add hamburger icon --- src/config/icons.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/config/icons.js b/src/config/icons.js index 1190fa88..2e15dcc1 100644 --- a/src/config/icons.js +++ b/src/config/icons.js @@ -79,6 +79,9 @@ export default { QRCODE: [ 'M832 1024l-64 0l0 -128l64 0l0 128Zm-320 0l-64 0l0 -128l64 0l0 128Zm192 0l-128 0l0 -128l128 0l0 128Zm192 -192l64 0l0 64l64 0l0 128l-128 0l0 -192Zm-896 -192l384 0l0 384l-384 0l0 -384Zm320 320l0 -256l-256 0l0 256l256 0Zm-64 -64l-128 0l0 -128l128 0l0 128Zm512 0l-64 0l0 -64l64 0l0 64Zm-192 -128l0 128l-64 0l0 -64l-64 0l0 -64l128 0Zm128 64l-64 0l0 -64l64 0l0 64Zm192 0l-128 0l0 -64l128 0l0 64Zm-256 -64l-64 0l0 -64l64 0l0 64Zm320 -64l-64 0l0 -64l128 0l0 128l-64 0l0 -64Zm-384 0l-128 0l0 -128l128 0l0 128Zm64 -64l64 0l0 -64l128 0l0 128l-192 0l0 -64Zm-320 -128l64 0l0 -64l64 0l0 128l-128 0l0 -64Zm256 0l-64 0l0 -64l192 0l0 128l-128 0l0 -64Zm-576 -64l128 0l0 64l64 0l0 64l-192 0l0 -128Zm896 64l-128 0l0 -64l256 0l0 128l-128 0l0 -64Zm-576 0l-128 0l0 -64l128 0l0 64Zm192 -64l-64 0l0 -64l64 0l0 64Zm-512 -448l384 0l0 384l-384 0l0 -384Zm576 384l-64 0l0 -128l64 0l0 128Zm64 -384l384 0l0 384l-384 0l0 -384Zm-320 320l0 -256l-256 0l0 256l256 0Zm640 0l0 -256l-256 0l0 256l256 0Zm-704 -64l-128 0l0 -128l128 0l0 128Zm640 0l-128 0l0 -128l128 0l0 128Zm-384 -256l0 64l64 0l0 128l-64 0l0 64l-64 0l0 -256l64 0Z', ], + MENU: [ + 'M192,265.497l640,0l0,119.906l-640,0l0,-119.906Zm0,186.56l640,0l0,119.946l-640,0l0,-119.946Zm0,186.56l640,0l0,119.886l-640,0l0,-119.886Z', + ], }; /* From 7b1d5551383ea5331250e01d01485034ba351fac Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 21 Feb 2019 00:46:37 +0100 Subject: [PATCH 182/219] use svg icons for menu toggler instead of utf chars --- src/components/Header/index.js | 46 ++++++++++++++++++++++++++++------ 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/src/components/Header/index.js b/src/components/Header/index.js index 35bbcd2c..a0cf1fa9 100644 --- a/src/components/Header/index.js +++ b/src/components/Header/index.js @@ -4,6 +4,9 @@ import styled from 'styled-components'; import { NavLink } from 'react-router-dom'; import colors from 'config/colors'; import { SCREEN_SIZE } from 'config/variables'; +import Icon from 'components/Icon'; +import icons from 'config/icons'; + import type { toggleSidebar as toggleSidebarType } from 'actions/WalletActions'; const Wrapper = styled.header` @@ -12,12 +15,6 @@ const Wrapper = styled.header` background: ${colors.HEADER}; overflow: hidden; z-index: 200; - - svg { - fill: ${colors.WHITE}; - height: 28px; - width: 100px; - } `; const LayoutWrapper = styled.div` @@ -48,21 +45,32 @@ const MenuToggler = styled.div` white-space: nowrap; color: ${colors.WHITE}; align-self: center; + align-items: center; cursor: pointer; user-select: none; padding: 10px 0px; transition: all .1s ease-in; @media screen and (max-width: ${SCREEN_SIZE.SM}) { - display: initial; + display: flex; } `; +const TogglerText = styled.div` + +`; + const Logo = styled.div` flex: 1; justify-content: flex-start; display: flex; + svg { + fill: ${colors.WHITE}; + height: 28px; + width: 100px; + } + @media screen and (max-width: ${SCREEN_SIZE.SM}) { flex: 1 0 33%; justify-content: center; @@ -115,7 +123,29 @@ const Header = ({ sidebarEnabled, sidebarOpened, toggleSidebar }: Props) => ( - { sidebarEnabled && {sidebarOpened ? '✕ Close' : '☰ Menu'}} + { sidebarEnabled && ( + {sidebarOpened + ? ( + <> + + Close + + ) : ( + <> + + Menu + + )} + + )} From 8c07d457500fbd1c6c530998b266cf31f299291c Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Thu, 21 Feb 2019 00:50:22 +0100 Subject: [PATCH 183/219] move condition to a new line --- src/components/Header/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Header/index.js b/src/components/Header/index.js index a0cf1fa9..e6a1cef2 100644 --- a/src/components/Header/index.js +++ b/src/components/Header/index.js @@ -124,8 +124,8 @@ const Header = ({ sidebarEnabled, sidebarOpened, toggleSidebar }: Props) => ( { sidebarEnabled && ( - {sidebarOpened - ? ( + + {sidebarOpened ? ( <> Date: Fri, 22 Feb 2019 10:10:03 +0100 Subject: [PATCH 184/219] downgrade web3 to 1.0.0-beta.38 --- package.json | 2 +- yarn.lock | 374 +++++++++++++++++++++++---------------------------- 2 files changed, 172 insertions(+), 204 deletions(-) diff --git a/package.json b/package.json index b9e7d27f..04425e79 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "trezor-bridge-communicator": "1.0.2", "trezor-connect": "7.0.0-beta.2", "wallet-address-validator": "^0.2.4", - "web3": "1.0.0-beta.43", + "web3": "1.0.0-beta.38", "webpack": "^4.29.3", "webpack-build-notifier": "^0.1.30", "webpack-bundle-analyzer": "^3.0.3", diff --git a/yarn.lock b/yarn.lock index f42ab115..1019879b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -725,7 +725,7 @@ pirates "^4.0.0" source-map-support "^0.5.9" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1": +"@babel/runtime@^7.1.2": version "7.3.1" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.1.tgz#574b03e8e8a9898eaf4a872a92ea20b7846f6f2a" integrity sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA== @@ -927,13 +927,6 @@ resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.18.tgz#6a60435d4663e290f3709898a4f75014f279c4d6" integrity sha512-OTPWHmsyW18BhrnG5x8F7PzeZ2nFxmHGb42bZn79P9hl+GI5cMzyPgQTwNjbem0lJhoru/8vtjAFCUOu3+gE2w== -"@types/bn.js@^4.11.4": - version "4.11.4" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.4.tgz#a7bed5bdef9f16b25c92ba27745ab261374787d7" - integrity sha512-AO8WW+aRcKWKQAYTfKLzwnpL6U+TfPqS+haRrhCy5ff04Da8WZud3ZgVjspQXaEXJDcTlsjUEVvL39wegDek5w== - dependencies: - "@types/node" "*" - "@types/chai-jquery@1.1.35": version "1.1.35" resolved "https://registry.yarnpkg.com/@types/chai-jquery/-/chai-jquery-1.1.35.tgz#9a8f0a39ec0851b2768a8f8c764158c2a2568d04" @@ -984,7 +977,7 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.44.tgz#1d4a798e53f35212fd5ad4d04050620171cd5b5e" integrity sha512-k2tWTQU8G4+iSMvqKi0Q9IIsWAp/n8xzdZS4Q4YVIltApoMA00wFBFdlJnmoaK1/z7B0Cy0yPe6GgXteSmdUNw== -"@types/node@*", "@types/node@^10.1.0", "@types/node@^10.12.18", "@types/node@^10.3.2": +"@types/node@*", "@types/node@^10.1.0", "@types/node@^10.3.2": version "10.12.21" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.21.tgz#7e8a0c34cf29f4e17a36e9bd0ea72d45ba03908e" integrity sha512-CBgLNk4o3XMnqMc0rhb6lc77IwShMEglz05deDcn2lQxyXEZivfwgYJu7SMha9V5XcrP6qZuevTHV/QrN2vjKQ== @@ -11056,194 +11049,175 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web3-bzz@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.0.0-beta.43.tgz#6c2ee480fe74212c70c1c712a20516c64cfb086b" - integrity sha512-5h0MCfJaguwI2TbqSp9elmbZs201uiorRqSxl/TUqeZkzj7hvBjI4nzaCipNxUDoJq2N9Z4J4qVEppj9SsyVLg== +web3-bzz@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.0.0-beta.38.tgz#9011fb9fd6a334de082df3a2ca35f13c3699cda4" + integrity sha512-V9ftqYLl+2ZUuyS9loHKY9VB++oLM9tnRD1RFLSdQlnJsRxWTjw+GWFd7r4JEa3qoImRFB1dsRC6cGcfBLYeXg== dependencies: - "@babel/runtime" "^7.3.1" - "@types/node" "^10.12.18" lodash "^4.17.11" swarm-js "^0.1.39" -web3-core-helpers@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.43.tgz#4dfd75e21fd1dff55d8d526512afb9c0a6830e70" - integrity sha512-AtDS3elq03vCj4YsivP9WM27BKGEpGg1y6zmbe+gXY8i0MGOiUo3yrolIoeAw5hZzwEyRdBgCzfkL8Mfb7aABA== +web3-core-helpers@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.38.tgz#acdcfa440e9e09238625510517bfd8af2faedd52" + integrity sha512-pbXQJ+IiMQZLZ64uYqyqqrWDStJ3814jrKm8ZYp5wkFRQhYaWQ4evUScbtq2KvvkUM9b0OdXpZj7jm1KcTXF5g== dependencies: - "@babel/runtime" "^7.3.1" lodash "^4.17.11" - web3-eth-iban "1.0.0-beta.43" - web3-utils "1.0.0-beta.43" + web3-eth-iban "1.0.0-beta.38" + web3-utils "1.0.0-beta.38" -web3-core-method@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.0.0-beta.43.tgz#e2e7f3751f806ca87758fb43b7181c73378e8547" - integrity sha512-lZvU1FAEdBIm65KmqpYDWIqFaK5aqoNtgLgxqPs6xMEDX1MCqzoimKlNaGZn3oLxt2wpCawtaCymqE4v2KBf9w== +web3-core-method@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.0.0-beta.38.tgz#15f8d7cd2fda00fb763b16886e5c2278d64bb63a" + integrity sha512-o5MJXmrAGa2W6b8kcyHudRvvpTFvOtXCvs0ZSc5gTUuLC+6bwF3NVK3ZriwcpMzJRA4sbRE7YupB8A8bYHa0nw== dependencies: - "@babel/runtime" "^7.3.1" eventemitter3 "3.1.0" - lodash "^4.17.11" - web3-core "1.0.0-beta.43" - web3-core-helpers "1.0.0-beta.43" - web3-core-promievent "1.0.0-beta.43" - web3-core-subscriptions "1.0.0-beta.43" - web3-utils "1.0.0-beta.43" - -web3-core-promievent@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.43.tgz#759ee03d8db179e8c439ade69b863c9b79c34d29" - integrity sha512-HaQY6FuP+I0cn+Wi87Us24P4tAjUbhoDVtzE4K9CtmFTY1lvIQSLn+pzGhbwDYyKyovQpVMS/oroaI8QI46N1A== - dependencies: - "@babel/runtime" "^7.3.1" + web3-core "1.0.0-beta.38" + web3-core-helpers "1.0.0-beta.38" + web3-core-promievent "1.0.0-beta.38" + web3-core-subscriptions "1.0.0-beta.38" + web3-utils "1.0.0-beta.38" + +web3-core-promievent@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.38.tgz#6f2bc40919c151d09951a8e464678e4f2140a062" + integrity sha512-nm/hV5YSBUCAx2as4blnc8ypR7MiX6rmFr1WaUmQwf94capqNaiP/IQWHKZZ6rNZQmQxmltsN/lrU951SMeWCQ== + dependencies: eventemitter3 "^3.1.0" -web3-core-subscriptions@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.43.tgz#c0ac44558fc2769ab7f4ade07c3be5643b920bbd" - integrity sha512-M7XuypZZvkPZNQg415j6CZ4Q0Mukydpup4aKiUwpQreJ2CnM05etaNkyhKydVRiAB3v7m63MLTz+LyHBsDjZKA== +web3-core-subscriptions@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.38.tgz#fa0ce652527e82c9e9368b9533253138b4ceb076" + integrity sha512-edVN264mncw9ApM9EqJZ7A5MehCLh6qnoGdcsU+F03X7uFzBZogLLNv3ZFtMHvrz7TnMSRF611lALLaU/l8rxg== dependencies: - "@babel/runtime" "^7.3.1" eventemitter3 "^3.1.0" lodash "^4.17.11" - web3-core-helpers "1.0.0-beta.43" - web3-utils "1.0.0-beta.43" + web3-core-helpers "1.0.0-beta.38" + web3-utils "1.0.0-beta.38" -web3-core@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.0.0-beta.43.tgz#e6337e4f1d08b102b45c418376f1488e62aa688e" - integrity sha512-YkLehXkKpI0jyVqyEsuYR1JUeCcuCs2ihXbV4bPyM9DNbw+RryYZoyb7tMP3LtRuXFIDfBxn+rw3TrKiiAfgMQ== +web3-core@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.0.0-beta.38.tgz#d11ed226b427350607289bcae6c36ed07af4cde5" + integrity sha512-2hTYzk1dGkFiswcFKxYJYdkpAREY4fuccJIth2nMhddyt8vIxY58WodFijJkZaMGuUEDq+leMhbCF/8kiQckfg== dependencies: - "@babel/runtime" "^7.3.1" - "@types/node" "^10.12.18" lodash "^4.17.11" - web3-utils "1.0.0-beta.43" + web3-utils "1.0.0-beta.38" -web3-eth-abi@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.43.tgz#fd07ad664f9a2030a451f8128a65e426ff407490" - integrity sha512-2ghl2N6XHkHlUjkJFIOk8atiNYUFh+fijNci+lxMzeY7RoYA4lIF+o3Z422FhKlZdw8ySPaILTQ8wcwjiiuaEw== +web3-eth-abi@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.38.tgz#0c660e48bb9b2600fab537cb8d2ffa4a34023851" + integrity sha512-lMlb0tfuAhYn25Aw5wkBTsj3/7UXvRn7quFy5koicv7tEn7JA3QarRY3qjB6gpQY6miGyyHbhpGJ89TVmzMWHg== dependencies: - "@babel/runtime" "^7.3.1" ethers "^4.0.0" lodash "^4.17.11" - web3-utils "1.0.0-beta.43" + web3-utils "1.0.0-beta.38" -web3-eth-accounts@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.43.tgz#abbcda793b058211c912127e89247639165aa5b0" - integrity sha512-GaHW0ELydWkbd6uiSsjagd9egeGNG9kaAeSjuwNlcouXMMuaC+TkYTwvy7vVFhk+/qusxdw0jWr+PBWcc0q6/g== +web3-eth-accounts@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.38.tgz#962e31c94ab432971a91d2f2d58adabfefa56f79" + integrity sha512-MMNaWifbz9kTksXllxXBmIUsQCw97j6j1EN30pvlno0XyqmXpoYPmCjpF7uEhzT9qOSFFN32c3IjZRGTghXI5A== dependencies: - "@babel/runtime" "^7.3.1" crypto-browserify "3.12.0" eth-lib "0.2.8" lodash "^4.17.11" scrypt.js "0.2.0" uuid "3.3.2" - web3-core "1.0.0-beta.43" - web3-core-helpers "1.0.0-beta.43" - web3-core-method "1.0.0-beta.43" - web3-providers "1.0.0-beta.43" - web3-utils "1.0.0-beta.43" - -web3-eth-contract@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.43.tgz#59cfac2ecaa86fadff84d7df7cd37a077fbe84b7" - integrity sha512-/ydJTHgM2yzOF8N2lLbMOp31d6ne/KdAC/EAujWeT0i5kf78X4cWGe0payGYbZ10Qj0S1OsfBS6RBqih7s2neA== - dependencies: - "@babel/runtime" "^7.3.1" + web3-core "1.0.0-beta.38" + web3-core-helpers "1.0.0-beta.38" + web3-core-method "1.0.0-beta.38" + web3-providers "1.0.0-beta.38" + web3-utils "1.0.0-beta.38" + +web3-eth-contract@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.38.tgz#ee5466779ab4099a9fd9d25feee7a10c4d687117" + integrity sha512-JnLoA0AsL+/eTq3zxugthpQrNj5Jx/WXPeuxuwxLWlZWAz0sRcf9+Bc5gHVOWvDyqkaAeY2zFaYhTjtiQH7K+A== + dependencies: lodash "^4.17.11" - web3-core "1.0.0-beta.43" - web3-core-helpers "1.0.0-beta.43" - web3-core-method "1.0.0-beta.43" - web3-core-promievent "1.0.0-beta.43" - web3-core-subscriptions "1.0.0-beta.43" - web3-eth-abi "1.0.0-beta.43" - web3-eth-accounts "1.0.0-beta.43" - web3-providers "1.0.0-beta.43" - web3-utils "1.0.0-beta.43" - -web3-eth-ens@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.43.tgz#894332725418c4582b0a6a727cc69b1ab6bceac0" - integrity sha512-SVpukYXhGOJTdGxztzvzAOZJMbjn9kItV8iBAUtTnffMvA09BPI+VcC4KYvmKfruhbkm3EJnKox8PrY36MukNQ== - dependencies: - "@babel/runtime" "^7.3.1" + web3-core "1.0.0-beta.38" + web3-core-helpers "1.0.0-beta.38" + web3-core-method "1.0.0-beta.38" + web3-core-promievent "1.0.0-beta.38" + web3-core-subscriptions "1.0.0-beta.38" + web3-eth-abi "1.0.0-beta.38" + web3-eth-accounts "1.0.0-beta.38" + web3-providers "1.0.0-beta.38" + web3-utils "1.0.0-beta.38" + +web3-eth-ens@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.0.0-beta.38.tgz#0ea2a044dbb3edca6d038508b37a78f5bd3d560c" + integrity sha512-Xth9ThCnE00h19P6FDVjxsyX4/ItSXxQFXteidSlah1zElbMAJlEI2EvWz6ekZbU5Y2NNHcWRdUp2BMlUsO3lw== + dependencies: eth-ens-namehash "2.0.8" lodash "^4.17.11" - web3-core "1.0.0-beta.43" - web3-core-helpers "1.0.0-beta.43" - web3-core-method "1.0.0-beta.43" - web3-core-promievent "1.0.0-beta.43" - web3-eth-abi "1.0.0-beta.43" - web3-eth-contract "1.0.0-beta.43" - web3-net "1.0.0-beta.43" - web3-providers "1.0.0-beta.43" - web3-utils "1.0.0-beta.43" - -web3-eth-iban@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.43.tgz#d48aa1c11707a6dddd168e3bf2ab00b766a79a55" - integrity sha512-qJMzjWWlHJuWFFYO4meoPfUQMBaUZ4RZnD2jUPAtjnoVa5s4Kc1j4MiSPsAbxSjVdy0gRrCydIufAtBVYCV8eg== - dependencies: - "@babel/runtime" "^7.3.1" + web3-core "1.0.0-beta.38" + web3-core-helpers "1.0.0-beta.38" + web3-core-method "1.0.0-beta.38" + web3-core-promievent "1.0.0-beta.38" + web3-eth-abi "1.0.0-beta.38" + web3-eth-contract "1.0.0-beta.38" + web3-net "1.0.0-beta.38" + web3-providers "1.0.0-beta.38" + web3-utils "1.0.0-beta.38" + +web3-eth-iban@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.38.tgz#0f1fdab09131aa06a0c63a0c1c1840cc5fa2966f" + integrity sha512-9bhJDDeeRucICteEgr/wmMFRQANf+nNxn+lAdAi+kHRfI3LoTHII3yP9yM2GuUG4NdRzcIXlZXTn2j6gVV+TsA== + dependencies: bn.js "4.11.8" - web3-utils "1.0.0-beta.43" - -web3-eth-personal@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.43.tgz#8dc8eeb95479e6c57db489f494c66223fa82b1ce" - integrity sha512-NoPZHaetrFaVSCLpjIOG8DQvPPVpSf41Z5PM4VMRGLXC1Ofkomwr+MF3ewdHMjjRTUxJam/ksCFHbsNDxOM54w== - dependencies: - "@babel/runtime" "^7.3.1" - web3-core "1.0.0-beta.43" - web3-core-helpers "1.0.0-beta.43" - web3-core-method "1.0.0-beta.43" - web3-net "1.0.0-beta.43" - web3-providers "1.0.0-beta.43" - web3-utils "1.0.0-beta.43" - -web3-eth@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.0.0-beta.43.tgz#754448452b168611c574a2f838e273a8a728ec56" - integrity sha512-RUxbgPY4lyYozYwdI6ClyJrLACoY1JNywjM/wwno212B2/aDnzOMKPeZdi5py7pPh/RKlfEPOdsT6kVYf79S3A== - dependencies: - "@babel/runtime" "^7.3.1" - web3-core "1.0.0-beta.43" - web3-core-helpers "1.0.0-beta.43" - web3-core-method "1.0.0-beta.43" - web3-core-promievent "1.0.0-beta.43" - web3-core-subscriptions "1.0.0-beta.43" - web3-eth-abi "1.0.0-beta.43" - web3-eth-accounts "1.0.0-beta.43" - web3-eth-contract "1.0.0-beta.43" - web3-eth-ens "1.0.0-beta.43" - web3-eth-iban "1.0.0-beta.43" - web3-eth-personal "1.0.0-beta.43" - web3-net "1.0.0-beta.43" - web3-providers "1.0.0-beta.43" - web3-utils "1.0.0-beta.43" - -web3-net@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.0.0-beta.43.tgz#43635466a100ff3f6702a784223c24965a48dc21" - integrity sha512-fWoTlXneRG/4yOTQ+c6iwDcu63OE4PnB+PRnBFLtArTPVr6U1ndQwRUOzlm8PgkGd6ieHZuFnrj3uGcUR6ZU9A== - dependencies: - "@babel/runtime" "^7.3.1" + web3-utils "1.0.0-beta.38" + +web3-eth-personal@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.38.tgz#2510de0250726e570355f67c91acf0b53c8b590b" + integrity sha512-nPVxN6OiZmstusBoJTRehdE9ETPLXPnzmRJrhxS+reRNQCsba8uG2pEdfNogY9suZlxLi0THOpG6cWKZ2EJkcA== + dependencies: + web3-core "1.0.0-beta.38" + web3-core-helpers "1.0.0-beta.38" + web3-core-method "1.0.0-beta.38" + web3-net "1.0.0-beta.38" + web3-providers "1.0.0-beta.38" + web3-utils "1.0.0-beta.38" + +web3-eth@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.0.0-beta.38.tgz#8bac935aaa9c4698c2e4364fd1d63a540c838bd7" + integrity sha512-hPwM439QgMbDGaxVk9s+YG4x/yhVmg/8J+/sDZzQ2xTP9eg8KGFlgJ9krpQM2gDKlZzPt8c3idKbE66rw4kHDQ== + dependencies: + web3-core "1.0.0-beta.38" + web3-core-helpers "1.0.0-beta.38" + web3-core-method "1.0.0-beta.38" + web3-core-promievent "1.0.0-beta.38" + web3-core-subscriptions "1.0.0-beta.38" + web3-eth-abi "1.0.0-beta.38" + web3-eth-accounts "1.0.0-beta.38" + web3-eth-contract "1.0.0-beta.38" + web3-eth-ens "1.0.0-beta.38" + web3-eth-iban "1.0.0-beta.38" + web3-eth-personal "1.0.0-beta.38" + web3-net "1.0.0-beta.38" + web3-providers "1.0.0-beta.38" + web3-utils "1.0.0-beta.38" + +web3-net@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.0.0-beta.38.tgz#8bb397b83d5a1763c27da9738396dd7009171bdf" + integrity sha512-XxV/3G/9q0seoNK0mzokgZypRwoo0yXluvwzsoF0/TTUo0AbH5o/UOB3T4vQrJ9F8W698fb7+qlHcYoCPqiwXg== + dependencies: lodash "^4.17.11" - web3-core "1.0.0-beta.43" - web3-core-helpers "1.0.0-beta.43" - web3-core-method "1.0.0-beta.43" - web3-providers "1.0.0-beta.43" - web3-utils "1.0.0-beta.43" - -web3-providers@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-providers/-/web3-providers-1.0.0-beta.43.tgz#158f4a0ac8325b484c7383a01d1d7a3ab638926a" - integrity sha512-1BMXNLzmQ9HlX8lBq9Eze4yE1VMFekp/fp85hL+garX3fVEeIDVNtA7/AnWGaoe19UMNx8WGAPL19pgUnkoCCQ== - dependencies: - "@babel/runtime" "^7.3.1" - "@types/node" "^10.12.18" + web3-core "1.0.0-beta.38" + web3-core-helpers "1.0.0-beta.38" + web3-core-method "1.0.0-beta.38" + web3-providers "1.0.0-beta.38" + web3-utils "1.0.0-beta.38" + +web3-providers@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-providers/-/web3-providers-1.0.0-beta.38.tgz#a8621a7e10da5d10be79209ce3fa0055c9e0a734" + integrity sha512-K82NnuaJ1YmNnCvVNqqnBTM0OCMHWK/ief6ifg8caiIg4LxgvqbDFG7SlbaCV8h9eZiVfCF5bSCPYY2sQ3qTVQ== + dependencies: eventemitter3 "3.1.0" lodash "^4.17.11" oboe "2.1.4" @@ -11251,28 +11225,24 @@ web3-providers@1.0.0-beta.43: websocket "git://github.com/frozeman/WebSocket-Node.git#browserifyCompatible" xhr2-cookies "1.1.0" -web3-shh@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.0.0-beta.43.tgz#2231540323946e29f590bbfe36bae9c47b4c4fd9" - integrity sha512-S4Petfrb+998persyS/zuK4Qhc8BDqefVpMhAyMiF8tCbOSvP667L4cOV6FCq5peAJ/hJk1HEC3WUJlX5m6SBw== - dependencies: - "@babel/runtime" "^7.3.1" - web3-core "1.0.0-beta.43" - web3-core-helpers "1.0.0-beta.43" - web3-core-method "1.0.0-beta.43" - web3-core-subscriptions "1.0.0-beta.43" - web3-net "1.0.0-beta.43" - web3-providers "1.0.0-beta.43" - web3-utils "1.0.0-beta.43" - -web3-utils@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.0.0-beta.43.tgz#a8f167c7bc9ab0632e43ba3de5cf0aca12038d96" - integrity sha512-fdV3TELMnbzV75awcRFFzbfpt+FhJrKUHFRmE1KSxFIPSDFTgTBo3KpCvS5D4PajXOAnNb0QbSML9ekSqKtx/A== - dependencies: - "@babel/runtime" "^7.3.1" - "@types/bn.js" "^4.11.4" - "@types/node" "^10.12.18" +web3-shh@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.0.0-beta.38.tgz#d9396fa860a47ff6ae154c7022124cfc5f6c5df4" + integrity sha512-lcokXr2+VSyYiIJT/uJVyOPhMAWuOlJuGsRchM0Opi2UexNQkKkmOUC4hVWvz/aNVjArdDw3+nuMdn10rsYJvA== + dependencies: + web3-core "1.0.0-beta.38" + web3-core-helpers "1.0.0-beta.38" + web3-core-method "1.0.0-beta.38" + web3-core-subscriptions "1.0.0-beta.38" + web3-net "1.0.0-beta.38" + web3-providers "1.0.0-beta.38" + web3-utils "1.0.0-beta.38" + +web3-utils@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.0.0-beta.38.tgz#8c805eb7c84ba4adf2a54038c4318c447c26cce1" + integrity sha512-cZJUNduERfwn/kcirM1OSo326nNDEI+ZSE79iUjGOsfjtFnI04VT7JxPOVRDXvzCc4vLZwNDt7MIa5YTCwbHvQ== + dependencies: bn.js "4.11.8" eth-lib "0.2.8" ethjs-unit "^0.1.6" @@ -11281,23 +11251,21 @@ web3-utils@1.0.0-beta.43: randomhex "0.1.5" utf8 "2.1.1" -web3@1.0.0-beta.43: - version "1.0.0-beta.43" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.0.0-beta.43.tgz#e378315a3262a90b93b453529ada7c82db5d76b1" - integrity sha512-jEQJ4NHoMI3dPum/kiFiVapOa16Pi5dZ5WWg3A7IpRPlalmaQTV2EGffYmfLbLt0UbbpBhF2M2yXnaGLy4izLQ== - dependencies: - "@babel/runtime" "^7.3.1" - "@types/node" "^10.12.18" - web3-bzz "1.0.0-beta.43" - web3-core "1.0.0-beta.43" - web3-core-helpers "1.0.0-beta.43" - web3-core-method "1.0.0-beta.43" - web3-eth "1.0.0-beta.43" - web3-eth-personal "1.0.0-beta.43" - web3-net "1.0.0-beta.43" - web3-providers "1.0.0-beta.43" - web3-shh "1.0.0-beta.43" - web3-utils "1.0.0-beta.43" +web3@1.0.0-beta.38: + version "1.0.0-beta.38" + resolved "https://registry.yarnpkg.com/web3/-/web3-1.0.0-beta.38.tgz#1f0925f13c5217607b315bf85c2d664a93c4e76d" + integrity sha512-+Jc/lgMHvUBoKLCWFaUGWMGh+BqbT4rTVS9sLrWP03dQznpTuHxCk9dAUIEpO26qWcH6DHL7/jvY0ZWOjVg2aQ== + dependencies: + web3-bzz "1.0.0-beta.38" + web3-core "1.0.0-beta.38" + web3-core-helpers "1.0.0-beta.38" + web3-core-method "1.0.0-beta.38" + web3-eth "1.0.0-beta.38" + web3-eth-personal "1.0.0-beta.38" + web3-net "1.0.0-beta.38" + web3-providers "1.0.0-beta.38" + web3-shh "1.0.0-beta.38" + web3-utils "1.0.0-beta.38" webidl-conversions@^4.0.2: version "4.0.2" From bc7a8401f8ef7cc00a53805d8520a314af71534d Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Fri, 22 Feb 2019 17:39:51 +0100 Subject: [PATCH 185/219] open modal on UI.REQUEST_CONFIRMATION event --- src/actions/constants/modal.js | 1 + src/reducers/ModalReducer.js | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/actions/constants/modal.js b/src/actions/constants/modal.js index 3383e91a..d7ac2cb9 100644 --- a/src/actions/constants/modal.js +++ b/src/actions/constants/modal.js @@ -7,3 +7,4 @@ export const CONTEXT_DEVICE: 'modal_ctx_device' = 'modal_ctx_device'; export const CONTEXT_EXTERNAL_WALLET: 'modal_ctx_external-wallet' = 'modal_ctx_external-wallet'; export const OPEN_SCAN_QR: 'modal__open_scan_qr' = 'modal__open_scan_qr'; export const CONTEXT_SCAN_QR: 'modal__ctx_scan_qr' = 'modal__ctx_scan_qr'; +export const CONTEXT_CONFIRMATION: 'modal__ctx_confirmation' = 'modal__ctx_confirmation'; diff --git a/src/reducers/ModalReducer.js b/src/reducers/ModalReducer.js index 266ced8b..70e534bf 100644 --- a/src/reducers/ModalReducer.js +++ b/src/reducers/ModalReducer.js @@ -20,7 +20,10 @@ export type State = { windowType?: string; } | { context: typeof MODAL.CONTEXT_SCAN_QR, -} +} | { + context: typeof MODAL.CONTEXT_CONFIRMATION, + windowType: string; +}; const initialState: State = { context: MODAL.CONTEXT_NONE, @@ -98,6 +101,12 @@ export default function modal(state: State = initialState, action: Action): Stat context: MODAL.CONTEXT_SCAN_QR, }; + case UI.REQUEST_CONFIRMATION: + return { + context: MODAL.CONTEXT_CONFIRMATION, + windowType: action.payload.view, + }; + default: return state; } From 397fd0fac7ba854213022f0babf94cf6ec2d1c8a Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Fri, 22 Feb 2019 17:40:12 +0100 Subject: [PATCH 186/219] add NoBackup modal --- .../modals/confirm/NoBackup/index.js | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/components/modals/confirm/NoBackup/index.js diff --git a/src/components/modals/confirm/NoBackup/index.js b/src/components/modals/confirm/NoBackup/index.js new file mode 100644 index 00000000..814cb92f --- /dev/null +++ b/src/components/modals/confirm/NoBackup/index.js @@ -0,0 +1,82 @@ +/* @flow */ + +import React from 'react'; +import PropTypes from 'prop-types'; +import styled from 'styled-components'; + +import icons from 'config/icons'; +import colors from 'config/colors'; + +import { H2 } from 'components/Heading'; +import P from 'components/Paragraph'; +import Icon from 'components/Icon'; +import Button from 'components/Button'; +import Link from 'components/Link'; + +import type { Props as BaseProps } from '../../Container'; + +type Props = { + onReceiveConfirmation: $ElementType<$ElementType, 'onReceiveConfirmation'>; +} + +const Wrapper = styled.div` + max-width: 370px; + padding: 30px 48px; +`; + +const StyledLink = styled(Link)` + position: absolute; + right: 15px; + top: 15px; +`; + +const BackupButton = styled(Button)` + width: 100%; + margin-bottom: 10px; +`; + +const ProceedButton = styled(Button)` + background: transparent; + border-color: ${colors.WARNING_PRIMARY}; + color: ${colors.WARNING_PRIMARY}; + + &:focus, + &:hover, + &:active { + color: ${colors.WHITE}; + background: ${colors.WARNING_PRIMARY}; + box-shadow: none; + } +`; + +const StyledP = styled(P)` + padding-bottom: 20px; +`; + +const Row = styled.div` + display: flex; + flex-direction: column; +`; + +const Confirmation = (props: Props) => ( + + props.onReceiveConfirmation(false)}> + + +

Your Trezor is not backed up!

+ + If your device is ever lost or damaged, your funds will be lost. Backup your device first, to protect your coins against such events. + + + props.onReceiveConfirmation(false)}>Create a backup in 3 minutes. + + props.onReceiveConfirmation(true)}>Show address, I will take the risk + +
+); + +Confirmation.propTypes = { + onReceiveConfirmation: PropTypes.func.isRequired, +}; + +export default Confirmation; \ No newline at end of file From e336a4f05f49d6f32c84946346e85e14971e8191 Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Fri, 22 Feb 2019 17:40:40 +0100 Subject: [PATCH 187/219] add "onReceiveConfirmation" method to ModalActions --- src/actions/ModalActions.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/actions/ModalActions.js b/src/actions/ModalActions.js index 47f98776..fe2cd7af 100644 --- a/src/actions/ModalActions.js +++ b/src/actions/ModalActions.js @@ -59,6 +59,17 @@ export const onPassphraseSubmit = (passphrase: string): AsyncAction => async (di }); }; +export const onReceiveConfirmation = (confirmation: any): AsyncAction => async (dispatch: Dispatch): Promise => { + await TrezorConnect.uiResponse({ + type: UI.RECEIVE_CONFIRMATION, + payload: confirmation, + }); + + dispatch({ + type: MODAL.CLOSE, + }); +}; + export const onRememberDevice = (device: TrezorDevice): Action => ({ type: CONNECT.REMEMBER, device, @@ -173,6 +184,7 @@ export const onQrScan = (parsedUri: parsedURI, networkType: string): ThunkAction export default { onPinSubmit, onPassphraseSubmit, + onReceiveConfirmation, onRememberDevice, onForgetDevice, onForgetSingleDevice, From 3ac1b207472f16f62fbcd26f847854f64133e2fa Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Fri, 22 Feb 2019 17:40:58 +0100 Subject: [PATCH 188/219] display NoBackup modal --- src/components/modals/index.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/components/modals/index.js b/src/components/modals/index.js index 4db54d9e..7fcb70db 100644 --- a/src/components/modals/index.js +++ b/src/components/modals/index.js @@ -19,6 +19,7 @@ import PassphraseType from 'components/modals/passphrase/Type'; import ConfirmSignTx from 'components/modals/confirm/SignTx'; import ConfirmAction from 'components/modals/confirm/Action'; import ConfirmUnverifiedAddress from 'components/modals/confirm/UnverifiedAddress'; +import ConfirmNoBackup from 'components/modals/confirm/NoBackup'; import ForgetDevice from 'components/modals/device/Forget'; import RememberDevice from 'components/modals/device/Remember'; import DuplicateDevice from 'components/modals/device/Duplicate'; @@ -189,6 +190,19 @@ const getQrModal = (props: Props) => { ); }; +const getConfirmationModal = (props: Props) => { + const { modal, modalActions } = props; + + if (modal.context !== MODAL.CONTEXT_CONFIRMATION) return null; + + switch (modal.windowType) { + case 'no-backup': + return (); + default: + return null; + } +}; + // modal container component const Modal = (props: Props) => { const { modal } = props; @@ -205,6 +219,9 @@ const Modal = (props: Props) => { case MODAL.CONTEXT_SCAN_QR: component = getQrModal(props); break; + case MODAL.CONTEXT_CONFIRMATION: + component = getConfirmationModal(props); + break; default: break; } From 40790470c2b92f8bc5460bc74b446ca4dc240491 Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Fri, 22 Feb 2019 17:42:07 +0100 Subject: [PATCH 189/219] ignore error code in showaddress method 403: permissions not granted from TrezorConnect can be safely ignored --- src/actions/ReceiveActions.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/actions/ReceiveActions.js b/src/actions/ReceiveActions.js index 116a5c15..0503fdf7 100644 --- a/src/actions/ReceiveActions.js +++ b/src/actions/ReceiveActions.js @@ -94,6 +94,10 @@ export const showAddress = (path: Array): AsyncAction => async (dispatch type: RECEIVE.HIDE_ADDRESS, }); + // special case: device no-backup permissions not granted + // $FlowIssue: remove this after trezor-connect@7.0.0 release + if (response.payload.code === 403) return; + dispatch({ type: NOTIFICATION.ADD, payload: { From 19dbf88d3c24330c5aa0009137db3c337ccde9e7 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Sun, 24 Feb 2019 22:51:51 +0100 Subject: [PATCH 190/219] add NoBackup notification --- .../App/components/NoBackup/index.js | 25 +++++++++++++++++++ src/components/notifications/App/index.js | 2 ++ 2 files changed, 27 insertions(+) create mode 100644 src/components/notifications/App/components/NoBackup/index.js diff --git a/src/components/notifications/App/components/NoBackup/index.js b/src/components/notifications/App/components/NoBackup/index.js new file mode 100644 index 00000000..494bb9d9 --- /dev/null +++ b/src/components/notifications/App/components/NoBackup/index.js @@ -0,0 +1,25 @@ +/* @flow */ +import * as React from 'react'; +import Notification from 'components/Notification'; + +import type { Props } from '../../index'; + +export default (props: Props) => { + const { selectedDevice } = props.wallet; + const needsBackup = selectedDevice && selectedDevice.features && selectedDevice.features.needs_backup; + if (!needsBackup) return null; + return ( + {}, //TODO + }] + } + /> + ); +}; \ No newline at end of file diff --git a/src/components/notifications/App/index.js b/src/components/notifications/App/index.js index 6167cfcf..d7c91180 100644 --- a/src/components/notifications/App/index.js +++ b/src/components/notifications/App/index.js @@ -12,6 +12,7 @@ import * as RouterActions from 'actions/RouterActions'; import OnlineStatus from './components/OnlineStatus'; import UpdateBridge from './components/UpdateBridge'; import UpdateFirmware from './components/UpdateFirmware'; +import NoBackup from './components/NoBackup'; export type StateProps = { connect: $ElementType; @@ -33,6 +34,7 @@ const Notifications = (props: Props) => ( + ); From bbde7481e4c102e92f1e089b5ed4afb4e601af2f Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 25 Feb 2019 01:43:34 +0100 Subject: [PATCH 191/219] fix hide anim firing on page load --- src/components/Header/index.js | 2 +- src/reducers/WalletReducer.js | 4 ++-- .../components/LeftNavigation/components/Sidebar/index.js | 5 ++++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/components/Header/index.js b/src/components/Header/index.js index e6a1cef2..53792edb 100644 --- a/src/components/Header/index.js +++ b/src/components/Header/index.js @@ -114,7 +114,7 @@ const A = styled.a` type Props = { sidebarEnabled?: boolean, - sidebarOpened?: boolean, + sidebarOpened?: ?boolean, toggleSidebar?: toggleSidebarType, }; diff --git a/src/reducers/WalletReducer.js b/src/reducers/WalletReducer.js index 2bd6d657..0277ee4d 100644 --- a/src/reducers/WalletReducer.js +++ b/src/reducers/WalletReducer.js @@ -15,7 +15,7 @@ type State = { online: boolean; dropdownOpened: boolean; showBetaDisclaimer: boolean; - showSidebar: boolean; + showSidebar: ?boolean; initialParams: ?RouterLocationState; initialPathname: ?string; firstLocationChange: boolean; @@ -29,7 +29,7 @@ const initialState: State = { dropdownOpened: false, firstLocationChange: true, showBetaDisclaimer: false, - showSidebar: false, + showSidebar: null, initialParams: null, initialPathname: null, disconnectRequest: null, diff --git a/src/views/Wallet/components/LeftNavigation/components/Sidebar/index.js b/src/views/Wallet/components/LeftNavigation/components/Sidebar/index.js index a149cf8f..46cca306 100644 --- a/src/views/Wallet/components/LeftNavigation/components/Sidebar/index.js +++ b/src/views/Wallet/components/LeftNavigation/components/Sidebar/index.js @@ -9,7 +9,7 @@ import { SLIDE_RIGHT, SLIDE_LEFT } from 'config/animations'; type Props = { children?: React.Node, - isOpen: boolean, + isOpen: ?boolean, } type State = { @@ -32,6 +32,9 @@ const AbsoluteWrapper = styled.aside` height: calc(100vh - 52px); z-index: 200; top: 52px; + /* Prevents firing SLIDE_LEFT anim on page load. */ + /* isOpen is null until user clicks on menu toggler */ + display: ${props => (props.isOpen === null ? 'none' : 'block')}; animation: ${props => (props.isOpen ? SLIDE_RIGHT : SLIDE_LEFT)} 0.25s cubic-bezier(0.17, 0.04, 0.03, 0.94) forwards; } From 057724601d0309518cae431237a00bb25ff1f295 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Mon, 25 Feb 2019 12:47:42 +0100 Subject: [PATCH 192/219] Removed webpack plugin --- package.json | 1 - webpack/dev.babel.js | 3 --- webpack/production.babel.js | 2 -- yarn.lock | 21 --------------------- 4 files changed, 27 deletions(-) diff --git a/package.json b/package.json index 04425e79..74ec7d3d 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,6 @@ "ethereumjs-units": "^0.2.0", "ethereumjs-util": "^6.0.0", "express": "^4.16.4", - "friendly-errors-webpack-plugin": "^1.7.0", "git-revision-webpack-plugin": "^3.0.3", "hdkey": "^1.1.0", "history": "^4.7.2", diff --git a/webpack/dev.babel.js b/webpack/dev.babel.js index 5c770fc9..374bb271 100644 --- a/webpack/dev.babel.js +++ b/webpack/dev.babel.js @@ -1,7 +1,6 @@ import webpack from 'webpack'; import GitRevisionPlugin from 'git-revision-webpack-plugin'; import HtmlWebpackPlugin from 'html-webpack-plugin'; -import FriendlyErrorsWebpackPlugin from 'friendly-errors-webpack-plugin'; import WebpackBuildNotifierPlugin from 'webpack-build-notifier'; import packageJson from '../package.json'; @@ -35,7 +34,6 @@ module.exports = { https: false, quiet: true, port: PORT, - stats: 'minimal', inline: true, }, module: { @@ -123,6 +121,5 @@ module.exports = { new webpack.NoEmitOnErrorsPlugin(), new webpack.HotModuleReplacementPlugin(), new webpack.NamedModulesPlugin(), - new FriendlyErrorsWebpackPlugin(), ], }; diff --git a/webpack/production.babel.js b/webpack/production.babel.js index 9be7e0b5..2cef0afa 100644 --- a/webpack/production.babel.js +++ b/webpack/production.babel.js @@ -1,7 +1,6 @@ import webpack from 'webpack'; import GitRevisionPlugin from 'git-revision-webpack-plugin'; import HtmlWebpackPlugin from 'html-webpack-plugin'; -import FriendlyErrorsWebpackPlugin from 'friendly-errors-webpack-plugin'; import CopyWebpackPlugin from 'copy-webpack-plugin'; import packageJson from '../package.json'; import { SRC, BUILD, PUBLIC } from './constants'; @@ -82,6 +81,5 @@ module.exports = { new webpack.optimize.OccurrenceOrderPlugin(), new webpack.NoEmitOnErrorsPlugin(), new webpack.NamedModulesPlugin(), - new FriendlyErrorsWebpackPlugin(), ], }; diff --git a/yarn.lock b/yarn.lock index 1019879b..ef448946 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3825,13 +3825,6 @@ error-stack-parser@^1.3.6: dependencies: stackframe "^0.3.1" -error-stack-parser@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.2.tgz#4ae8dbaa2bf90a8b450707b9149dcabca135520d" - integrity sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw== - dependencies: - stackframe "^1.0.4" - es-abstract@^1.11.0, es-abstract@^1.5.1: version "1.13.0" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" @@ -4813,15 +4806,6 @@ fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" -friendly-errors-webpack-plugin@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz#efc86cbb816224565861a1be7a9d84d0aafea136" - integrity sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw== - dependencies: - chalk "^1.1.3" - error-stack-parser "^2.0.0" - string-width "^2.0.0" - from2@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" @@ -9950,11 +9934,6 @@ stackframe@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4" -stackframe@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b" - integrity sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw== - state-toggle@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.1.tgz#c3cb0974f40a6a0f8e905b96789eb41afa1cde3a" From 4076efeabac7e5aac47b51c56b071d09b4b03be4 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Mon, 25 Feb 2019 12:48:41 +0100 Subject: [PATCH 193/219] Show erros again --- webpack/dev.babel.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/webpack/dev.babel.js b/webpack/dev.babel.js index 374bb271..32db02ec 100644 --- a/webpack/dev.babel.js +++ b/webpack/dev.babel.js @@ -30,9 +30,10 @@ module.exports = { SRC, PUBLIC, ], + stats: 'minimal', hot: true, https: false, - quiet: true, + quiet: false, port: PORT, inline: true, }, From b0d67bd6672c852b757ed994f090eadffb448874 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 25 Feb 2019 13:28:41 +0100 Subject: [PATCH 194/219] add gotoBackup action --- src/actions/RouterActions.js | 11 +++++++++++ .../notifications/App/components/NoBackup/index.js | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/actions/RouterActions.js b/src/actions/RouterActions.js index 3d501714..7fdeb835 100644 --- a/src/actions/RouterActions.js +++ b/src/actions/RouterActions.js @@ -347,6 +347,17 @@ export const gotoFirmwareUpdate = (): ThunkAction => (dispatch: Dispatch, getSta dispatch(goto(`/device/${devUrl}/firmware-update`)); }; +/* +* Go to NoBackup page +*/ +export const gotoBackup = (): ThunkAction => (dispatch: Dispatch, getState: GetState): void => { + const { selectedDevice } = getState().wallet; + if (!selectedDevice || !selectedDevice.features) return; + const devUrl: string = `${selectedDevice.features.device_id}${selectedDevice.instance ? `:${selectedDevice.instance}` : ''}`; + dispatch(goto(`/device/${devUrl}/backup`)); +}; + + /* * Try to redirect to initial url */ diff --git a/src/components/notifications/App/components/NoBackup/index.js b/src/components/notifications/App/components/NoBackup/index.js index 494bb9d9..5b7f2082 100644 --- a/src/components/notifications/App/components/NoBackup/index.js +++ b/src/components/notifications/App/components/NoBackup/index.js @@ -10,14 +10,14 @@ export default (props: Props) => { if (!needsBackup) return null; return ( {}, //TODO + callback: props.routerActions.gotoBackup, }] } /> From bb4cd79004c192961bfee3debfb991749b079bfc Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 25 Feb 2019 13:28:58 +0100 Subject: [PATCH 195/219] add NoBackup component --- src/support/routes.js | 5 +++ src/views/Wallet/views/NoBackup/index.js | 57 ++++++++++++++++++++++++ src/views/index.js | 2 + 3 files changed, 64 insertions(+) create mode 100644 src/views/Wallet/views/NoBackup/index.js diff --git a/src/support/routes.js b/src/support/routes.js index 717bed03..1ebe97c2 100644 --- a/src/support/routes.js +++ b/src/support/routes.js @@ -62,6 +62,11 @@ export const routes: Array = [ pattern: '/device/:device/firmware-update', fields: ['device', 'firmware-update'], }, + { + name: 'wallet-backup', + pattern: '/device/:device/backup', + fields: ['device', 'backup'], + }, { name: 'wallet-device-settings', pattern: '/device/:device/settings', diff --git a/src/views/Wallet/views/NoBackup/index.js b/src/views/Wallet/views/NoBackup/index.js new file mode 100644 index 00000000..53c27cf9 --- /dev/null +++ b/src/views/Wallet/views/NoBackup/index.js @@ -0,0 +1,57 @@ +/* @flow */ + +import React from 'react'; +import styled from 'styled-components'; +import { H1 } from 'components/Heading'; +import P from 'components/Paragraph'; +import Link from 'components/Link'; +import Button from 'components/Button'; +import Icon from 'components/Icon'; + +import { FONT_SIZE } from 'config/variables'; +import colors from 'config/colors'; +import icons from 'config/icons'; + +const Wrapper = styled.section` + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + padding: 90px 35px 40px 35px; +`; + +const StyledNavLink = styled(Link)` + color: ${colors.TEXT_SECONDARY}; + padding-top: 20px; + font-size: ${FONT_SIZE.BASE}; +`; + +const StyledH1 = styled(H1)` + text-align: center; +`; + +const Message = styled.div` + text-align: center; + padding: 0 0 15px 0; +`; + +const FirmwareUpdate = () => ( + + + Your Trezor is not backed up! + +

If your device is ever lost or damaged, your funds will be lost. Backup your device first, to protect your coins against such events.

+

Please use Bitcoin wallet interface to create a backup.

+
+ + + + I’ll do that later. +
+); + +export default FirmwareUpdate; \ No newline at end of file diff --git a/src/views/index.js b/src/views/index.js index 1b0a8963..184b4133 100644 --- a/src/views/index.js +++ b/src/views/index.js @@ -27,6 +27,7 @@ import WalletDeviceSettings from 'views/Wallet/views/DeviceSettings'; import WalletSettings from 'views/Wallet/views/WalletSettings'; import WalletBootloader from 'views/Wallet/views/Bootloader'; import WalletFirmwareUpdate from 'views/Wallet/views/FirmwareUpdate'; +import WalletNoBackup from 'views/Wallet/views/NoBackup'; import WalletInitialize from 'views/Wallet/views/Initialize'; import WalletSeedless from 'views/Wallet/views/Seedless'; import WalletAcquire from 'views/Wallet/views/Acquire'; @@ -54,6 +55,7 @@ const App = () => ( + From f8f6609f3fe76a49dbfaec1417d65f551119643c Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Mon, 25 Feb 2019 14:30:57 +0100 Subject: [PATCH 196/219] Device tests simplified --- .../__snapshots__/device.test.js.snap | 67 -------- src/utils/__tests__/device.test.js | 157 ++++++++---------- 2 files changed, 66 insertions(+), 158 deletions(-) delete mode 100644 src/utils/__tests__/__snapshots__/device.test.js.snap diff --git a/src/utils/__tests__/__snapshots__/device.test.js.snap b/src/utils/__tests__/__snapshots__/device.test.js.snap deleted file mode 100644 index d7109016..00000000 --- a/src/utils/__tests__/__snapshots__/device.test.js.snap +++ /dev/null @@ -1,67 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`device utils get status 1`] = `"disconnected"`; - -exports[`device utils get status 2`] = `"unavailable"`; - -exports[`device utils get status 3`] = `"unavailable"`; - -exports[`device utils get status 4`] = `"connected"`; - -exports[`device utils get status 5`] = `"unacquired"`; - -exports[`device utils get status 6`] = `"used-in-other-window"`; - -exports[`device utils get status color 1`] = `"#494949"`; - -exports[`device utils get status color 2`] = `"#494949"`; - -exports[`device utils get status color 3`] = `"#494949"`; - -exports[`device utils get status color 4`] = `"#EB8A00"`; - -exports[`device utils get status color 5`] = `"#01B757"`; - -exports[`device utils get status color 6`] = `"#EB8A00"`; - -exports[`device utils get status color 7`] = `"#ED1212"`; - -exports[`device utils get status color 8`] = `"#ED1212"`; - -exports[`device utils get status name 1`] = `"Status unknown"`; - -exports[`device utils get status name 2`] = `"Status unknown"`; - -exports[`device utils get status name 3`] = `"Status unknown"`; - -exports[`device utils get status name 4`] = `"Used in other window"`; - -exports[`device utils get status name 5`] = `"Connected"`; - -exports[`device utils get status name 6`] = `"Used in other window"`; - -exports[`device utils get status name 7`] = `"Disconnected"`; - -exports[`device utils get status name 8`] = `"Unavailable"`; - -exports[`device utils get version 1`] = `"One"`; - -exports[`device utils get version 2`] = `"One"`; - -exports[`device utils get version 3`] = `"One"`; - -exports[`device utils get version 4`] = `"One"`; - -exports[`device utils get version 5`] = `"One"`; - -exports[`device utils get version 6`] = `"T"`; - -exports[`device utils isDisabled 1`] = `false`; - -exports[`device utils isDisabled 2`] = `true`; - -exports[`device utils isWebUSB 1`] = `true`; - -exports[`device utils isWebUSB 2`] = `false`; - -exports[`device utils isWebUSB 3`] = `true`; diff --git a/src/utils/__tests__/device.test.js b/src/utils/__tests__/device.test.js index aa38e5f3..52b1aec2 100644 --- a/src/utils/__tests__/device.test.js +++ b/src/utils/__tests__/device.test.js @@ -1,112 +1,87 @@ -import * as dUtils from 'utils/device'; +import * as utils from 'utils/device'; describe('device utils', () => { it('get status', () => { - const deviceMock = [ - { - connected: false, - }, - { - connected: true, - available: false, - }, - { - connected: true, - available: false, - type: null, - }, - { - connected: true, - available: true, - type: 'acquired', - }, - { - connected: true, - available: true, - type: 'unacquired', - }, - { - connected: true, - available: true, - type: 'acquired', - status: 'occupied', - }, - ]; + expect(utils.getStatus({ connected: false })) + .toBe('disconnected'); + + expect(utils.getStatus({ connected: true, available: false })) + .toBe('unavailable'); + + expect(utils.getStatus({ + connected: true, + available: false, + type: null, + })).toBe('unavailable'); - deviceMock.forEach((device) => { - expect(dUtils.getStatus(device)).toMatchSnapshot(); - }); + expect(utils.getStatus({ + connected: true, + available: true, + type: 'acquired', + })).toBe('connected'); + + expect(utils.getStatus({ + connected: true, + available: true, + type: 'unacquired', + })).toBe('unacquired'); + + expect(utils.getStatus({ + connected: true, + available: true, + type: 'acquired', + status: 'occupied', + })).toBe('used-in-other-window'); }); it('isWebUSB', () => { - const data = [ - { transport: { type: 'webusb', version: '1.6.0' } }, - { transport: { type: null, version: 'aaaaaa' } }, - { transport: { type: 'webusb' } }, - ]; - - data.forEach((item) => { - expect(dUtils.isWebUSB(item.transport)).toMatchSnapshot(); - }); + expect(utils.isWebUSB({ type: 'webusb', version: '1.6.0' })).toBe(true); + expect(utils.isWebUSB({ type: 'aaaa', version: 'aaaaaa' })).toBe(false); + expect(utils.isWebUSB({ type: 'webusb' })).toBe(true); }); it('isDisabled', () => { - const data = [ - { selectedDevice: { features: null }, devices: [1, 2, 3], transport: { version: 'webusb' } }, - { selectedDevice: { features: null }, devices: [], transport: { version: 'test' } }, - ]; + expect(utils.isDisabled( + { selectedDevice: { features: null } }, + [1, 2, 3], + { + version: 'webusb', + }, + )).toBe(false); - data.forEach((item) => { - expect(dUtils.isDisabled(item.selectedDevice, item.devices, item.transport)).toMatchSnapshot(); - }); + expect(utils.isDisabled( + { features: null }, [], { version: 'test' }, + )).toBe(true); }); it('get version', () => { - const deviceMock = [ - { }, - { features: {} }, - { features: { major_version: null } }, - { features: { major_version: 0 } }, - { features: { major_version: 1 } }, - { features: { major_version: 2 } }, - ]; - - deviceMock.forEach((device) => { - expect(dUtils.getVersion(device)).toMatchSnapshot(); - }); + expect(utils.getVersion({})).toBe('One'); + expect(utils.getVersion({ features: {} })).toBe('One'); + expect(utils.getVersion({ features: { major_version: null } })).toBe('One'); + expect(utils.getVersion({ features: { major_version: 0 } })).toBe('One'); + expect(utils.getVersion({ features: { major_version: 1 } })).toBe('One'); + expect(utils.getVersion({ features: { major_version: 2 } })).toBe('T'); }); it('get status color', () => { - const entry = [ - 0, - null, - 'sdsdsdsd', - 'used-in-other-window', - 'connected', - 'unacquired', - 'disconnected', - 'unavailable', - ]; - - entry.forEach((status) => { - expect(dUtils.getStatusColor(status)).toMatchSnapshot(); - }); + expect(utils.getStatusColor(0)).toBe('#494949'); + expect(utils.getStatusColor(null)).toBe('#494949'); + expect(utils.getStatusColor('sdsdsdsd')).toBe('#494949'); + expect(utils.getStatusColor('used-in-other-window')).toBe('#EB8A00'); + expect(utils.getStatusColor('connected')).toBe('#01B757'); + expect(utils.getStatusColor('unacquired')).toBe('#EB8A00'); + expect(utils.getStatusColor('disconnected')).toBe('#ED1212'); + expect(utils.getStatusColor('unavailable')).toBe('#ED1212'); }); it('get status name', () => { - const entry = [ - 0, - null, - 'sdsdsdsd', - 'used-in-other-window', - 'connected', - 'unacquired', - 'disconnected', - 'unavailable', - ]; - - entry.forEach((status) => { - expect(dUtils.getStatusName(status)).toMatchSnapshot(); - }); + expect(utils.getStatusName(0)).toBe('Status unknown'); + expect(utils.getStatusName(null)).toBe('Status unknown'); + expect(utils.getStatusName('sdsdsdsd')).toBe('Status unknown'); + expect(utils.getStatusName('used-in-other-window')).toBe('Used in other window'); + expect(utils.getStatusName('connected')).toBe('Connected'); + expect(utils.getStatusName('unacquired')).toBe('Used in other window'); + expect(utils.getStatusName('disconnected')).toBe('Disconnected'); + expect(utils.getStatusName('unavailable')).toBe('Unavailable'); }); -}); +}); \ No newline at end of file From 6d790d9e31fbdf0cd2578d86e708b5a2dc1226f7 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Mon, 25 Feb 2019 14:40:46 +0100 Subject: [PATCH 197/219] Notifications tests simplified --- .../__snapshots__/notification.test.js.snap | 41 ------------------- src/utils/__tests__/notification.test.js | 38 ++++------------- 2 files changed, 9 insertions(+), 70 deletions(-) delete mode 100644 src/utils/__tests__/__snapshots__/notification.test.js.snap diff --git a/src/utils/__tests__/__snapshots__/notification.test.js.snap b/src/utils/__tests__/__snapshots__/notification.test.js.snap deleted file mode 100644 index 35cabc6c..00000000 --- a/src/utils/__tests__/__snapshots__/notification.test.js.snap +++ /dev/null @@ -1,41 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`device utils get icon 1`] = ` -Array [ - "M693.024 330.944c-99.968-99.936-262.080-99.936-362.048 0s-99.968 262.112 0 362.080c99.968 100 262.144 99.936 362.048 0 99.968-99.904 99.968-262.176 0-362.080zM507.904 300.192c27.008 0 48.992 21.984 48.992 49.088 0 27.296-21.984 49.472-48.992 49.472-27.264 0-49.536-22.176-49.536-49.472 0-27.552 21.728-49.088 49.536-49.088zM586.656 660.8c0 10.304-4.96 15.328-15.264 15.328h-126.464c-10.304 0-15.328-5.024-15.328-15.328v-32.256c0-10.304 5.024-15.264 15.328-15.264h23.36v-136.064h-23.872c-10.304 0-15.264-5.024-15.264-15.328v-32.224c0-10.304 4.96-15.264 15.264-15.264h88.288c10.304 0 15.264 4.96 15.264 15.264v183.648h23.424c10.304 0 15.264 4.96 15.264 15.264v32.224z", -] -`; - -exports[`device utils get icon 2`] = ` -Array [ - "M693.12 330.88c-46.317-46.267-110.276-74.88-180.919-74.88-141.385 0-256 114.615-256 256s114.615 256 256 256c70.642 0 134.602-28.613 180.921-74.882l-0.002 0.002c46.387-46.337 75.081-110.377 75.081-181.12s-28.694-134.783-75.079-181.118l-0.002-0.002zM494.080 344.32h53.12c16 0 18.24 9.28 18.24 14.72v10.24l-10.88 194.56c0 14.4-8 17.28-18.88 17.28h-28.16c-10.56 0-17.28-2.88-18.88-17.92l-10.88-193.92v-10.56c-1.28-4.8 2.24-14.080 16.32-14.080zM521.28 717.76c-0.095 0.001-0.207 0.001-0.319 0.001-27.747 0-50.24-22.493-50.24-50.24s22.493-50.24 50.24-50.24c27.747 0 50.24 22.493 50.24 50.24 0 0.112 0 0.224-0.001 0.336v-0.017c0 0 0 0.001 0 0.001 0 27.634-22.311 50.057-49.903 50.239h-0.017z", -] -`; - -exports[`device utils get icon 3`] = ` -Array [ - "M795.616 735.008l-264.896-465.44c-10.272-18.080-27.168-18.080-37.504 0l-264.864 465.44c-10.272 18.176-1.696 32.992 19.040 32.992h529.184c20.8 0 29.376-14.816 19.040-32.992zM549.76 673.12c0 10.464-8.48 18.976-18.912 18.976h-37.792c-10.336 0-18.912-8.512-18.912-18.976v-37.952c0-10.464 8.576-18.976 18.912-18.976h37.792c10.4 0 18.912 8.544 18.912 18.976v37.952zM549.76 559.264c0 10.464-8.48 18.976-18.912 18.976h-37.792c-10.336 0-18.912-8.512-18.912-18.976v-113.856c0-10.464 8.576-18.976 18.912-18.976h37.792c10.4 0 18.912 8.544 18.912 18.976v113.856z", -] -`; - -exports[`device utils get icon 4`] = ` -Array [ - "M692.8 313.92l-1.92-1.92c-6.246-7.057-15.326-11.484-25.44-11.484s-19.194 4.427-25.409 11.448l-0.031 0.036-196.48 224-3.84 1.6-3.84-1.92-48.64-57.28c-7.010-7.905-17.193-12.862-28.533-12.862-21.031 0-38.080 17.049-38.080 38.080 0 7.495 2.165 14.485 5.905 20.377l-0.092-0.155 100.8 148.16c5.391 8.036 14.386 13.292 24.618 13.44h8.662c17.251-0.146 32.385-9.075 41.163-22.529l0.117-0.191 195.2-296.32c4.473-6.632 7.141-14.803 7.141-23.597 0-11.162-4.297-21.32-11.326-28.911l0.025 0.028z", -] -`; - -exports[`device utils get icon 5`] = `undefined`; - -exports[`device utils get icon 6`] = `undefined`; - -exports[`device utils get status 1`] = `"#1E7FF0"`; - -exports[`device utils get status 2`] = `"#ED1212"`; - -exports[`device utils get status 3`] = `"#EB8A00"`; - -exports[`device utils get status 4`] = `"#01B757"`; - -exports[`device utils get status 5`] = `null`; - -exports[`device utils get status 6`] = `null`; diff --git a/src/utils/__tests__/notification.test.js b/src/utils/__tests__/notification.test.js index d6626311..f145bee3 100644 --- a/src/utils/__tests__/notification.test.js +++ b/src/utils/__tests__/notification.test.js @@ -1,32 +1,12 @@ -import * as nUtils from 'utils/notification'; +import * as utils from 'utils/notification'; -describe('device utils', () => { - it('get status', () => { - const types = [ - 'info', - 'error', - 'warning', - 'success', - 'kdsjflds', - '', - ]; - - types.forEach((type) => { - expect(nUtils.getPrimaryColor(type)).toMatchSnapshot(); - }); - }); - it('get icon', () => { - const types = [ - 'info', - 'error', - 'warning', - 'success', - 'kdsjflds', - '', - ]; - - types.forEach((type) => { - expect(nUtils.getIcon(type)).toMatchSnapshot(); - }); +describe('notification utils', () => { + it('get colors from status', () => { + expect(utils.getPrimaryColor('info')).toBe('#1E7FF0'); + expect(utils.getPrimaryColor('warning')).toBe('#EB8A00'); + expect(utils.getPrimaryColor('error')).toBe('#ED1212'); + expect(utils.getPrimaryColor('success')).toBe('#01B757'); + expect(utils.getPrimaryColor('kdsjflds')).toBe(null); + expect(utils.getPrimaryColor('')).toBe(null); }); }); From d4a19b51339e9f24b5282e7561f5ef33ace76437 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Mon, 25 Feb 2019 14:51:55 +0100 Subject: [PATCH 198/219] Eth utils tests refactored --- .../__snapshots__/ethUtils.test.js.snap | 45 --------------- src/utils/__tests__/ethUtils.test.js | 57 ++++++++----------- 2 files changed, 24 insertions(+), 78 deletions(-) delete mode 100644 src/utils/__tests__/__snapshots__/ethUtils.test.js.snap diff --git a/src/utils/__tests__/__snapshots__/ethUtils.test.js.snap b/src/utils/__tests__/__snapshots__/ethUtils.test.js.snap deleted file mode 100644 index ad90b78c..00000000 --- a/src/utils/__tests__/__snapshots__/ethUtils.test.js.snap +++ /dev/null @@ -1,45 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`eth utils calcGasPrice 1`] = `"89090990901"`; - -exports[`eth utils decimalToHex 1`] = `"0"`; - -exports[`eth utils decimalToHex 2`] = `"1"`; - -exports[`eth utils decimalToHex 3`] = `"2"`; - -exports[`eth utils decimalToHex 4`] = `"64"`; - -exports[`eth utils decimalToHex 5`] = `"2540be3ff"`; - -exports[`eth utils hexToDecimal 1`] = `"9999999999"`; - -exports[`eth utils hexToDecimal 2`] = `"100"`; - -exports[`eth utils hexToDecimal 3`] = `"2"`; - -exports[`eth utils hexToDecimal 4`] = `"1"`; - -exports[`eth utils hexToDecimal 5`] = `"0"`; - -exports[`eth utils hexToDecimal 6`] = `"null"`; - -exports[`eth utils padLeftEven 1`] = `"02540be3ff"`; - -exports[`eth utils sanitizeHex 1`] = `"0x02540be3ff"`; - -exports[`eth utils sanitizeHex 2`] = `"0x01"`; - -exports[`eth utils sanitizeHex 3`] = `"0x02"`; - -exports[`eth utils sanitizeHex 4`] = `"0x0100"`; - -exports[`eth utils sanitizeHex 5`] = `"0x0999"`; - -exports[`eth utils sanitizeHex 6`] = `""`; - -exports[`eth utils strip 1`] = `""`; - -exports[`eth utils strip 2`] = `"02540be3ff"`; - -exports[`eth utils strip 3`] = `"02540be3ff"`; diff --git a/src/utils/__tests__/ethUtils.test.js b/src/utils/__tests__/ethUtils.test.js index 119b90e5..e3fb8c1b 100644 --- a/src/utils/__tests__/ethUtils.test.js +++ b/src/utils/__tests__/ethUtils.test.js @@ -1,53 +1,44 @@ import BigNumber from 'bignumber.js'; -import * as ethUtils from '../ethUtils'; +import * as utils from '../ethUtils'; describe('eth utils', () => { it('decimalToHex', () => { - const input = [0, 1, 2, 100, 9999999999]; - - input.forEach((entry) => { - expect(ethUtils.decimalToHex(entry)).toMatchSnapshot(); - }); + expect(utils.decimalToHex(0)).toBe('0'); + expect(utils.decimalToHex(1)).toBe('1'); + expect(utils.decimalToHex(2)).toBe('2'); + expect(utils.decimalToHex(100)).toBe('64'); + expect(utils.decimalToHex(9999999999)).toBe('2540be3ff'); }); + // TODO: decimal as string ????? it('hexToDecimal', () => { - const input = ['2540be3ff', '64', '2', '1', '0', '']; - - input.forEach((entry) => { - expect(ethUtils.hexToDecimal(entry)).toMatchSnapshot(); - }); + expect(utils.hexToDecimal('2540be3ff')).toBe('9999999999'); + expect(utils.hexToDecimal(64)).toBe('100'); + expect(utils.hexToDecimal(2)).toBe('2'); + expect(utils.hexToDecimal(1)).toBe('1'); + expect(utils.hexToDecimal(0)).toBe('0'); }); it('padLeftEven', () => { - const input = ['2540be3ff']; - - input.forEach((entry) => { - expect(ethUtils.padLeftEven(entry)).toMatchSnapshot(); - }); + expect(utils.padLeftEven('2540be3ff')).toBe('02540be3ff'); }); it('sanitizeHex', () => { - const input = ['0x2540be3ff', '1', '2', '100', '999', '']; - - input.forEach((entry) => { - expect(ethUtils.sanitizeHex(entry)).toMatchSnapshot(); - }); + expect(utils.sanitizeHex('0x2540be3ff')).toBe('0x02540be3ff'); + expect(utils.sanitizeHex('1')).toBe('0x01'); + expect(utils.sanitizeHex('2')).toBe('0x02'); + expect(utils.sanitizeHex('100')).toBe('0x0100'); + expect(utils.sanitizeHex('999')).toBe('0x0999'); + expect(utils.sanitizeHex('')).toBe(''); }); - it('strip', () => { - const input = ['0x', '0x2540be3ff', '2540be3ff']; - - input.forEach((entry) => { - expect(ethUtils.strip(entry)).toMatchSnapshot(); - }); + expect(utils.strip('0x')).toBe(''); + expect(utils.strip('0x2540be3ff')).toBe('02540be3ff'); + expect(utils.strip('2540be3ff')).toBe('02540be3ff'); }); - it('calcGasPrice', () => { - const input = [{ price: new BigNumber(9898998989), limit: '9' }]; - - input.forEach((entry) => { - expect(ethUtils.calcGasPrice(entry.price, entry.limit)).toMatchSnapshot(); - }); + it('calculate gas price', () => { + expect(utils.calcGasPrice(new BigNumber(9898998989), 9)).toBe('89090990901'); }); }); From ced81e550350490efe31b37e325b6b8240978a99 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Mon, 25 Feb 2019 15:05:01 +0100 Subject: [PATCH 199/219] Format utils tests refactored --- .../__snapshots__/formatUtils.test.js.snap | 45 -------------- src/utils/__tests__/formatUtils.test.js | 61 ++++++++----------- 2 files changed, 26 insertions(+), 80 deletions(-) delete mode 100644 src/utils/__tests__/__snapshots__/formatUtils.test.js.snap diff --git a/src/utils/__tests__/__snapshots__/formatUtils.test.js.snap b/src/utils/__tests__/__snapshots__/formatUtils.test.js.snap deleted file mode 100644 index 448a338a..00000000 --- a/src/utils/__tests__/__snapshots__/formatUtils.test.js.snap +++ /dev/null @@ -1,45 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`format utils btckb2satoshib 1`] = `0`; - -exports[`format utils btckb2satoshib 2`] = `100000`; - -exports[`format utils btckb2satoshib 3`] = `200000`; - -exports[`format utils btckb2satoshib 4`] = `10000000`; - -exports[`format utils btckb2satoshib 5`] = `99900000`; - -exports[`format utils formatAmount 1`] = `"0 btc"`; - -exports[`format utils formatAmount 2`] = `"10 mBTC"`; - -exports[`format utils formatAmount 3`] = `"0.000005 mBTC"`; - -exports[`format utils formatAmount 4`] = `"1e-8 eth"`; - -exports[`format utils formatAmount 5`] = `"0.00099999 tau"`; - -exports[`format utils formatTime 1`] = `"No time estimate"`; - -exports[`format utils formatTime 2`] = `"1 minutes"`; - -exports[`format utils formatTime 3`] = `"2 minutes"`; - -exports[`format utils formatTime 4`] = `"1 hour 40 minutes"`; - -exports[`format utils formatTime 5`] = `"16 hours 39 minutes"`; - -exports[`format utils formatTime 6`] = `"45 minutes"`; - -exports[`format utils hexToString 1`] = `"test"`; - -exports[`format utils hexToString 2`] = `"0001"`; - -exports[`format utils hexToString 3`] = `"test99999"`; - -exports[`format utils stringToHex 1`] = `"0074006500730074"`; - -exports[`format utils stringToHex 2`] = `"0030003000300031"`; - -exports[`format utils stringToHex 3`] = `"007400650073007400390039003900390039"`; diff --git a/src/utils/__tests__/formatUtils.test.js b/src/utils/__tests__/formatUtils.test.js index eb1d026d..2f9071d5 100644 --- a/src/utils/__tests__/formatUtils.test.js +++ b/src/utils/__tests__/formatUtils.test.js @@ -1,49 +1,40 @@ -import * as formatUtils from '../formatUtils'; +import * as utils from '../formatUtils'; describe('format utils', () => { it('formatAmount', () => { - const input = [ - { amount: 0, coinInfo: { isBitcoin: true, currencyUnits: 'mbtc', shortcut: 'btc' } }, - { amount: 1000000, coinInfo: { isBitcoin: true, currencyUnits: 'mbtc', shortcut: 'btc' } }, - { amount: 0.5, coinInfo: { isBitcoin: true, currencyUnits: 'mbtc', shortcut: 'btc' } }, - { amount: 1, coinInfo: { isBitcoin: false, shortcut: 'eth' } }, - { amount: 99999, coinInfo: { isBitcoin: false, shortcut: 'tau' } }, - ]; - - input.forEach((entry) => { - expect(formatUtils.formatAmount(entry.amount, entry.coinInfo, entry.coinInfo.currencyUnits)).toMatchSnapshot(); - }); + expect(utils.formatAmount(0, { isBitcoin: true }, 'mbtc')).toMatchSnapshot('0 btc'); + expect(utils.formatAmount(1000000, { isBitcoin: true }, 'mbtc')).toMatchSnapshot('10 mBTC'); + expect(utils.formatAmount(0.5, { isBitcoin: true }, 'mbtc')).toMatchSnapshot('0.000005 mBTC'); + expect(utils.formatAmount(1, { isBitcoin: false, shortcut: 'eth' }, null)).toMatchSnapshot('1e-8 eth'); + expect(utils.formatAmount(99999, { isBitcoin: false, shortcut: 'tau' }, null)).toMatchSnapshot('0.00099999 tau'); }); - it('formatTime', () => { - const input = [0, 1, 2, 100, 999, 45]; - - input.forEach((entry) => { - expect(formatUtils.formatTime(entry)).toMatchSnapshot(); - }); + it('format time', () => { + expect(utils.formatTime(0)).toBe('No time estimate'); + expect(utils.formatTime(1)).toBe('1 minutes'); // TODO: should be minute + expect(utils.formatTime(2)).toBe('2 minutes'); + expect(utils.formatTime(45)).toBe('45 minutes'); + expect(utils.formatTime(100)).toBe('1 hour 40 minutes'); + expect(utils.formatTime(999)).toBe('16 hours 39 minutes'); }); it('btckb2satoshib', () => { - const input = [0, 1, 2, 100, 999]; - - input.forEach((entry) => { - expect(formatUtils.btckb2satoshib(entry)).toMatchSnapshot(); - }); + expect(utils.btckb2satoshib(0)).toBe(0); + expect(utils.btckb2satoshib(1)).toBe(100000); + expect(utils.btckb2satoshib(2)).toBe(200000); + expect(utils.btckb2satoshib(100)).toBe(10000000); + expect(utils.btckb2satoshib(999)).toBe(99900000); }); - it('stringToHex', () => { - const input = ['test', '0001', 'test99999']; - - input.forEach((entry) => { - expect(formatUtils.stringToHex(entry)).toMatchSnapshot(); - }); + it('string to hex', () => { + expect(utils.stringToHex('test')).toBe('0074006500730074'); + expect(utils.stringToHex('0001')).toBe('0030003000300031'); + expect(utils.stringToHex('test99999')).toBe('007400650073007400390039003900390039'); }); - it('hexToString', () => { - const input = ['0074006500730074', '0030003000300031', '007400650073007400390039003900390039']; - - input.forEach((entry) => { - expect(formatUtils.hexToString(entry)).toMatchSnapshot(); - }); + it('hex to string', () => { + expect(utils.hexToString('0074006500730074')).toBe('test'); + expect(utils.hexToString('0030003000300031')).toBe('0001'); + expect(utils.hexToString('007400650073007400390039003900390039')).toBe('test99999'); }); }); From be3efd183544bb2d51be50057c2ce4b240b85b33 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Mon, 25 Feb 2019 15:08:09 +0100 Subject: [PATCH 200/219] Format utils tests refactored 2 --- src/utils/__tests__/formatUtils.test.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/utils/__tests__/formatUtils.test.js b/src/utils/__tests__/formatUtils.test.js index 2f9071d5..f83776e4 100644 --- a/src/utils/__tests__/formatUtils.test.js +++ b/src/utils/__tests__/formatUtils.test.js @@ -1,12 +1,13 @@ import * as utils from '../formatUtils'; describe('format utils', () => { + // TODO: check this weird function it('formatAmount', () => { - expect(utils.formatAmount(0, { isBitcoin: true }, 'mbtc')).toMatchSnapshot('0 btc'); - expect(utils.formatAmount(1000000, { isBitcoin: true }, 'mbtc')).toMatchSnapshot('10 mBTC'); - expect(utils.formatAmount(0.5, { isBitcoin: true }, 'mbtc')).toMatchSnapshot('0.000005 mBTC'); - expect(utils.formatAmount(1, { isBitcoin: false, shortcut: 'eth' }, null)).toMatchSnapshot('1e-8 eth'); - expect(utils.formatAmount(99999, { isBitcoin: false, shortcut: 'tau' }, null)).toMatchSnapshot('0.00099999 tau'); + expect(utils.formatAmount(0, { isBitcoin: false, shortcut: 'mbtc' }, 'mbtc')).toBe('0 mbtc'); + expect(utils.formatAmount(1000000, { isBitcoin: true }, 'mbtc')).toBe('10 mBTC'); + expect(utils.formatAmount(0.5, { isBitcoin: true }, 'mbtc')).toBe('0.000005 mBTC'); + expect(utils.formatAmount(1, { isBitcoin: false, shortcut: 'eth' }, null)).toBe('1e-8 eth'); + expect(utils.formatAmount(99999, { isBitcoin: false, shortcut: 'tau' }, null)).toBe('0.00099999 tau'); }); it('format time', () => { From 752943ff4e0e40966bd1b4beef2b2f99f3a3ae25 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 25 Feb 2019 16:12:26 +0100 Subject: [PATCH 201/219] remove punctuation marks from button and title --- src/components/modals/confirm/NoBackup/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/modals/confirm/NoBackup/index.js b/src/components/modals/confirm/NoBackup/index.js index 814cb92f..205a9947 100644 --- a/src/components/modals/confirm/NoBackup/index.js +++ b/src/components/modals/confirm/NoBackup/index.js @@ -63,12 +63,12 @@ const Confirmation = (props: Props) => ( props.onReceiveConfirmation(false)}> -

Your Trezor is not backed up!

+

Your Trezor is not backed up

If your device is ever lost or damaged, your funds will be lost. Backup your device first, to protect your coins against such events. - props.onReceiveConfirmation(false)}>Create a backup in 3 minutes. + props.onReceiveConfirmation(false)}>Create a backup in 3 minutes props.onReceiveConfirmation(true)}>Show address, I will take the risk From a01ca0fb78159914a6ae44071204c4953b6b7009 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 25 Feb 2019 16:19:13 +0100 Subject: [PATCH 202/219] show warning when device needs backup before showing full address --- .../modals/confirm/UnverifiedAddress/index.js | 74 +++++++++++++++---- 1 file changed, 61 insertions(+), 13 deletions(-) diff --git a/src/components/modals/confirm/UnverifiedAddress/index.js b/src/components/modals/confirm/UnverifiedAddress/index.js index e6f26592..230671ac 100644 --- a/src/components/modals/confirm/UnverifiedAddress/index.js +++ b/src/components/modals/confirm/UnverifiedAddress/index.js @@ -31,11 +31,23 @@ const StyledLink = styled(Link)` const Wrapper = styled.div` max-width: 370px; - padding: 30px 48px; + padding: 30px 0px; + +`; + +const Content = styled.div` + padding: 0px 48px; `; const StyledP = styled(P)` - padding: 20px 0px; + padding-bottom: 20px; +`; + +const Divider = styled.div` + width: 100%; + height: 1px; + background: ${colors.DIVIDER}; + margin: 20px 0px; `; const Row = styled.div` @@ -47,6 +59,20 @@ const Row = styled.div` } `; +const WarnButton = styled(Button)` + background: transparent; + border-color: ${colors.WARNING_PRIMARY}; + color: ${colors.WARNING_PRIMARY}; + + &:focus, + &:hover, + &:active { + color: ${colors.WHITE}; + background: ${colors.WARNING_PRIMARY}; + box-shadow: none; + } +`; + class ConfirmUnverifiedAddress extends PureComponent { componentDidMount(): void { this.keyboardHandler = this.keyboardHandler.bind(this); @@ -86,26 +112,48 @@ class ConfirmUnverifiedAddress extends PureComponent { let claim: string; if (!device.connected) { - deviceStatus = `${device.label} is not connected`; + deviceStatus = `Device ${device.label} is not connected`; claim = 'Please connect your device'; } else { // corner-case where device is connected but it is unavailable because it was created with different "passphrase_protection" settings const enable: string = device.features && device.features.passphrase_protection ? 'enable' : 'disable'; - deviceStatus = `${device.label} is unavailable`; + deviceStatus = `Device ${device.label} is unavailable`; claim = `Please ${enable} passphrase settings`; } + const needsBackup = device.features && device.features.needs_backup; + return ( - - - -

{ deviceStatus }

- To prevent phishing attacks, you should verify the address on your Trezor first. { claim } to continue with the verification process. - - - - + + + + +

{ deviceStatus }

+ To prevent phishing attacks, you should verify the address on your Trezor first. { claim } to continue with the verification process. +
+ + + + this.showUnverifiedAddress()}>Show unverified address + + + {needsBackup && } + {needsBackup && ( + <> + +

Device {device.label} is not backed up

+ If your device is ever lost or damaged, your funds will be lost. Backup your device first, to protect your coins against such events. +
+ + + + + + + + + )}
); } From cf86dc93a28cab51f2f5abcc1942c1a30281fe0c Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 25 Feb 2019 16:28:41 +0100 Subject: [PATCH 203/219] fix width of the backup button --- src/components/modals/confirm/UnverifiedAddress/index.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/components/modals/confirm/UnverifiedAddress/index.js b/src/components/modals/confirm/UnverifiedAddress/index.js index 230671ac..dec2098f 100644 --- a/src/components/modals/confirm/UnverifiedAddress/index.js +++ b/src/components/modals/confirm/UnverifiedAddress/index.js @@ -59,6 +59,10 @@ const Row = styled.div` } `; +const BackupButton = styled(Button)` + width: 100%; +`; + const WarnButton = styled(Button)` background: transparent; border-color: ${colors.WARNING_PRIMARY}; @@ -148,7 +152,7 @@ class ConfirmUnverifiedAddress extends PureComponent { - + Create a backup in 3 minutes From d43426bade0a024da2b81c3b41234ff4495191d2 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 25 Feb 2019 17:46:25 +0100 Subject: [PATCH 204/219] renamed read more to learn more --- src/components/Tooltip/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Tooltip/index.js b/src/components/Tooltip/index.js index 17cb2344..920073e3 100644 --- a/src/components/Tooltip/index.js +++ b/src/components/Tooltip/index.js @@ -43,7 +43,7 @@ const Tooltip = ({ {content} {readMoreLink && ( - Read more + Learn more ) } From 8db40190869bbbf422abe17d3a839787ceba59b4 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Mon, 25 Feb 2019 17:47:28 +0100 Subject: [PATCH 205/219] update destination tag explanation and learn more link --- .../Account/Send/ripple/components/AdvancedForm/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/Wallet/views/Account/Send/ripple/components/AdvancedForm/index.js b/src/views/Wallet/views/Account/Send/ripple/components/AdvancedForm/index.js index 883533d7..7257b3be 100644 --- a/src/views/Wallet/views/Account/Send/ripple/components/AdvancedForm/index.js +++ b/src/views/Wallet/views/Account/Send/ripple/components/AdvancedForm/index.js @@ -165,11 +165,11 @@ const AdvancedForm = (props: Props) => { - An arbitrary unsigned 32-bit integer that identifies a reason for payment or a non-Ripple account. + Destination tag is an arbitrary number which serves as a unique identifier of your transaction. Some services may require this to process your transaction. )} maxWidth={200} - readMoreLink="https://developers.ripple.com/rippleapi-reference.html#payment" + readMoreLink="https://wiki.trezor.io/Ripple_(XRP)" placement="top" > Date: Mon, 25 Feb 2019 18:07:24 +0100 Subject: [PATCH 206/219] update text for xrp minimum acc reserve notification --- src/components/Notification/index.js | 2 +- .../notifications/Context/components/Static/index.js | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/components/Notification/index.js b/src/components/Notification/index.js index 721a7463..8ced6cce 100644 --- a/src/components/Notification/index.js +++ b/src/components/Notification/index.js @@ -17,7 +17,7 @@ type Props = { cancelable?: boolean; title: string; className?: string; - message?: ?string; + message?: ?React.Node; actions?: Array; isActionInProgress?: boolean; close?: typeof NotificationActions.close, diff --git a/src/components/notifications/Context/components/Static/index.js b/src/components/notifications/Context/components/Static/index.js index 912569cf..a6867a0e 100644 --- a/src/components/notifications/Context/components/Static/index.js +++ b/src/components/notifications/Context/components/Static/index.js @@ -3,7 +3,7 @@ import * as React from 'react'; import Notification from 'components/Notification'; import Bignumber from 'bignumber.js'; - +import Link from 'components/Link'; import type { Props } from '../../index'; export default (props: Props) => { @@ -25,7 +25,12 @@ export default (props: Props) => { key="xrp-warning" type="warning" title="Minimum account reserve required" - message={`The Base Reserve is a minimum amount of XRP that is required for every address in the ledger. Currently, this is ${bigReserve.toString()} XRP.`} + message={( + <> + {`Ripple addresses require a minimum balance of ${bigReserve.toString()} XRP to activate and maintain the account. `} + Learn more + + )} />, ); } From a5ac8ce94492b63b1870f7198d4aebc1e255fad1 Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Tue, 26 Feb 2019 12:36:19 +0100 Subject: [PATCH 207/219] bump trezor-connect@7.0.0-beta.3 --- package.json | 2 +- yarn.lock | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 74ec7d3d..84d8eaab 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "styled-components": "^4.1.3", "styled-normalize": "^8.0.6", "trezor-bridge-communicator": "1.0.2", - "trezor-connect": "7.0.0-beta.2", + "trezor-connect": "7.0.0-beta.3", "wallet-address-validator": "^0.2.4", "web3": "1.0.0-beta.38", "webpack": "^4.29.3", diff --git a/yarn.lock b/yarn.lock index ef448946..32b11a19 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4250,10 +4250,15 @@ eventemitter3@3.1.0, eventemitter3@^3.0.0, eventemitter3@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" -events@^1.0.0, events@^1.1.1: +events@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" +events@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" + integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== + eventsource@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" @@ -10564,13 +10569,14 @@ trezor-bridge-communicator@1.0.2: request "^2.88.0" whatwg-fetch "^3.0.0" -trezor-connect@7.0.0-beta.2: - version "7.0.0-beta.2" - resolved "https://registry.yarnpkg.com/trezor-connect/-/trezor-connect-7.0.0-beta.2.tgz#10dc04e1b60804263e9873cd503a4fc9d3e940d2" +trezor-connect@7.0.0-beta.3: + version "7.0.0-beta.3" + resolved "https://registry.yarnpkg.com/trezor-connect/-/trezor-connect-7.0.0-beta.3.tgz#34aff422e36745eac24a266bcdfa266282ac5255" + integrity sha512-aRh+Vzfqy/2GMJnsvtrzGhwi9j9wjOkBrNN62HTD2sDXLrcROlQMHBCd5lPjSZaJk1npjw5rrvhPS3G9IeyiVw== dependencies: - babel-runtime "^6.26.0" - events "^1.1.1" - whatwg-fetch "^2.0.4" + "@babel/runtime" "^7.3.1" + events "^3.0.0" + whatwg-fetch "^3.0.0" trim-newlines@^2.0.0: version "2.0.0" @@ -11427,7 +11433,7 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: dependencies: iconv-lite "0.4.19" -whatwg-fetch@2.0.4, whatwg-fetch@^2.0.4: +whatwg-fetch@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" From 149b07cb2ed54bf6596e508d610152e119d4a162 Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Tue, 26 Feb 2019 12:37:26 +0100 Subject: [PATCH 208/219] connect7 changes --- src/actions/DiscoveryActions.js | 2 +- src/actions/ReceiveActions.js | 3 +++ src/actions/TrezorConnectActions.js | 6 +++++- src/flowtype/index.js | 2 ++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/actions/DiscoveryActions.js b/src/actions/DiscoveryActions.js index be0ddb03..5feebc38 100644 --- a/src/actions/DiscoveryActions.js +++ b/src/actions/DiscoveryActions.js @@ -205,7 +205,7 @@ const discoverAccount = (device: TrezorDevice, discoveryProcess: Discovery): Asy } // handle outdated firmware error - if (error.message === UI.FIRMWARE) { + if (error.message === UI.FIRMWARE_OLD) { dispatch({ type: DISCOVERY.FIRMWARE_OUTDATED, device, diff --git a/src/actions/ReceiveActions.js b/src/actions/ReceiveActions.js index 116a5c15..70523e30 100644 --- a/src/actions/ReceiveActions.js +++ b/src/actions/ReceiveActions.js @@ -94,6 +94,9 @@ export const showAddress = (path: Array): AsyncAction => async (dispatch type: RECEIVE.HIDE_ADDRESS, }); + // special case: device no-backup permissions not granted + if (response.payload.code === 403) return; + dispatch({ type: NOTIFICATION.ADD, payload: { diff --git a/src/actions/TrezorConnectActions.js b/src/actions/TrezorConnectActions.js index dfbde361..f25f5477 100644 --- a/src/actions/TrezorConnectActions.js +++ b/src/actions/TrezorConnectActions.js @@ -120,7 +120,7 @@ export const init = (): AsyncAction => async (dispatch: Dispatch, getState: GetS if (buildUtils.isDev()) { window.__TREZOR_CONNECT_SRC = typeof LOCAL === 'string' ? LOCAL : 'https://sisyfos.trezor.io/connect/'; // eslint-disable-line no-underscore-dangle - // window.__TREZOR_CONNECT_SRC = typeof LOCAL === 'string' ? LOCAL : 'https://connect.trezor.io/5/'; // eslint-disable-line no-underscore-dangle + // window.__TREZOR_CONNECT_SRC = typeof LOCAL === 'string' ? LOCAL : 'https://localhost:8088/'; // eslint-disable-line no-underscore-dangle window.TrezorConnect = TrezorConnect; } @@ -131,6 +131,10 @@ export const init = (): AsyncAction => async (dispatch: Dispatch, getState: GetS popup: false, webusb: true, pendingTransportEvent: (getState().devices.length < 1), + manifest: { + email: 'info@trezor.io', + appUrl: 'http://beta-wallet.trezor.io/next/', + }, }); } catch (error) { dispatch({ diff --git a/src/flowtype/index.js b/src/flowtype/index.js index e5e24d07..88cd5e0e 100644 --- a/src/flowtype/index.js +++ b/src/flowtype/index.js @@ -38,6 +38,7 @@ import type { Device, Features, DeviceStatus, + FirmwareRelease, DeviceFirmwareStatus, DeviceMode, DeviceMessageType, @@ -55,6 +56,7 @@ export type AcquiredDevice = $Exact<{ +label: string, +features: Features, +firmware: DeviceFirmwareStatus, + +firmwareRelease: ?FirmwareRelease, status: DeviceStatus, +mode: DeviceMode, state: ?string, From 2607417583fb503e1676a0e09acddae9d5b23dfb Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Tue, 26 Feb 2019 12:37:40 +0100 Subject: [PATCH 209/219] FirmwareUpdate target --- src/views/Wallet/views/FirmwareUpdate/index.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/views/Wallet/views/FirmwareUpdate/index.js b/src/views/Wallet/views/FirmwareUpdate/index.js index f15bcfa4..31e1da69 100644 --- a/src/views/Wallet/views/FirmwareUpdate/index.js +++ b/src/views/Wallet/views/FirmwareUpdate/index.js @@ -49,6 +49,14 @@ const StyledP = styled(P)` text-align: center; `; +const getFirmwareReleaseLink = (device: ?TrezorDevice): string => { + if (!device || !device.firmwareRelease) return 'https://beta-wallet.trezor.io'; + const release = device.firmwareRelease; + const url = release.channel === 'beta' ? 'https://beta-wallet.trezor.io/' : 'https://wallet.trezor.io/'; + const version = release.version.join('.'); + return `${url}?fw=${version}`; +}; + const FirmwareUpdate = (props: Props) => ( @@ -129,7 +137,7 @@ const FirmwareUpdate = (props: Props) => (

It’s time to update your firmware

Please use Bitcoin wallet interface to update your firmware. - + {deviceUtils.isDeviceAccessible(props.device) && ( From f502f55a4dad0fb8f954a11ac089d66d9a565920 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Tue, 26 Feb 2019 13:10:21 +0100 Subject: [PATCH 210/219] Added max width for paragraph --- src/views/Wallet/views/NoBackup/index.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/views/Wallet/views/NoBackup/index.js b/src/views/Wallet/views/NoBackup/index.js index 53c27cf9..62d2b982 100644 --- a/src/views/Wallet/views/NoBackup/index.js +++ b/src/views/Wallet/views/NoBackup/index.js @@ -30,6 +30,11 @@ const StyledH1 = styled(H1)` text-align: center; `; +const StyledP = styled(P)` + max-width: 550px; + padding-bottom: 15px; +`; + const Message = styled.div` text-align: center; padding: 0 0 15px 0; @@ -44,7 +49,7 @@ const FirmwareUpdate = () => ( /> Your Trezor is not backed up! -

If your device is ever lost or damaged, your funds will be lost. Backup your device first, to protect your coins against such events.

+ If your device is ever lost or damaged, your funds will be lost. Backup your device first, to protect your coins against such events.

Please use Bitcoin wallet interface to create a backup.

From b45a3d3eee2e57af0fc837d068305337831fe4fc Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Tue, 26 Feb 2019 13:20:09 +0100 Subject: [PATCH 211/219] Update TrezorConnectActions.js --- src/actions/TrezorConnectActions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/actions/TrezorConnectActions.js b/src/actions/TrezorConnectActions.js index f25f5477..78eb12a4 100644 --- a/src/actions/TrezorConnectActions.js +++ b/src/actions/TrezorConnectActions.js @@ -133,7 +133,7 @@ export const init = (): AsyncAction => async (dispatch: Dispatch, getState: GetS pendingTransportEvent: (getState().devices.length < 1), manifest: { email: 'info@trezor.io', - appUrl: 'http://beta-wallet.trezor.io/next/', + appUrl: 'https://beta-wallet.trezor.io/next/', }, }); } catch (error) { From 42fdb7728a6756f3c1eea5ce58556f7e9e2d761a Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Tue, 26 Feb 2019 13:40:22 +0100 Subject: [PATCH 212/219] Added url constants for wallets --- src/actions/TrezorConnectActions.js | 3 +- .../modals/confirm/NoBackup/index.js | 83 +++++++++++++++++++ src/constants/urls.js | 5 ++ .../Wallet/views/DeviceSettings/index.js | 3 +- .../Wallet/views/FirmwareUpdate/index.js | 5 +- src/views/Wallet/views/Initialize/index.js | 3 +- 6 files changed, 97 insertions(+), 5 deletions(-) create mode 100644 src/components/modals/confirm/NoBackup/index.js create mode 100644 src/constants/urls.js diff --git a/src/actions/TrezorConnectActions.js b/src/actions/TrezorConnectActions.js index 78eb12a4..8b05b218 100644 --- a/src/actions/TrezorConnectActions.js +++ b/src/actions/TrezorConnectActions.js @@ -3,6 +3,7 @@ import TrezorConnect, { DEVICE, DEVICE_EVENT, UI_EVENT, TRANSPORT_EVENT, BLOCKCHAIN_EVENT, } from 'trezor-connect'; import { CONTEXT_NONE } from 'actions/constants/modal'; +import urlConstants from 'constants/urls'; import * as CONNECT from 'actions/constants/TrezorConnect'; import * as NOTIFICATION from 'actions/constants/notification'; import { getDuplicateInstanceNumber } from 'reducers/utils'; @@ -133,7 +134,7 @@ export const init = (): AsyncAction => async (dispatch: Dispatch, getState: GetS pendingTransportEvent: (getState().devices.length < 1), manifest: { email: 'info@trezor.io', - appUrl: 'https://beta-wallet.trezor.io/next/', + appUrl: urlConstants.NEXT_WALLET, }, }); } catch (error) { diff --git a/src/components/modals/confirm/NoBackup/index.js b/src/components/modals/confirm/NoBackup/index.js new file mode 100644 index 00000000..61d04230 --- /dev/null +++ b/src/components/modals/confirm/NoBackup/index.js @@ -0,0 +1,83 @@ +/* @flow */ + +import React from 'react'; +import PropTypes from 'prop-types'; +import styled from 'styled-components'; + +import icons from 'config/icons'; +import urlConstants from 'constants/urls'; +import colors from 'config/colors'; + +import { H2 } from 'components/Heading'; +import P from 'components/Paragraph'; +import Icon from 'components/Icon'; +import Button from 'components/Button'; +import Link from 'components/Link'; + +import type { Props as BaseProps } from '../../Container'; + +type Props = { + onReceiveConfirmation: $ElementType<$ElementType, 'onReceiveConfirmation'>; +} + +const Wrapper = styled.div` + max-width: 370px; + padding: 30px 48px; +`; + +const StyledLink = styled(Link)` + position: absolute; + right: 15px; + top: 15px; +`; + +const BackupButton = styled(Button)` + width: 100%; + margin-bottom: 10px; +`; + +const ProceedButton = styled(Button)` + background: transparent; + border-color: ${colors.WARNING_PRIMARY}; + color: ${colors.WARNING_PRIMARY}; + + &:focus, + &:hover, + &:active { + color: ${colors.WHITE}; + background: ${colors.WARNING_PRIMARY}; + box-shadow: none; + } +`; + +const StyledP = styled(P)` + padding-bottom: 20px; +`; + +const Row = styled.div` + display: flex; + flex-direction: column; +`; + +const Confirmation = (props: Props) => ( + + props.onReceiveConfirmation(false)}> + + +

Your Trezor is not backed up

+ + If your device is ever lost or damaged, your funds will be lost. Backup your device first, to protect your coins against such events. + + + props.onReceiveConfirmation(false)}>Create a backup in 3 minutes + + props.onReceiveConfirmation(true)}>Show address, I will take the risk + +
+); + +Confirmation.propTypes = { + onReceiveConfirmation: PropTypes.func.isRequired, +}; + +export default Confirmation; \ No newline at end of file diff --git a/src/constants/urls.js b/src/constants/urls.js new file mode 100644 index 00000000..3596f29e --- /dev/null +++ b/src/constants/urls.js @@ -0,0 +1,5 @@ +export default { + NEXT_WALLET: 'https://beta-wallet.trezor.io/next', + OLD_WALLET: 'https://wallet.trezor.io', + OLD_WALLET_BETA: 'https://beta-wallet.trezor.io', +}; \ No newline at end of file diff --git a/src/views/Wallet/views/DeviceSettings/index.js b/src/views/Wallet/views/DeviceSettings/index.js index 019a6fbe..223c9fa6 100644 --- a/src/views/Wallet/views/DeviceSettings/index.js +++ b/src/views/Wallet/views/DeviceSettings/index.js @@ -7,6 +7,7 @@ import Button from 'components/Button'; import P from 'components/Paragraph'; import Link from 'components/Link'; import ICONS from 'config/icons'; +import urlConstants from 'constants/urls'; import Content from 'views/Wallet/components/Content'; import { connect } from 'react-redux'; @@ -43,7 +44,7 @@ const DeviceSettings = () => ( /> Device settings is under construction Please use Bitcoin wallet interface to change your device settings - + diff --git a/src/views/Wallet/views/FirmwareUpdate/index.js b/src/views/Wallet/views/FirmwareUpdate/index.js index 31e1da69..0a5c604e 100644 --- a/src/views/Wallet/views/FirmwareUpdate/index.js +++ b/src/views/Wallet/views/FirmwareUpdate/index.js @@ -3,6 +3,7 @@ import React from 'react'; import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; +import urlConstants from 'constants/urls'; import styled from 'styled-components'; import { H1 } from 'components/Heading'; @@ -50,9 +51,9 @@ const StyledP = styled(P)` `; const getFirmwareReleaseLink = (device: ?TrezorDevice): string => { - if (!device || !device.firmwareRelease) return 'https://beta-wallet.trezor.io'; + if (!device || !device.firmwareRelease) return urlConstants.OLD_WALLET_BETA; const release = device.firmwareRelease; - const url = release.channel === 'beta' ? 'https://beta-wallet.trezor.io/' : 'https://wallet.trezor.io/'; + const url = release.channel === 'beta' ? urlConstants.OLD_WALLET_BETA : urlConstants.OLD_WALLET; const version = release.version.join('.'); return `${url}?fw=${version}`; }; diff --git a/src/views/Wallet/views/Initialize/index.js b/src/views/Wallet/views/Initialize/index.js index 12d1ea60..1b266678 100644 --- a/src/views/Wallet/views/Initialize/index.js +++ b/src/views/Wallet/views/Initialize/index.js @@ -1,6 +1,7 @@ import styled from 'styled-components'; import { H1 } from 'components/Heading'; import Button from 'components/Button'; +import urlConstants from 'constants/urls'; import Paragraph from 'components/Paragraph'; import React from 'react'; import { connect } from 'react-redux'; @@ -30,7 +31,7 @@ const Initialize = () => (

Your device is not initialized

Please use Bitcoin wallet interface to start initialization process - +
From 44f5f62566943dca9492e1e1ca3421ea40138909 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Tue, 26 Feb 2019 14:18:23 +0100 Subject: [PATCH 213/219] Added correct url for old beta/stable wallet --- .../modals/confirm/UnverifiedAddress/index.js | 4 ++-- src/utils/url.js | 24 +++++++++++++++++++ .../Wallet/views/DeviceSettings/index.js | 13 +++++++--- .../Wallet/views/FirmwareUpdate/index.js | 12 ++-------- src/views/Wallet/views/Initialize/index.js | 13 +++++++--- src/views/Wallet/views/NoBackup/index.js | 13 ++++++---- yarn.lock | 7 ++++++ 7 files changed, 64 insertions(+), 22 deletions(-) create mode 100644 src/utils/url.js diff --git a/src/components/modals/confirm/UnverifiedAddress/index.js b/src/components/modals/confirm/UnverifiedAddress/index.js index dec2098f..04e8059b 100644 --- a/src/components/modals/confirm/UnverifiedAddress/index.js +++ b/src/components/modals/confirm/UnverifiedAddress/index.js @@ -2,7 +2,7 @@ import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import styled from 'styled-components'; - +import { getOldWalletUrl } from 'utils/url'; import icons from 'config/icons'; import colors from 'config/colors'; @@ -151,7 +151,7 @@ class ConfirmUnverifiedAddress extends PureComponent { - + Create a backup in 3 minutes diff --git a/src/utils/url.js b/src/utils/url.js new file mode 100644 index 00000000..e4ca9992 --- /dev/null +++ b/src/utils/url.js @@ -0,0 +1,24 @@ +/* @flow */ +import urlConstants from 'constants/urls'; +import type { TrezorDevice } from 'flowtype'; + +const getOldWalletUrl = (device: ?TrezorDevice): string => { + if (!device) return urlConstants.OLD_WALLET_BETA; + const release = device.firmwareRelease; + const url = release.channel === 'beta' ? urlConstants.OLD_WALLET_BETA : urlConstants.OLD_WALLET; + return url; +}; + +// TODO: use uri template to build urls +const getOldWalletReleaseUrl = (device: ?TrezorDevice): string => { + if (!device || !device.firmwareRelease) return urlConstants.OLD_WALLET_BETA; + const release = device.firmwareRelease; + const url = getOldWalletUrl(device); + const version = release.version.join('.'); + return `${url}?fw=${version}`; +}; + +export { + getOldWalletUrl, + getOldWalletReleaseUrl, +}; \ No newline at end of file diff --git a/src/views/Wallet/views/DeviceSettings/index.js b/src/views/Wallet/views/DeviceSettings/index.js index 223c9fa6..6874297e 100644 --- a/src/views/Wallet/views/DeviceSettings/index.js +++ b/src/views/Wallet/views/DeviceSettings/index.js @@ -1,3 +1,4 @@ +/* @flow */ import React from 'react'; import styled from 'styled-components'; import { H1 } from 'components/Heading'; @@ -7,10 +8,16 @@ import Button from 'components/Button'; import P from 'components/Paragraph'; import Link from 'components/Link'; import ICONS from 'config/icons'; -import urlConstants from 'constants/urls'; +import { getOldWalletUrl } from 'utils/url'; import Content from 'views/Wallet/components/Content'; import { connect } from 'react-redux'; +import type { TrezorDevice } from 'flowtype'; + +type Props = { + device: ?TrezorDevice; +} + const Section = styled.section` display: flex; flex-direction: column; @@ -33,7 +40,7 @@ const StyledH1 = styled(H1)` text-align: center; `; -const DeviceSettings = () => ( +const DeviceSettings = (props: Props) => (
@@ -44,7 +51,7 @@ const DeviceSettings = () => ( /> Device settings is under construction Please use Bitcoin wallet interface to change your device settings - + diff --git a/src/views/Wallet/views/FirmwareUpdate/index.js b/src/views/Wallet/views/FirmwareUpdate/index.js index 0a5c604e..40fad54e 100644 --- a/src/views/Wallet/views/FirmwareUpdate/index.js +++ b/src/views/Wallet/views/FirmwareUpdate/index.js @@ -3,7 +3,7 @@ import React from 'react'; import { bindActionCreators } from 'redux'; import { connect } from 'react-redux'; -import urlConstants from 'constants/urls'; +import { getOldWalletReleaseUrl } from 'utils/url'; import styled from 'styled-components'; import { H1 } from 'components/Heading'; @@ -50,14 +50,6 @@ const StyledP = styled(P)` text-align: center; `; -const getFirmwareReleaseLink = (device: ?TrezorDevice): string => { - if (!device || !device.firmwareRelease) return urlConstants.OLD_WALLET_BETA; - const release = device.firmwareRelease; - const url = release.channel === 'beta' ? urlConstants.OLD_WALLET_BETA : urlConstants.OLD_WALLET; - const version = release.version.join('.'); - return `${url}?fw=${version}`; -}; - const FirmwareUpdate = (props: Props) => ( @@ -138,7 +130,7 @@ const FirmwareUpdate = (props: Props) => (

It’s time to update your firmware

Please use Bitcoin wallet interface to update your firmware. - + {deviceUtils.isDeviceAccessible(props.device) && ( diff --git a/src/views/Wallet/views/Initialize/index.js b/src/views/Wallet/views/Initialize/index.js index 1b266678..2447c7f6 100644 --- a/src/views/Wallet/views/Initialize/index.js +++ b/src/views/Wallet/views/Initialize/index.js @@ -1,11 +1,18 @@ +/* @flow */ import styled from 'styled-components'; import { H1 } from 'components/Heading'; import Button from 'components/Button'; -import urlConstants from 'constants/urls'; +import { getOldWalletUrl } from 'utils/url'; import Paragraph from 'components/Paragraph'; import React from 'react'; import { connect } from 'react-redux'; +import type { TrezorDevice } from 'flowtype'; + +type Props = { + device: ?TrezorDevice; +} + const Wrapper = styled.div` display: flex; flex-direction: column; @@ -26,12 +33,12 @@ const StyledParagraph = styled(Paragraph)` text-align: center; `; -const Initialize = () => ( +const Initialize = (props: Props) => (

Your device is not initialized

Please use Bitcoin wallet interface to start initialization process - +
diff --git a/src/views/Wallet/views/NoBackup/index.js b/src/views/Wallet/views/NoBackup/index.js index 62d2b982..f34dfd61 100644 --- a/src/views/Wallet/views/NoBackup/index.js +++ b/src/views/Wallet/views/NoBackup/index.js @@ -1,17 +1,22 @@ /* @flow */ - import React from 'react'; import styled from 'styled-components'; import { H1 } from 'components/Heading'; import P from 'components/Paragraph'; import Link from 'components/Link'; +import { getOldWalletUrl } from 'utils/url'; import Button from 'components/Button'; import Icon from 'components/Icon'; - import { FONT_SIZE } from 'config/variables'; import colors from 'config/colors'; import icons from 'config/icons'; +import type { TrezorDevice } from 'flowtype'; + +type Props = { + device: ?TrezorDevice; +} + const Wrapper = styled.section` display: flex; flex-direction: column; @@ -40,7 +45,7 @@ const Message = styled.div` padding: 0 0 15px 0; `; -const FirmwareUpdate = () => ( +const FirmwareUpdate = (props: Props) => ( ( If your device is ever lost or damaged, your funds will be lost. Backup your device first, to protect your coins against such events.

Please use Bitcoin wallet interface to create a backup.

- + I’ll do that later. diff --git a/yarn.lock b/yarn.lock index 32b11a19..f75446a4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -738,6 +738,13 @@ dependencies: regenerator-runtime "^0.12.0" +"@babel/runtime@^7.3.1": + version "7.3.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.4.tgz#73d12ba819e365fcf7fd152aed56d6df97d21c83" + integrity sha512-IvfvnMdSaLBateu0jfsYIpZTxAc2cKEXEMiezGGN75QcBcecDUKd3PgLAncT0oOgxKy8dd8hrJKj9MfzgfZd6g== + dependencies: + regenerator-runtime "^0.12.0" + "@babel/template@^7.0.0", "@babel/template@^7.1.0", "@babel/template@^7.1.2", "@babel/template@^7.2.2": version "7.2.2" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.2.2.tgz#005b3fdf0ed96e88041330379e0da9a708eb2907" From 3b7b2a4b82ff8c37959e03a533a240b66dab259f Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Tue, 26 Feb 2019 14:20:52 +0100 Subject: [PATCH 214/219] Fix url in modal --- src/components/modals/confirm/NoBackup/index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/components/modals/confirm/NoBackup/index.js b/src/components/modals/confirm/NoBackup/index.js index 61d04230..b94af096 100644 --- a/src/components/modals/confirm/NoBackup/index.js +++ b/src/components/modals/confirm/NoBackup/index.js @@ -5,7 +5,7 @@ import PropTypes from 'prop-types'; import styled from 'styled-components'; import icons from 'config/icons'; -import urlConstants from 'constants/urls'; +import { getOldWalletUrl } from 'utils/url'; import colors from 'config/colors'; import { H2 } from 'components/Heading'; @@ -14,10 +14,12 @@ import Icon from 'components/Icon'; import Button from 'components/Button'; import Link from 'components/Link'; +import type { TrezorDevice } from 'flowtype'; import type { Props as BaseProps } from '../../Container'; type Props = { onReceiveConfirmation: $ElementType<$ElementType, 'onReceiveConfirmation'>; + device: ?TrezorDevice; } const Wrapper = styled.div` @@ -68,7 +70,7 @@ const Confirmation = (props: Props) => ( If your device is ever lost or damaged, your funds will be lost. Backup your device first, to protect your coins against such events. - + props.onReceiveConfirmation(false)}>Create a backup in 3 minutes props.onReceiveConfirmation(true)}>Show address, I will take the risk From 6c35db4a06ca5bebe8cd525c7710d8a5fd9bada0 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Tue, 26 Feb 2019 14:50:54 +0100 Subject: [PATCH 215/219] Fix flow --- src/components/modals/index.js | 4 ++-- src/utils/url.js | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/modals/index.js b/src/components/modals/index.js index 7fcb70db..4c98ae9d 100644 --- a/src/components/modals/index.js +++ b/src/components/modals/index.js @@ -191,13 +191,13 @@ const getQrModal = (props: Props) => { }; const getConfirmationModal = (props: Props) => { - const { modal, modalActions } = props; + const { modal, modalActions, wallet } = props; if (modal.context !== MODAL.CONTEXT_CONFIRMATION) return null; switch (modal.windowType) { case 'no-backup': - return (); + return (); default: return null; } diff --git a/src/utils/url.js b/src/utils/url.js index e4ca9992..b59a2991 100644 --- a/src/utils/url.js +++ b/src/utils/url.js @@ -3,7 +3,7 @@ import urlConstants from 'constants/urls'; import type { TrezorDevice } from 'flowtype'; const getOldWalletUrl = (device: ?TrezorDevice): string => { - if (!device) return urlConstants.OLD_WALLET_BETA; + if (!device || !device.firmwareRelease) return urlConstants.OLD_WALLET_BETA; const release = device.firmwareRelease; const url = release.channel === 'beta' ? urlConstants.OLD_WALLET_BETA : urlConstants.OLD_WALLET; return url; From d23c653580bbe3adb81651cafae1d049c082cef6 Mon Sep 17 00:00:00 2001 From: slowbackspace Date: Tue, 26 Feb 2019 15:03:19 +0100 Subject: [PATCH 216/219] allow passing null in show prop --- src/components/Backdrop/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Backdrop/index.js b/src/components/Backdrop/index.js index 328a7a40..8752d94b 100644 --- a/src/components/Backdrop/index.js +++ b/src/components/Backdrop/index.js @@ -28,7 +28,7 @@ const Backdrop = ({ ); Backdrop.propTypes = { - show: PropTypes.bool.isRequired, + show: PropTypes.bool, className: PropTypes.string, animated: PropTypes.bool, onClick: PropTypes.func, From 07685ed851354b5308e1bd9fb546433509a9571f Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Tue, 26 Feb 2019 15:07:43 +0100 Subject: [PATCH 217/219] Update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 440a3eb6..bce4b0d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ __added__ - responsive sidebar - QR code scanner in send form - clear send form button +- backup notification modal __changed__ - update dependencies @@ -12,6 +13,7 @@ __changed__ - device header styles - input styles - split sign and verify title +- connect v7 __fixed__ - beta disclaimer wrapper position From 3cfbd46aef6441ade1a9e26f62e9835010d5c064 Mon Sep 17 00:00:00 2001 From: Szymon Lesisz Date: Tue, 26 Feb 2019 15:19:28 +0100 Subject: [PATCH 218/219] Update ethereumTokens.json --- public/data/ethereumTokens.json | 12880 +++++++++++++++--------------- 1 file changed, 6320 insertions(+), 6560 deletions(-) diff --git a/public/data/ethereumTokens.json b/public/data/ethereumTokens.json index 0aadb668..c2191e02 100644 --- a/public/data/ethereumTokens.json +++ b/public/data/ethereumTokens.json @@ -1,6561 +1,6321 @@ [ - { - "address": "0x7728dfef5abd468669eb7f9b48a7f70a501ed29d", - "decimals": 6, - "name": "PRG", - "symbol": "PRG" - }, - { - "address": "0x1dea979ae76f26071870f824088da78979eb91c8", - "decimals": 18, - "name": "Spindle", - "symbol": "SPD" - }, - { - "address": "0x2a093BcF0C98Ef744Bb6F69D74f2F85605324290", - "decimals": 8, - "name": "FoodCoin", - "symbol": "FOOD" - }, - { - "address": "0xca3c18a65b802ec267f8f4802545e7f53d24c75e", - "decimals": 18, - "name": "BeeUnity Chain", - "symbol": "BUC" - }, - { - "address": "0x78Eb8DC641077F049f910659b6d580E80dC4d237", - "decimals": 8, - "name": "Social Media Market", - "symbol": "SMT" - }, - { - "address": "0xc0EA6306F6360FE7dCAB65D16Bf1a3AF92C79Aa2", - "decimals": 18, - "name": "GANA", - "symbol": "GANA" - }, - { - "address": "0x72430a612adc007c50e3b6946dbb1bb0fd3101d1", - "decimals": 8, - "name": "Thinschain", - "symbol": "TIC" - }, - { - "address": "0xaE4f56F072c34C0a65B3ae3E4DB797D831439D93", - "decimals": 8, - "name": "Gimli", - "symbol": "GIM" - }, - { - "address": "0x44F588aEeB8C44471439D1270B3603c66a9262F1", - "decimals": 18, - "name": "SNIP", - "symbol": "SNIP" - }, - { - "address": "0xE477292f1B3268687A29376116B0ED27A9c76170", - "decimals": 18, - "name": "HeroCoin", - "symbol": "PLAY" - }, - { - "address": "0x76974c7b79dc8a6a109fd71fd7ceb9e40eff5382", - "decimals": 18, - "name": "DOW", - "symbol": "DOW" - }, - { - "address": "0x9f195617fa8fbad9540c5d113a99a0a0172aaedc", - "decimals": 18, - "name": "Niobium", - "symbol": "NBC" - }, - { - "address": "0x198a87b3114143913d4229fb0f6d4bcb44aa8aff", - "decimals": 8, - "name": "Snowball", - "symbol": "SNBL" - }, - { - "address": "0x2c82c73d5b34aa015989462b2948cd616a37641f", - "decimals": 18, - "name": "Spectre.ai U-Token", - "symbol": "SXUT" - }, - { - "address": "0xafbec4d65bc7b116d85107fd05d912491029bf46", - "decimals": 18, - "name": "ARBITRAGE", - "symbol": "ARB" - }, - { - "address": "0x8e5610ab5e39d26828167640ea29823fe1dd5843", - "decimals": 8, - "name": "KanadeCoin", - "symbol": "KNDC" - }, - { - "address": "0x5102791ca02fc3595398400bfe0e33d7b6c82267", - "decimals": 18, - "name": "LEADCOIN", - "symbol": "LDC" - }, - { - "address": "0x1c79ab32c66acaa1e9e81952b8aaa581b43e54e7", - "decimals": 4, - "name": "TEAM", - "symbol": "TEAM" - }, - { - "address": "0x0a9A9ce600D08BF9b76F49FA4e7b38A67EBEB1E6", - "decimals": 8, - "name": "Growchain", - "symbol": "GROW" - }, - { - "address": "0x6810e776880C02933D47DB1b9fc05908e5386b96", - "decimals": 18, - "name": "Gnosis", - "symbol": "GNO" - }, - { - "address": "0x7367a68039d4704f30bfbf6d948020c3b07dfc59", - "decimals": 18, - "name": "Beercoin", - "symbol": "BCBC" - }, - { - "address": "0xeD247980396B10169BB1d36f6e278eD16700a60f", - "decimals": 4, - "name": "AVA", - "symbol": "AVA" - }, - { - "address": "0x55296f69f40ea6d20e478533c15a6b08b654e758", - "decimals": 18, - "name": "XY Oracle", - "symbol": "XYO" - }, - { - "address": "0x02725836ebf3ecdb1cdf1c7b02fcbbfaa2736af8", - "decimals": 8, - "name": "BitAir", - "symbol": "BTCA" - }, - { - "address": "0x8a854288a5976036a725879164ca3e91d30c6a1b", - "decimals": 18, - "name": "GET", - "symbol": "GET" - }, - { - "address": "0xDF347911910b6c9A4286bA8E2EE5ea4a39eB2134", - "decimals": 18, - "name": "Bob's repair", - "symbol": "BOB" - }, - { - "address": "0x0db03B6CDe0B2d427C64a04FeAfd825938368f1F", - "decimals": 18, - "name": "PDATA", - "symbol": "PDATA" - }, - { - "address": "0xDDe12a12A6f67156e0DA672be05c374e1B0a3e57", - "decimals": 6, - "name": "JOYSO", - "symbol": "JOY" - }, - { - "address": "0xb1c1cb8c7c1992dba24e628bf7d38e71dad46aeb", - "decimals": 18, - "name": "Cloudbric", - "symbol": "CLB" - }, - { - "address": "0xA3149E0fA0061A9007fAf307074cdCd290f0e2Fd", - "decimals": 8, - "name": "PronCoin", - "symbol": "PRON" - }, - { - "address": "0xff5c25d2f40b47c4a37f989de933e26562ef0ac0", - "decimals": 16, - "name": "Kora Network Token", - "symbol": "KNT" - }, - { - "address": "0x983F6d60db79ea8cA4eB9968C6aFf8cfA04B3c63", - "decimals": 18, - "name": "SNM", - "symbol": "SNM" - }, - { - "address": "0xfdFE8b7aB6CF1bD1E3d14538Ef40686296C42052", - "decimals": 18, - "name": "Skraps", - "symbol": "SKRP" - }, - { - "address": "0x77761e63c05aee6648fdaeaa9b94248351af9bcd", - "decimals": 18, - "name": "PASS Token", - "symbol": "PASS" - }, - { - "address": "0xbd168cbf9d3a375b38dc51a202b5e8a4e52069ed", - "decimals": 18, - "name": "BlueWhaleToken", - "symbol": "BWX" - }, - { - "address": "0x4289c043a12392f1027307fb58272d8ebd853912", - "decimals": 18, - "name": "AiLink Token", - "symbol": "ALI" - }, - { - "address": "0x9d9223436ddd466fc247e9dbbd20207e640fef58", - "decimals": 18, - "name": "Olive", - "symbol": "OLE" - }, - { - "address": "0xb45d7Bc4cEBcAB98aD09BABDF8C818B2292B672c", - "decimals": 18, - "name": "HODLCoin", - "symbol": "HODL" - }, - { - "address": "0xfa1de2ee97e4c10c94c91cb2b5062b89fb140b82", - "decimals": 6, - "name": "Education Credits", - "symbol": "EDC" - }, - { - "address": "0xe1A178B681BD05964d3e3Ed33AE731577d9d96dD", - "decimals": 18, - "name": "BOX Token", - "symbol": "BOX" - }, - { - "address": "0xca29db4221c111888a7e80b12eac8a266da3ee0d", - "decimals": 18, - "name": "Boleno", - "symbol": "BLN" - }, - { - "address": "0x08711D3B02C8758F2FB3ab4e80228418a7F8e39c", - "decimals": 0, - "name": "Edgeless", - "symbol": "EDG" - }, - { - "address": "0x263c618480dbe35c300d8d5ecda19bbb986acaed", - "decimals": 18, - "name": "MOT", - "symbol": "MOT" - }, - { - "address": "0x539efe69bcdd21a83efd9122571a64cc25e0282b", - "decimals": 8, - "name": "BLUE", - "symbol": "BLUE" - }, - { - "address": "0xfca47962d45adfdfd1ab2d972315db4ce7ccf094", - "decimals": 8, - "name": "IXT", - "symbol": "IXT" - }, - { - "address": "0x922ac473a3cc241fd3a0049ed14536452d58d73c", - "decimals": 18, - "name": "Valid", - "symbol": "VLD" - }, - { - "address": "0xC2C63F23ec5E97efbD7565dF9Ec764FDc7d4e91d", - "decimals": 18, - "name": "Boule Coin", - "symbol": "BOU" - }, - { - "address": "0x93E682107d1E9defB0b5ee701C71707a4B2E46Bc", - "decimals": 8, - "name": "MCAP", - "symbol": "MCAP" - }, - { - "address": "0x81b4d08645da11374a03749ab170836e4e539767", - "decimals": 9, - "name": "Paymon", - "symbol": "PMNT" - }, - { - "address": "0x1b5f21ee98eed48d292e8e2d3ed82b40a9728a22", - "decimals": 18, - "name": "DATABroker", - "symbol": "DATABroker" - }, - { - "address": "0xE64509F0bf07ce2d29A7eF19A8A9bc065477C1B4", - "decimals": 8, - "name": "PIPL Coin", - "symbol": "PIPL" - }, - { - "address": "0xe2d82dc7da0e6f882e96846451f4fabcc8f90528", - "decimals": 18, - "name": "Jesus Coin", - "symbol": "JC" - }, - { - "address": "0xBC86727E770de68B1060C91f6BB6945c73e10388", - "decimals": 18, - "name": "Ink Protocol", - "symbol": "XNK" - }, - { - "address": "0x24692791bc444c5cd0b81e3cbcaba4b04acd1f3b", - "decimals": 18, - "name": "UnikoinGold", - "symbol": "UKG" - }, - { - "address": "0x4a527d8fc13c5203ab24ba0944f4cb14658d1db6", - "decimals": 18, - "name": "Morpheus Infrastructure Token", - "symbol": "MITx" - }, - { - "address": "0x1a95B271B0535D15fa49932Daba31BA612b52946", - "decimals": 8, - "name": "MNE", - "symbol": "MNE" - }, - { - "address": "0xe7D3e4413E29ae35B0893140F4500965c74365e5", - "decimals": 18, - "name": "B2BCoin", - "symbol": "BBC" - }, - { - "address": "0x2dAEE1AA61D60A252DC80564499A69802853583A", - "decimals": 4, - "name": "Authorship", - "symbol": "ATS" - }, - { - "address": "0x2AEC18c5500f21359CE1BEA5Dc1777344dF4C0Dc", - "decimals": 18, - "name": "FarmaTrust Token", - "symbol": "FTT" - }, - { - "address": "0x4aac461c86abfa71e9d00d9a2cde8d74e4e1aeea", - "decimals": 18, - "name": "ZINC", - "symbol": "ZINC" - }, - { - "address": "0x103c3A209da59d3E7C4A89307e66521e081CFDF0", - "decimals": 18, - "name": "Genesis Vision", - "symbol": "GVT" - }, - { - "address": "0x02f2d4a04e6e01ace88bd2cd632875543b2ef577", - "decimals": 18, - "name": "PKG Token", - "symbol": "PKG" - }, - { - "address": "0xf028adee51533b1b47beaa890feb54a457f51e89", - "decimals": 18, - "name": "BMT", - "symbol": "BMT" - }, - { - "address": "0x1234567461d3f8db7496581774bd869c83d51c93", - "decimals": 18, - "name": "CAT (BitClave)", - "symbol": "CAT (BitClave)" - }, - { - "address": "0x8a77e40936bbc27e80e9a3f526368c967869c86d", - "decimals": 18, - "name": "Merculet", - "symbol": "MVP" - }, - { - "address": "0xEa1f346faF023F974Eb5adaf088BbCdf02d761F4", - "decimals": 18, - "name": "Blocktix", - "symbol": "TIX" - }, - { - "address": "0x55f93985431fc9304077687a35a1ba103dc1e081", - "decimals": 18, - "name": "SmartMesh", - "symbol": "SMT" - }, - { - "address": "0x01b3Ec4aAe1B8729529BEB4965F27d008788B0EB", - "decimals": 18, - "name": "Digital Assets Power Play", - "symbol": "DPP" - }, - { - "address": "0xb67b88a25708a35ae7c2d736d398d268ce4f7f83", - "decimals": 8, - "name": "Etheremon", - "symbol": "EMON" - }, - { - "address": "0x422866a8F0b032c5cf1DfBDEf31A20F4509562b0", - "decimals": 0, - "name": "AdShares", - "symbol": "ADST" - }, - { - "address": "0x4c383bdcae52a6e1cb810c76c70d6f31a249ec9b", - "decimals": 8, - "name": "Rusgas", - "symbol": "RGS" - }, - { - "address": "0x48c1b2f3efa85fbafb2ab951bf4ba860a08cdbb7", - "decimals": 0, - "name": "ShowHand", - "symbol": "HAND" - }, - { - "address": "0x8db54ca569d3019a2ba126d03c37c44b5ef81ef6", - "decimals": 8, - "name": "DataWallet", - "symbol": "DXT" - }, - { - "address": "0x0b76544f6c413a555f309bf76260d1e02377c02a", - "decimals": 6, - "name": "Internet Node Token", - "symbol": "INT" - }, - { - "address": "0x0235fe624e044a05eed7a43e16e3083bc8a4287a", - "decimals": 18, - "name": "Original Crypto Coin", - "symbol": "OCC" - }, - { - "address": "0xD760ADdFb24D9C01Fe4Bfea7475C5e3636684058", - "decimals": 2, - "name": "Mether (USDM)", - "symbol": "USDM" - }, - { - "address": "0x2accaB9cb7a48c3E82286F0b2f8798D201F4eC3f", - "decimals": 18, - "name": "BTL (Battle)", - "symbol": "BTL (Battle)" - }, - { - "address": "0xa3d58c4e56fedcae3a7c43a725aee9a71f0ece4e", - "decimals": 18, - "name": "Metronome", - "symbol": "MET" - }, - { - "address": "0xa4e8c3ec456107ea67d3075bf9e3df3a75823db0", - "decimals": 18, - "name": "LOOM", - "symbol": "LOOM" - }, - { - "address": "0x0F513fFb4926ff82D7F60A05069047AcA295C413", - "decimals": 18, - "name": "XSC", - "symbol": "XSC" - }, - { - "address": "0x24dcc881e7dd730546834452f21872d5cb4b5293", - "decimals": 18, - "name": "SCRL", - "symbol": "SCRL" - }, - { - "address": "0x4ce6b362bc77a24966dda9078f9cef81b3b886a7", - "decimals": 18, - "name": "NPER", - "symbol": "NPER" - }, - { - "address": "0x78c292d1445e6b9558bf42e8bc369271ded062ea", - "decimals": 8, - "name": "CyberMusic", - "symbol": "CYMT" - }, - { - "address": "0x49bd2da75b1f7af1e4dfd6b1125fecde59dbec58", - "decimals": 18, - "name": "Linkey Token", - "symbol": "LKY" - }, - { - "address": "0x51DB5Ad35C671a87207d88fC11d593AC0C8415bd", - "decimals": 18, - "name": "MDA", - "symbol": "MDA" - }, - { - "address": "0x1e797Ce986C3CFF4472F7D38d5C4aba55DfEFE40", - "decimals": 15, - "name": "BCDN", - "symbol": "BCDN" - }, - { - "address": "0x8a99ed8a1b204903ee46e733f2c1286f6d20b177", - "decimals": 18, - "name": "Fujinto", - "symbol": "NTO" - }, - { - "address": "0x519475b31653e46d20cd09f9fdcf3b12bdacb4f5", - "decimals": 18, - "name": "VIU", - "symbol": "VIU" - }, - { - "address": "0x4df47b4969b2911c966506e3592c41389493953b", - "decimals": 18, - "name": "FundRequest", - "symbol": "FND" - }, - { - "address": "0x5adc961D6AC3f7062D2eA45FEFB8D8167d44b190", - "decimals": 18, - "name": "dether", - "symbol": "DTH" - }, - { - "address": "0x12759512d326303b45f1cec8f7b6fd96f387778e", - "decimals": 18, - "name": "TrakInvest Token", - "symbol": "TRAK" - }, - { - "address": "0x0b4bdc478791897274652dc15ef5c135cae61e60", - "decimals": 18, - "name": "DAEX Token", - "symbol": "DAX" - }, - { - "address": "0xb2bfeb70b903f1baac7f2ba2c62934c7e5b974c4", - "decimals": 8, - "name": "BetKing Bankroll Token", - "symbol": "BKB" - }, - { - "address": "0xac3da587eac229c9896d919abc235ca4fd7f72c1", - "decimals": 1, - "name": "Target Coin", - "symbol": "TGT" - }, - { - "address": "0x515669d308f887fd83a471c7764f5d084886d34d", - "decimals": 18, - "name": "MUXE", - "symbol": "MUXE" - }, - { - "address": "0x6aac8cb9861e42bf8259f5abdc6ae3ae89909e11", - "decimals": 8, - "name": "BitCoin Red", - "symbol": "BTCR" - }, - { - "address": "0x1a7a8bd9106f2b8d977e08582dc7d24c723ab0db", - "decimals": 18, - "name": "AppCoins", - "symbol": "APPC" - }, - { - "address": "0x5d4d57cd06fa7fe99e26fdc481b468f77f05073c", - "decimals": 18, - "name": "Netkoin", - "symbol": "NTK" - }, - { - "address": "0x78a73B6CBc5D183CE56e786f6e905CaDEC63547B", - "decimals": 18, - "name": "Fabric token", - "symbol": "FT" - }, - { - "address": "0x3597bfd533a99c9aa083587b074434e61eb0a258", - "decimals": 8, - "name": "DENT", - "symbol": "DENT" - }, - { - "address": "0xb5a5f22694352c15b00323844ad545abb2b11028", - "decimals": 18, - "name": "ICON", - "symbol": "ICX" - }, - { - "address": "0x107c4504cd79C5d2696Ea0030a8dD4e92601B82e", - "decimals": 18, - "name": "Bloom", - "symbol": "BLT" - }, - { - "address": "0x3a92bd396aef82af98ebc0aa9030d25a23b11c6b", - "decimals": 18, - "name": "Tokenbox", - "symbol": "TBX" - }, - { - "address": "0x2023DCf7c438c8C8C0B0F28dBaE15520B4f3Ee20", - "decimals": 18, - "name": "Futourist Token", - "symbol": "FTR" - }, - { - "address": "0x6aeb95f06cda84ca345c2de0f3b7f96923a44f4c", - "decimals": 14, - "name": "Berry", - "symbol": "BERRY" - }, - { - "address": "0xcdcfc0f66c522fd086a1b725ea3c0eeb9f9e8814", - "decimals": 18, - "name": "Aura DAO", - "symbol": "AURA" - }, - { - "address": "0x253c7dd074f4bacb305387f922225a4f737c08bd", - "decimals": 18, - "name": "LookRev", - "symbol": "LOOK" - }, - { - "address": "0x5f53f7a8075614b699baad0bc2c899f4bad8fbbf", - "decimals": 18, - "name": "Rebellious", - "symbol": "REBL" - }, - { - "address": "0x4f27053f32eda8af84956437bc00e5ffa7003287", - "decimals": 18, - "name": "ThriveToken", - "symbol": "THRT" - }, - { - "address": "0x2859021ee7f2cb10162e67f33af2d22764b31aff", - "decimals": 4, - "name": "Silent Notary Token", - "symbol": "SNTR" - }, - { - "address": "0x4d9e23a3842fe7eb7682b9725cf6c507c424a41b", - "decimals": 18, - "name": "CarBlock", - "symbol": "CAR (CarBlock)" - }, - { - "address": "0x0aeF06DcCCC531e581f0440059E6FfCC206039EE", - "decimals": 8, - "name": "ITT Token", - "symbol": "ITT" - }, - { - "address": "0xc14830e53aa344e8c14603a91229a0b925b0b262", - "decimals": 8, - "name": "Populous XBRL Token (PXT)", - "symbol": "PXT" - }, - { - "address": "0x2a22e5cca00a3d63308fa39f29202eb1b39eef52", - "decimals": 6, - "name": "EDU Token", - "symbol": "EDU" - }, - { - "address": "0x2799d90c6d44cb9aa5fbc377177f16c33e056b82", - "decimals": 0, - "name": "Dripcoin", - "symbol": "DRP" - }, - { - "address": "0x82fdedfB7635441aA5A92791D001fA7388da8025", - "decimals": 18, - "name": "DigitalTicks", - "symbol": "DTx" - }, - { - "address": "0x85e076361cc813a908ff672f9bad1541474402b2", - "decimals": 2, - "name": "Telcoin", - "symbol": "TEL" - }, - { - "address": "0x1e49fF77c355A3e38D6651ce8404AF0E48c5395f", - "decimals": 18, - "name": "MTRCToken", - "symbol": "MTRc" - }, - { - "address": "0x43f6a1be992dee408721748490772b15143ce0a7", - "decimals": 0, - "name": "Potatoin", - "symbol": "POIN" - }, - { - "address": "0x9389434852b94bbad4c8afed5b7bdbc5ff0c2275", - "decimals": 18, - "name": "TTC Protocol", - "symbol": "(TTC) (TTC)" - }, - { - "address": "0xf3e014fe81267870624132ef3a646b8e83853a96", - "decimals": 18, - "name": "VIN", - "symbol": "VIN" - }, - { - "address": "0x8542325b72c6d9fc0ad2ca965a78435413a915a0", - "decimals": 18, - "name": "Oyster Shell", - "symbol": "SHL" - }, - { - "address": "0x1961B3331969eD52770751fC718ef530838b6dEE", - "decimals": 18, - "name": "BitDegree Token", - "symbol": "BDG" - }, - { - "address": "0xe5dada80aa6477e85d09747f2842f7993d0df71c", - "decimals": 18, - "name": "DOCK", - "symbol": "DOCK" - }, - { - "address": "0xA4eA687A2A7F29cF2dc66B39c68e4411C0D00C49", - "decimals": 18, - "name": "IvyKoin Public Network Tokens", - "symbol": "IVY" - }, - { - "address": "0x9ab165d795019b6d8b3e971dda91071421305e5a", - "decimals": 18, - "name": "Aurora", - "symbol": "AOA" - }, - { - "address": "0xb91318f35bdb262e9423bc7c7c2a3a93dd93c92c", - "decimals": 18, - "name": "NULS", - "symbol": "NULS" - }, - { - "address": "0xdd16ec0f66e54d453e6756713e533355989040e4", - "decimals": 18, - "name": "Tokenomy", - "symbol": "TEN" - }, - { - "address": "0x84119cb33e8f590d75c2d6ea4e6b0741a7494eda", - "decimals": 0, - "name": "WTT", - "symbol": "WTT" - }, - { - "address": "0xe8a1df958be379045e2b46a31a98b93a2ecdfded", - "decimals": 18, - "name": "ESZCoin", - "symbol": "ESZ" - }, - { - "address": "0x4a220E6096B25EADb88358cb44068A3248254675", - "decimals": 18, - "name": "Quant", - "symbol": "QNT" - }, - { - "address": "0xb5dbc6d3cf380079df3b27135664b6bcf45d1869", - "decimals": 8, - "name": "Omix", - "symbol": "OMX" - }, - { - "address": "0xcFD6Ae8BF13f42DE14867351eAff7A8A3b9FbBe7", - "decimals": 8, - "name": "SINERGIA", - "symbol": "SNG" - }, - { - "address": "0x763186eb8d4856d536ed4478302971214febc6a9", - "decimals": 18, - "name": "BETR", - "symbol": "BETR" - }, - { - "address": "0x68e14bb5A45B9681327E16E528084B9d962C1a39", - "decimals": 18, - "name": "CATs (BitClave)_Old", - "symbol": "CATs (BitClave)_Old" - }, - { - "address": "0x55648de19836338549130b1af587f16bea46f66b", - "decimals": 18, - "name": "PBL", - "symbol": "PBL" - }, - { - "address": "0xece83617db208ad255ad4f45daf81e25137535bb", - "decimals": 8, - "name": "Invacio Coin", - "symbol": "INV" - }, - { - "address": "0xe469c4473af82217b30cf17b10bcdb6c8c796e75", - "decimals": 0, - "name": "EXRP Network", - "symbol": "EXRN" - }, - { - "address": "0x23b75Bc7AaF28e2d6628C3f424B3882F8f072a3c", - "decimals": 18, - "name": "Vice Industry Token", - "symbol": "VIT" - }, - { - "address": "0xBa7DCBa2Ade319Bc772DB4df75A76BA00dFb31b0", - "decimals": 18, - "name": "Apollo18", - "symbol": "A18" - }, - { - "address": "0x910Dfc18D6EA3D6a7124A6F8B5458F281060fa4c", - "decimals": 18, - "name": "X8X", - "symbol": "X8X" - }, - { - "address": "0x7FC408011165760eE31bE2BF20dAf450356692Af", - "decimals": 8, - "name": "Mitrav", - "symbol": "MTR" - }, - { - "address": "0x9847345de8b614c956146bbea549336d9c8d26b6", - "decimals": 8, - "name": "GULD ERC20", - "symbol": "GULD" - }, - { - "address": "0x0db8d8b76bc361bacbb72e2c491e06085a97ab31", - "decimals": 18, - "name": "$IQeon", - "symbol": "$IQN" - }, - { - "address": "0x014B50466590340D41307Cc54DCee990c8D58aa8", - "decimals": 6, - "name": "ICOS", - "symbol": "ICOS" - }, - { - "address": "0x3a1237d38d0fb94513f85d61679cad7f38507242", - "decimals": 18, - "name": "Mindexcoin", - "symbol": "MIC" - }, - { - "address": "0xec491c1088eae992b7a214efb0a266ad0927a72a", - "decimals": 18, - "name": "AB-CHAIN RTB Token", - "symbol": "RTB" - }, - { - "address": "0x04f2e7221fdb1b52a68169b25793e51478ff0329", - "decimals": 2, - "name": "Cappasity", - "symbol": "CAPP" - }, - { - "address": "0x5121e348e897daef1eef23959ab290e5557cf274", - "decimals": 18, - "name": "PolyAi", - "symbol": "AI" - }, - { - "address": "0x0223fc70574214f65813fe336d870ac47e147fae", - "decimals": 18, - "name": "CZR", - "symbol": "CZR" - }, - { - "address": "0x6927C69fb4daf2043fbB1Cb7b86c5661416bea29", - "decimals": 18, - "name": "Etheruem Risen", - "symbol": "ETR" - }, - { - "address": "0x2f85e502a988af76f7ee6d83b7db8d6c0a823bf9", - "decimals": 8, - "name": "LAtiumX", - "symbol": "LATX" - }, - { - "address": "0xdfdc0d82d96f8fd40ca0cfb4a288955becec2088", - "decimals": 18, - "name": "MTC Mesh Network", - "symbol": "MTC" - }, - { - "address": "0x660e71483785f66133548b10f6926dc332b06e61", - "decimals": 18, - "name": "Adelphoi", - "symbol": "ADL" - }, - { - "address": "0x8400d94a5cb0fa0d041a3788e395285d61c9ee5e", - "decimals": 8, - "name": "UniBright", - "symbol": "UBT" - }, - { - "address": "0x20e94867794dba030ee287f1406e100d03c84cd3", - "decimals": 18, - "name": "DEW", - "symbol": "DEW" - }, - { - "address": "0x30f4A3e0aB7a76733D8b60b89DD93c3D0b4c9E2f", - "decimals": 18, - "name": "XGT", - "symbol": "XGT" - }, - { - "address": "0xc34b21f6f8e51cc965c2393b3ccfa3b82beb2403", - "decimals": 6, - "name": "IoT\u30b3\u30a4\u30f3", - "symbol": "IoT" - }, - { - "address": "0x62cd07d414ec50b68c7ecaa863a23d344f2d062f", - "decimals": 0, - "name": "WickNote", - "symbol": "WIC" - }, - { - "address": "0xF813F3902bBc00A6DCe378634d3B79D84F9803d7", - "decimals": 18, - "name": "PATH", - "symbol": "PATH" - }, - { - "address": "0x638ac149ea8ef9a1286c41b977017aa7359e6cfa", - "decimals": 18, - "name": "ALTS Token", - "symbol": "ALTS" - }, - { - "address": "0xf3d29fb98d2dc5e78c87198deef99377345fd6f1", - "decimals": 8, - "name": "BITPARK", - "symbol": "BITPARK" - }, - { - "address": "0xf8e06e4e4a80287fdca5b02dccecaa9d0954840f", - "decimals": 18, - "name": "TGAME", - "symbol": "TGAME" - }, - { - "address": "0x0073e5e52e2b4fe218d75d994ee2b3c82f9c87ea", - "decimals": 8, - "name": "22x Fund", - "symbol": "22x" - }, - { - "address": "0xc72fe8e3dd5bef0f9f31f259399f301272ef2a2d", - "decimals": 18, - "name": "Insights Network", - "symbol": "INSTAR" - }, - { - "address": "0x1460a58096d80a50a2f1f956dda497611fa4f165", - "decimals": 18, - "name": "Chainium", - "symbol": "CHX" - }, - { - "address": "0x13c2fab6354d3790d8ece4f0f1a3280b4a25ad96", - "decimals": 18, - "name": "PHI Token", - "symbol": "PHI" - }, - { - "address": "0x8e870d67f660d95d5be530380d0ec0bd388289e1", - "decimals": 18, - "name": "Paxos Standard (PAX)", - "symbol": "PAX" - }, - { - "address": "0xaAAf91D9b90dF800Df4F55c205fd6989c977E73a", - "decimals": 8, - "name": "TokenCard", - "symbol": "TKN" - }, - { - "address": "0x88AE96845e157558ef59e9Ff90E766E22E480390", - "decimals": 0, - "name": "IKB", - "symbol": "IKB" - }, - { - "address": "0x340d2bde5eb28c1eed91b2f790723e3b160613b7", - "decimals": 18, - "name": "BLOCKv", - "symbol": "VEE" - }, - { - "address": "0xdbfb423e9bbf16294388e07696a5120e4ceba0c5", - "decimals": 18, - "name": "Ethereum Dark", - "symbol": "ETHD" - }, - { - "address": "0xcCeD5B8288086BE8c38E23567e684C3740be4D48", - "decimals": 10, - "name": "RLT", - "symbol": "RLT" - }, - { - "address": "0xe3818504c1B32bF1557b16C238B2E01Fd3149C17", - "decimals": 18, - "name": "Pillar Project", - "symbol": "PLR" - }, - { - "address": "0x92685E93956537c25Bb75D5d47fca4266dd628B8", - "decimals": 4, - "name": "Bitlle Token", - "symbol": "BTL (Bitlle)" - }, - { - "address": "0x829A4cA1303383F1082B6B1fB937116e4b3b5605", - "decimals": 18, - "name": "WorkChain App Token", - "symbol": "WATT" - }, - { - "address": "0xde1e0ae6101b46520cf66fdc0b1059c5cc3d106c", - "decimals": 8, - "name": "DeltaChain Token", - "symbol": "DELTA" - }, - { - "address": "0xacfa209fb73bf3dd5bbfb1101b9bc999c49062a5", - "decimals": 18, - "name": "Blockchain Certified Data Token", - "symbol": "BCDT" - }, - { - "address": "0x566Fd7999B1Fc3988022bD38507A48F0bCf22c77", - "decimals": 18, - "name": "The Real Coin", - "symbol": "TRCN" - }, - { - "address": "0x009e864923b49263c7F10D19B7f8Ab7a9A5AAd33", - "decimals": 18, - "name": "Knoxstertoken", - "symbol": "FKX" - }, - { - "address": "0xEd7fEA78C393cF7B17B152A8c2D0CD97aC31790B", - "decimals": 18, - "name": "DUBI", - "symbol": "DUBI" - }, - { - "address": "0x151202C9c18e495656f372281F493EB7698961D5", - "decimals": 18, - "name": "DEBITUM", - "symbol": "DEB" - }, - { - "address": "0x4156D3342D5c385a87D264F90653733592000581", - "decimals": 8, - "name": "Salt Lending Token", - "symbol": "SALT" - }, - { - "address": "0xc8C6A31A4A806d3710A7B38b7B296D2fABCCDBA8", - "decimals": 18, - "name": "Elixir Token", - "symbol": "ELIX" - }, - { - "address": "0xcbCC0F036ED4788F63FC0fEE32873d6A7487b908", - "decimals": 8, - "name": "HMQ", - "symbol": "HMQ" - }, - { - "address": "0x6863be0e7cf7ce860a574760e9020d519a8bdc47", - "decimals": 18, - "name": "On.Live", - "symbol": "ONL" - }, - { - "address": "0x728781E75735dc0962Df3a51d7Ef47E798A7107E", - "decimals": 18, - "name": "WOLK", - "symbol": "WOLK" - }, - { - "address": "0x8869b1f9bc8b246a4d7220f834e56ddfdd8255e7", - "decimals": 18, - "name": "ECrypto Coin", - "symbol": "ECP" - }, - { - "address": "0xD0D6D6C5Fe4a677D343cC433536BB717bAe167dD", - "decimals": 9, - "name": "AdToken", - "symbol": "ADT" - }, - { - "address": "0x57Ab1E02fEE23774580C119740129eAC7081e9D3", - "decimals": 18, - "name": "Havven-Backed USD Nomins (nUSD)", - "symbol": "nUSD" - }, - { - "address": "0x06147110022b768ba8f99a8f385df11a151a9cc8", - "decimals": 0, - "name": "ACE", - "symbol": "ACE" - }, - { - "address": "0x153ed9cc1b792979d2bde0bbf45cc2a7e436a5f9", - "decimals": 18, - "name": "XOVBank", - "symbol": "XOV" - }, - { - "address": "0x5b09a0371c1da44a8e24d36bf5deb1141a84d875", - "decimals": 18, - "name": "MAD", - "symbol": "MAD" - }, - { - "address": "0xf44745fbd41f6a1ba151df190db0564c5fcc4410", - "decimals": 18, - "name": "COPYTRACK", - "symbol": "CPY" - }, - { - "address": "0x4dc3643dbc642b72c158e7f3d2ff232df61cb6ce", - "decimals": 18, - "name": "Amber Token", - "symbol": "AMB" - }, - { - "address": "0xd8446236FA95b9b5f9fd0f8E7Df1a944823c683d", - "decimals": 18, - "name": "NEEO", - "symbol": "NEEO" - }, - { - "address": "0xd248B0D48E44aaF9c49aea0312be7E13a6dc1468", - "decimals": 1, - "name": "StatusGenesis", - "symbol": "SGT" - }, - { - "address": "0x5b2e4a700dfbc560061e957edec8f6eeeb74a320", - "decimals": 10, - "name": "INS", - "symbol": "INS" - }, - { - "address": "0xea097a2b1db00627b2fa17460ad260c016016977", - "decimals": 18, - "name": "Upfiring", - "symbol": "UFR" - }, - { - "address": "0xcfb98637bcae43C13323EAa1731cED2B716962fD", - "decimals": 18, - "name": "NIMIQ", - "symbol": "NET" - }, - { - "address": "0x6758b7d441a9739b98552b373703d8d3d14f9e62", - "decimals": 18, - "name": "POA ERC20 on Foundation", - "symbol": "POA20" - }, - { - "address": "0x0cf713b11c9b986ec40d65bd4f7fbd50f6ff2d64", - "decimals": 18, - "name": "IST34 Token", - "symbol": "IST34" - }, - { - "address": "0x667088b212ce3d06a1b553a7221E1fD19000d9aF", - "decimals": 18, - "name": "WINGS", - "symbol": "WINGS" - }, - { - "address": "0xfdcc07Ab60660de533b5Ad26e1457b565a9D59Bd", - "decimals": 18, - "name": "Martcoin", - "symbol": "MART" - }, - { - "address": "0x90528aeb3a2b736b780fd1b6c478bb7e1d643170", - "decimals": 18, - "name": "XPlay", - "symbol": "XPA" - }, - { - "address": "0xFcD862985628b254061F7A918035B80340D045d3", - "decimals": 18, - "name": "GIFcoin Token", - "symbol": "GIF" - }, - { - "address": "0xcC4eF9EEAF656aC1a2Ab886743E98e97E090ed38", - "decimals": 18, - "name": "DDF", - "symbol": "DDF" - }, - { - "address": "0x905E337c6c8645263D3521205Aa37bf4d034e745", - "decimals": 18, - "name": "Medical Token Currency", - "symbol": "MTC" - }, - { - "address": "0x80bc5512561c7f85a3a9508c7df7901b370fa1df", - "decimals": 18, - "name": "TIO", - "symbol": "TIO" - }, - { - "address": "0x4270bb238f6dd8b1c3ca01f96ca65b2647c06d3c", - "decimals": 18, - "name": "FOTA", - "symbol": "FOTA" - }, - { - "address": "0x8a187d5285d316bcbc9adafc08b51d70a0d8e000", - "decimals": 0, - "name": "SIFT", - "symbol": "SIFT" - }, - { - "address": "0xAFe60511341a37488de25Bef351952562E31fCc1", - "decimals": 8, - "name": "TBitBot", - "symbol": "TBT" - }, - { - "address": "0x92e52a1a235d9a103d970901066ce910aacefd37", - "decimals": 8, - "name": "UCASH", - "symbol": "UCASH" - }, - { - "address": "0x22F0AF8D78851b72EE799e05F54A77001586B18A", - "decimals": 10, - "name": "Genevieve VC", - "symbol": "GXVC" - }, - { - "address": "0xbe99B09709fc753b09BCf557A992F6605D5997B0", - "decimals": 8, - "name": "SMARTRealty", - "symbol": "RLTY" - }, - { - "address": "0xd7631787b4dcc87b1254cfd1e5ce48e96823dee8", - "decimals": 8, - "name": "SocialCoin", - "symbol": "SCL" - }, - { - "address": "0x81c9151de0c8bafcd325a57e3db5a5df1cebf79c", - "decimals": 18, - "name": "Datum Token", - "symbol": "DAT" - }, - { - "address": "0x5d51fcced3114a8bb5e90cdd0f9d682bcbcc5393", - "decimals": 18, - "name": "B2BX", - "symbol": "B2BX" - }, - { - "address": "0x865ec58b06bf6305b886793aa20a2da31d034e68", - "decimals": 18, - "name": "Moss Coin", - "symbol": "MOC" - }, - { - "address": "0x66186008C1050627F979d464eABb258860563dbE", - "decimals": 18, - "name": "MediShares", - "symbol": "MDS" - }, - { - "address": "0x1410434b0346f5be678d0fb554e5c7ab620f8f4a", - "decimals": 18, - "name": "KAN", - "symbol": "KAN" - }, - { - "address": "0xf453b5b9d4e0b5c62ffb256bb2378cc2bc8e8a89", - "decimals": 8, - "name": "Mark", - "symbol": "MRK" - }, - { - "address": "0xd0352a019e9ab9d757776f532377aaebd36fd541", - "decimals": 18, - "name": "Fusion", - "symbol": "FSN" - }, - { - "address": "0x1c83501478f1320977047008496dacbd60bb15ef", - "decimals": 18, - "name": "DigitexFutures", - "symbol": "DGTX" - }, - { - "address": "0x423e4322cdda29156b49a17dfbd2acc4b280600d", - "decimals": 9, - "name": "Car Sharing Community", - "symbol": "CAR" - }, - { - "address": "0xB563300A3BAc79FC09B93b6F84CE0d4465A2AC27", - "decimals": 18, - "name": "RedCab", - "symbol": "REDC" - }, - { - "address": "0xb1eef147028e9f480dbc5ccaa3277d417d1b85f0", - "decimals": 18, - "name": "SeeleToken", - "symbol": "Seele" - }, - { - "address": "0x228ba514309ffdf03a81a205a6d040e429d6e80c", - "decimals": 18, - "name": "Global Social Chain", - "symbol": "GSC" - }, - { - "address": "0xaa19961b6b858d9f18a115f25aa1d98abc1fdba8", - "decimals": 18, - "name": "LocalCoinSwap Cryptoshare", - "symbol": "LCS" - }, - { - "address": "0xfe5d908c9ad85f651185daa6a4770726e2b27d09", - "decimals": 18, - "name": "BETHER", - "symbol": "BHR" - }, - { - "address": "0xa1ccc166faf0E998b3E33225A1A0301B1C86119D", - "decimals": 18, - "name": "SGELDER", - "symbol": "SGEL" - }, - { - "address": "0x45245bc59219eeaaf6cd3f382e078a461ff9de7b", - "decimals": 18, - "name": "BANKEX", - "symbol": "BKX" - }, - { - "address": "0x87f5e8c3425218837f3cb67db941af0c01323e56", - "decimals": 18, - "name": "BitCoin ONE", - "symbol": "BTCONE" - }, - { - "address": "0xcdb7ecfd3403eef3882c65b761ef9b5054890a47", - "decimals": 18, - "name": "$Hurify Token", - "symbol": "$HUR" - }, - { - "address": "0xc3bc9eb71f75ec439a6b6c8e8b746fcf5b62f703", - "decimals": 18, - "name": "VORMACOIN", - "symbol": "VOC" - }, - { - "address": "0x13f25cd52b21650caa8225c9942337d914c9b030", - "decimals": 18, - "name": "realchain", - "symbol": "RCT" - }, - { - "address": "0x5a567e28dbfa2bbd3ef13c0a01be114745349657", - "decimals": 2, - "name": "Happiness", - "symbol": "HAPPY" - }, - { - "address": "0x3833dda0aeb6947b98ce454d89366cba8cc55528", - "decimals": 18, - "name": "SPHTX", - "symbol": "SPHTX" - }, - { - "address": "0x5e6016ae7d7c49d347dcf834860b9f3ee282812b", - "decimals": 8, - "name": "EZToken", - "symbol": "EZT" - }, - { - "address": "0x3a26746Ddb79B1B8e4450e3F4FFE3285A307387E", - "decimals": 8, - "name": "EtherBTC", - "symbol": "ETHB" - }, - { - "address": "0x618e75ac90b12c6049ba3b27f5d5f8651b0037f6", - "decimals": 6, - "name": "QASH", - "symbol": "QASH" - }, - { - "address": "0xe81d72d14b1516e68ac3190a46c93302cc8ed60f", - "decimals": 18, - "name": "Coinlancer", - "symbol": "CL" - }, - { - "address": "0xE69a353b3152Dd7b706ff7dD40fe1d18b7802d31", - "decimals": 18, - "name": "AdHive Token", - "symbol": "ADH" - }, - { - "address": "0x65292eeadf1426cd2df1c4793a3d7519f253913b", - "decimals": 18, - "name": "COSS", - "symbol": "COSS" - }, - { - "address": "0xAef38fBFBF932D1AeF3B808Bc8fBd8Cd8E1f8BC5", - "decimals": 8, - "name": "CRB", - "symbol": "CRB" - }, - { - "address": "0x63e634330A20150DbB61B15648bC73855d6CCF07", - "decimals": 18, - "name": "Lancer Token", - "symbol": "LNC" - }, - { - "address": "0x93ed3fbe21207ec2e8f2d3c3de6e058cb73bc04d", - "decimals": 18, - "name": "Pinakion", - "symbol": "PNK" - }, - { - "address": "0x7654915a1b82d6d2d0afc37c52af556ea8983c7e", - "decimals": 18, - "name": "InvestFeed", - "symbol": "IFT" - }, - { - "address": "0x177d39AC676ED1C67A2b268AD7F1E58826E5B0af", - "decimals": 18, - "name": "CoinDash", - "symbol": "CDT" - }, - { - "address": "0x45e42D659D9f9466cD5DF622506033145a9b89Bc", - "decimals": 3, - "name": "Nexium", - "symbol": "NxC" - }, - { - "address": "0x7939882b54fcf0bcae6b53dec39ad6e806176442", - "decimals": 8, - "name": "Mikado", - "symbol": "MKT" - }, - { - "address": "0x4af328c52921706dcb739f25786210499169afe6", - "decimals": 8, - "name": "Sakura Bloom", - "symbol": "SKB" - }, - { - "address": "0x37d40510a2f5bc98aa7a0f7bf4b3453bcfb90ac1", - "decimals": 18, - "name": "Beluga Banking Infrastructure Token", - "symbol": "BBI" - }, - { - "address": "0x7A5fF295Dc8239d5C2374E4D894202aAF029Cab6", - "decimals": 3, - "name": "Smartlands", - "symbol": "SLT" - }, - { - "address": "0x554ffc77f4251a9fb3c0e3590a6a205f8d4e067d", - "decimals": 18, - "name": "ZMINE", - "symbol": "ZMN" - }, - { - "address": "0xba2184520A1cC49a6159c57e61E1844E085615B6", - "decimals": 8, - "name": "HGT", - "symbol": "HGT" - }, - { - "address": "0x7f1e2c7d6a69bf34824d72c53b4550e895c0d8c2", - "decimals": 8, - "name": "BlockOptiopns Token", - "symbol": "BOP" - }, - { - "address": "0x25B6325f5BB1c1E03cfbC3e53F470E1F1ca022E3", - "decimals": 18, - "name": "LML", - "symbol": "LML" - }, - { - "address": "0x599346779e90fc3F5F997b5ea715349820F91571", - "decimals": 4, - "name": "Saturn Network", - "symbol": "STN" - }, - { - "address": "0x9a642d6b3368ddc662CA244bAdf32cDA716005BC", - "decimals": 18, - "name": "Qtum", - "symbol": "QTUM" - }, - { - "address": "0x9238bfb781a55eacc3cf05f7df94038c198cd9b9", - "decimals": 8, - "name": "Cremit", - "symbol": "CRMT" - }, - { - "address": "0x01f2acf2914860331c1cb1a9acecda7475e06af8", - "decimals": 18, - "name": "Meshbox", - "symbol": "MESH" - }, - { - "address": "0xea11755ae41d889ceec39a63e6ff75a02bc1c00d", - "decimals": 18, - "name": "Cortex Coin", - "symbol": "CTXC" - }, - { - "address": "0xb23be73573bc7e03db6e5dfc62405368716d28a8", - "decimals": 18, - "name": "One K Token", - "symbol": "ONEK" - }, - { - "address": "0x286BDA1413a2Df81731D4930ce2F862a35A609fE", - "decimals": 18, - "name": "WaBi", - "symbol": "WaBi" - }, - { - "address": "0x767bA2915EC344015a7938E3eEDfeC2785195D05", - "decimals": 18, - "name": "Realisto", - "symbol": "REA" - }, - { - "address": "0x464ebe77c293e473b48cfe96ddcf88fcf7bfdac0", - "decimals": 18, - "name": "Kryll", - "symbol": "KRL" - }, - { - "address": "0x899338b84d25ac505a332adce7402d697d947494", - "decimals": 8, - "name": "WCOIN", - "symbol": "WIN" - }, - { - "address": "0xfe7B915A0bAA0E79f85c5553266513F7C1c03Ed0", - "decimals": 18, - "name": "THUG", - "symbol": "THUG" - }, - { - "address": "0xd780Ae2Bf04cD96E577D3D014762f831d97129d0", - "decimals": 18, - "name": "Envion AG", - "symbol": "EVN" - }, - { - "address": "0x5c6183d10A00CD747a6Dbb5F658aD514383e9419", - "decimals": 8, - "name": "NXX OLD", - "symbol": "NXX OLD" - }, - { - "address": "0x662aBcAd0b7f345AB7FfB1b1fbb9Df7894f18e66", - "decimals": 18, - "name": "CarTaxi", - "symbol": "CTX" - }, - { - "address": "0x6888a16eA9792c15A4DCF2f6C623D055c8eDe792", - "decimals": 18, - "name": "Signal", - "symbol": "SIG" - }, - { - "address": "0x3209f98bebf0149b769ce26d71f7aea8e435efea", - "decimals": 18, - "name": "Traxia Membership Token", - "symbol": "TMT" - }, - { - "address": "0x2eF1aB8a26187C58BB8aAeB11B2fC6D25C5c0716", - "decimals": 18, - "name": "The World News", - "symbol": "TWN" - }, - { - "address": "0x0c04d4f331da8df75f9e2e271e3f3f1494c66c36", - "decimals": 9, - "name": "PRSP", - "symbol": "PRSP" - }, - { - "address": "0x21aE23B882A340A22282162086bC98D3E2B73018", - "decimals": 18, - "name": "LookRev Old", - "symbol": "LOK" - }, - { - "address": "0x84543f868ec1b1fac510d49d13c069f64cd2d5f9", - "decimals": 18, - "name": "HEdpAY", - "symbol": "Hdp.\u0444" - }, - { - "address": "0x501262281b2ba043e2fbf14904980689cddb0c78", - "decimals": 2, - "name": "Mithril Ore", - "symbol": "MORE" - }, - { - "address": "0x10b123fddde003243199aad03522065dc05827a0", - "decimals": 18, - "name": "Synapse", - "symbol": "SYN" - }, - { - "address": "0x57C75ECCc8557136D32619a191fBCDc88560d711", - "decimals": 0, - "name": "VeriDocGlobal", - "symbol": "VDG" - }, - { - "address": "0x4f3afec4e5a3f2a6a1a411def7d7dfe50ee057bf", - "decimals": 9, - "name": "DGX", - "symbol": "DGX" - }, - { - "address": "0xc87c5dd86a3d567ff28701886fb0745aaa898da4", - "decimals": 18, - "name": "CT Global Token", - "symbol": "CTG" - }, - { - "address": "0x6ba460ab75cd2c56343b3517ffeba60748654d26", - "decimals": 8, - "name": "UpToken", - "symbol": "UP" - }, - { - "address": "0xBA5F11b16B155792Cf3B2E6880E8706859A8AEB6", - "decimals": 8, - "name": "Aeron Token", - "symbol": "ARN" - }, - { - "address": "0xa15c7ebe1f07caf6bff097d8a589fb8ac49ae5b3", - "decimals": 18, - "name": "Pundi X Token", - "symbol": "NPXS" - }, - { - "address": "0x0ABeFb7611Cb3A01EA3FaD85f33C3C934F8e2cF4", - "decimals": 18, - "name": "FARAD Cryptoken", - "symbol": "FRD" - }, - { - "address": "0x923108a439C4e8C2315c4f6521E5cE95B44e9B4c", - "decimals": 18, - "name": "EVE", - "symbol": "EVE" - }, - { - "address": "0x2ccbFF3A042c68716Ed2a2Cb0c544A9f1d1935E1", - "decimals": 8, - "name": "DMarket Token", - "symbol": "DMT" - }, - { - "address": "0x4618519de4c304f3444ffa7f812dddc2971cc688", - "decimals": 8, - "name": "Kind Ads Token", - "symbol": "KIND" - }, - { - "address": "0x83e2be8d114f9661221384b3a50d24b96a5653f5", - "decimals": 18, - "name": "0xcert Protocol Token", - "symbol": "ZXC" - }, - { - "address": "0xe386b139ed3715ca4b18fd52671bdcea1cdfe4b1", - "decimals": 8, - "name": "Zeus Exchange", - "symbol": "ZST" - }, - { - "address": "0x39Bb259F66E1C59d5ABEF88375979b4D20D98022", - "decimals": 8, - "name": "WAX", - "symbol": "WAX" - }, - { - "address": "0xd49ff13661451313ca1553fd6954bd1d9b6e02b9", - "decimals": 18, - "name": "ElectrifyAsia", - "symbol": "ELEC" - }, - { - "address": "0x02f61fd266da6e8b102d4121f5ce7b992640cf98", - "decimals": 18, - "name": "LikeCoin", - "symbol": "LIKE" - }, - { - "address": "0x4c382F8E09615AC86E08CE58266CC227e7d4D913", - "decimals": 6, - "name": "SKR Token", - "symbol": "SKR" - }, - { - "address": "0xfA0eF5E034CaE1AE752d59bdb8aDcDe37Ed7aB97", - "decimals": 18, - "name": "TangguoTao Token", - "symbol": "TCA" - }, - { - "address": "0xeDBaF3c5100302dCddA53269322f3730b1F0416d", - "decimals": 5, - "name": "Veros", - "symbol": "VRS" - }, - { - "address": "0xF03f8D65BaFA598611C3495124093c56e8F638f0", - "decimals": 18, - "name": "Viewly", - "symbol": "VIEW" - }, - { - "address": "0x0F33bb20a282A7649C7B3AFf644F084a9348e933", - "decimals": 18, - "name": "YUPIE", - "symbol": "YUPIE" - }, - { - "address": "0xb3104b4b9da82025e8b9f8fb28b3553ce2f67069", - "decimals": 18, - "name": "BIX Token", - "symbol": "BIX" - }, - { - "address": "0x922105fad8153f516bcfb829f56dc097a0e1d705", - "decimals": 18, - "name": "Yee - A Blockchain-powered & Cloud-based socia", - "symbol": "YEE" - }, - { - "address": "0x779B7b713C86e3E6774f5040D9cCC2D43ad375F8", - "decimals": 8, - "name": "Stake Pool", - "symbol": "POOL" - }, - { - "address": "0x4e0603e2a27a30480e5e3a4fe548e29ef12f64be", - "decimals": 18, - "name": "Credo / Bitbounce", - "symbol": "CREDO" - }, - { - "address": "0xb056c38f6b7dc4064367403e26424cd2c60655e1", - "decimals": 18, - "name": "CEEK VR Token", - "symbol": "CEEK" - }, - { - "address": "0xabdf147870235fcfc34153828c769a70b3fae01f", - "decimals": 6, - "name": "EUR Tether (erc20)", - "symbol": "EURT" - }, - { - "address": "0xc7bba5b765581efb2cdd2679db5bea9ee79b201f", - "decimals": 18, - "name": "Gems", - "symbol": "GEM" - }, - { - "address": "0xE41d2489571d322189246DaFA5ebDe1F4699F498", - "decimals": 18, - "name": "0x Project", - "symbol": "ZRX" - }, - { - "address": "0xB63B606Ac810a52cCa15e44bB630fd42D8d1d83d", - "decimals": 8, - "name": "Crypto.com", - "symbol": "MCO" - }, - { - "address": "0x89303500a7abfb178b274fd89f2469c264951e1f", - "decimals": 8, - "name": "RefToken", - "symbol": "REF" - }, - { - "address": "0xf9F7c29CFdf19FCf1f2AA6B84aA367Bcf1bD1676", - "decimals": 18, - "name": "Delphi Tech Token", - "symbol": "DTT" - }, - { - "address": "0x86fa049857e0209aa7d9e616f7eb3b3b78ecfdb0", - "decimals": 18, - "name": "EOS", - "symbol": "EOS" - }, - { - "address": "0x957c30aB0426e0C93CD8241E2c60392d08c6aC8e", - "decimals": 0, - "name": "Modum", - "symbol": "MOD" - }, - { - "address": "0x05f4a42e251f2d52b8ed15E9FEdAacFcEF1FAD27", - "decimals": 12, - "name": "Zilliqa", - "symbol": "ZIL" - }, - { - "address": "0x12480E24eb5bec1a9D4369CaB6a80caD3c0A377A", - "decimals": 2, - "name": "Substratum", - "symbol": "SUB" - }, - { - "address": "0x6956983f8b3ce173b4ab84361aa0ad52f38d936f", - "decimals": 8, - "name": "Crafty Token", - "symbol": "CFTY" - }, - { - "address": "0xa6a840e50bcaa50da017b91a0d86b8b2d41156ee", - "decimals": 18, - "name": "EchoLink", - "symbol": "EKO" - }, - { - "address": "0x0AF44e2784637218dD1D32A322D44e603A8f0c6A", - "decimals": 18, - "name": "MTX", - "symbol": "MTX" - }, - { - "address": "0xee74110fb5a1007b06282e0de5d73a61bf41d9cd", - "decimals": 18, - "name": "BHPCash", - "symbol": "BHPC" - }, - { - "address": "0x780116d91e5592e58a3b3c76a351571b39abcec6", - "decimals": 15, - "name": "BOXX", - "symbol": "BOXX" - }, - { - "address": "0x9bb1db1445b83213a56d90d331894b3f26218e4e", - "decimals": 18, - "name": "HiBTC Token", - "symbol": "HIBT" - }, - { - "address": "0xaE73B38d1c9A8b274127ec30160a4927C4d71824", - "decimals": 18, - "name": "STK Token", - "symbol": "STK" - }, - { - "address": "0xdb0F69306FF8F949f258E83f6b87ee5D052d0b23", - "decimals": 18, - "name": "Globcoin Crypto Platform", - "symbol": "GCP" - }, - { - "address": "0xfcAC7A7515e9A9d7619fA77A1fa738111f66727e", - "decimals": 18, - "name": "PITCH", - "symbol": "PCH" - }, - { - "address": "0x255aa6df07540cb5d3d297f0d0d4d84cb52bc8e6", - "decimals": 18, - "name": "Radien Network", - "symbol": "RDN" - }, - { - "address": "0xa95592DCFfA3C080B4B40E459c5f5692F67DB7F8", - "decimals": 18, - "name": "ELYCOIN", - "symbol": "ELY" - }, - { - "address": "0xef2463099360a085f1f10b076ed72ef625497a06", - "decimals": 18, - "name": "Sharpe Platform Token", - "symbol": "SHP" - }, - { - "address": "0x574b36bced443338875d171cc377e691f7d4f887", - "decimals": 18, - "name": "CO2Bit", - "symbol": "CO2Bit" - }, - { - "address": "0xdae1baf249964bc4b6ac98c3122f0e3e785fd279", - "decimals": 18, - "name": "Tokia", - "symbol": "TKA" - }, - { - "address": "0xf7B098298f7C69Fc14610bf71d5e02c60792894C", - "decimals": 3, - "name": "GUP", - "symbol": "GUP" - }, - { - "address": "0x95daaab98046846bf4b2853e23cba236fa394a31", - "decimals": 8, - "name": "Etheremon Token", - "symbol": "EMONT" - }, - { - "address": "0x245ef47d4d0505ecf3ac463f4d81f41ade8f1fd1", - "decimals": 18, - "name": "Nuggets Token", - "symbol": "NUG" - }, - { - "address": "0xffa93aacf49297d51e211817452839052fdfb961", - "decimals": 18, - "name": "Distributed Credit Chain", - "symbol": "DCC" - }, - { - "address": "0x1985365e9f78359a9B6AD760e32412f4a445E862", - "decimals": 18, - "name": "Augur", - "symbol": "REP" - }, - { - "address": "0xaEc98A708810414878c3BCDF46Aad31dEd4a4557", - "decimals": 18, - "name": "300 Token Sparta", - "symbol": "300" - }, - { - "address": "0x24A77c1F17C547105E14813e517be06b0040aa76", - "decimals": 18, - "name": "LIVE Token", - "symbol": "LIVE" - }, - { - "address": "0x92e78dae1315067a8819efd6dca432de9dcde2e9", - "decimals": 6, - "name": "Veros", - "symbol": "VRS" - }, - { - "address": "0x3136eF851592aCf49CA4C825131E364170FA32b3", - "decimals": 18, - "name": "CoinFi Token", - "symbol": "COFI" - }, - { - "address": "0xf4fe95603881d0e07954fd7605e0e9a916e42c44", - "decimals": 18, - "name": "WHEN Token", - "symbol": "WHEN" - }, - { - "address": "0xec46f8207d766012454c408de210bcbc2243e71c", - "decimals": 18, - "name": "NOX", - "symbol": "NOX" - }, - { - "address": "0x671AbBe5CE652491985342e85428EB1b07bC6c64", - "decimals": 8, - "name": "QAU", - "symbol": "QAU" - }, - { - "address": "0xf230b790e05390fc8295f4d3f60332c93bed42e2", - "decimals": 6, - "name": "Tron Lab Token", - "symbol": "TRX" - }, - { - "address": "0xE5aeE163513119F4F750376C718766B40fA37A5F", - "decimals": 18, - "name": "Frozencoin Network", - "symbol": "Fzcoin" - }, - { - "address": "0x386467f1f3ddbe832448650418311a479eecfc57", - "decimals": 0, - "name": "Embers", - "symbol": "MBRS" - }, - { - "address": "0x1a0f2ab46ec630f9fd638029027b552afa64b94c", - "decimals": 18, - "name": "Aston X", - "symbol": "ATX" - }, - { - "address": "0x0324dd195d0cd53f9f07bee6a48ee7a20bad738f", - "decimals": 8, - "name": "SPiCE VC Token", - "symbol": "SPICE" - }, - { - "address": "0x9e88613418cf03dca54d6a2cf6ad934a78c7a17a", - "decimals": 18, - "name": "Swarm Fund Token", - "symbol": "SWM" - }, - { - "address": "0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC", - "decimals": 8, - "name": "STORJ", - "symbol": "STORJ" - }, - { - "address": "0xB97048628DB6B661D4C2aA833e95Dbe1A905B280", - "decimals": 18, - "name": "TenX", - "symbol": "PAY" - }, - { - "address": "0x39013f961c378f02c2b82a6e1d31e9812786fd9d", - "decimals": 3, - "name": "Speed Mining Services", - "symbol": "SMS" - }, - { - "address": "0x0e8d6b471e332f140e7d9dbb99e5e3822f728da6", - "decimals": 18, - "name": "ABYSS", - "symbol": "ABYSS" - }, - { - "address": "0x423b5f62b328d0d6d44870f4eee316befa0b2df5", - "decimals": 18, - "name": "GoToken", - "symbol": "GOT" - }, - { - "address": "0x45edb535942a8c84d9f4b5d37e1b25f91ea4804c", - "decimals": 18, - "name": "RadioYo", - "symbol": "RAO" - }, - { - "address": "0x516e5436bafdc11083654de7bb9b95382d08d5de", - "decimals": 8, - "name": "Ormeus Coin", - "symbol": "ORME" - }, - { - "address": "0xeee2d00eb7deb8dd6924187f5aa3496b7d06e62a", - "decimals": 18, - "name": "Tigereum", - "symbol": "TIG" - }, - { - "address": "0x5554e04e76533e1d14c52f05beef6c9d329e1e30", - "decimals": 0, - "name": "Autonio", - "symbol": "NIO" - }, - { - "address": "0x4CEdA7906a5Ed2179785Cd3A40A69ee8bc99C466", - "decimals": 8, - "name": "Aion", - "symbol": "AION" - }, - { - "address": "0x2a05d22db079bc40c2f77a1d1ff703a56e631cc1", - "decimals": 8, - "name": "BitAsean", - "symbol": "BAS" - }, - { - "address": "0xd2d6158683aee4cc838067727209a0aaf4359de3", - "decimals": 18, - "name": "Bounty0x Token", - "symbol": "BNTY" - }, - { - "address": "0xEB9951021698B42e4399f9cBb6267Aa35F82D59D", - "decimals": 18, - "name": "LIF", - "symbol": "LIF" - }, - { - "address": "0x2a8E98e256f32259b5E5Cb55Dd63C8e891950666", - "decimals": 18, - "name": "ParrotCoin", - "symbol": "PTC" - }, - { - "address": "0xf3db7560e820834658b590c96234c333cd3d5e5e", - "decimals": 18, - "name": "Poker Chips", - "symbol": "CHP" - }, - { - "address": "0x74C1E4b8caE59269ec1D85D3D4F324396048F4ac", - "decimals": 0, - "name": "BeerCoin", - "symbol": "BeerCoin" - }, - { - "address": "0x9e6b2b11542f2bc52f3029077ace37e8fd838d7f", - "decimals": 8, - "name": "Hacken", - "symbol": "HKN" - }, - { - "address": "0x9B11EFcAAA1890f6eE52C6bB7CF8153aC5d74139", - "decimals": 8, - "name": "ATMChain", - "symbol": "ATM" - }, - { - "address": "0xdb25f211ab05b1c97d595516f45794528a807ad8", - "decimals": 2, - "name": "STASIS EURS Token", - "symbol": "EURS" - }, - { - "address": "0x386Faa4703a34a7Fdb19Bec2e14Fd427C9638416", - "decimals": 18, - "name": "DCA", - "symbol": "DoBETacceptBET(DCA)" - }, - { - "address": "0x0371a82e4a9d0a4312f3ee2ac9c6958512891372", - "decimals": 18, - "name": "Student Coin", - "symbol": "STU" - }, - { - "address": "0x70b147e01e9285e7ce68b9ba437fe3a9190e756a", - "decimals": 18, - "name": "BitFlux", - "symbol": "FLX" - }, - { - "address": "0xdac17f958d2ee523a2206206994597c13d831ec7", - "decimals": 6, - "name": "USD Tether (erc20)", - "symbol": "USDT" - }, - { - "address": "0x1063ce524265d5a3A624f4914acd573dD89ce988", - "decimals": 18, - "name": "Aigang", - "symbol": "AIX" - }, - { - "address": "0x554C20B7c486beeE439277b4540A434566dC4C02", - "decimals": 18, - "name": "HST", - "symbol": "HST" - }, - { - "address": "0xbf4cfd7d1edeeea5f6600827411b41a21eb08abd", - "decimals": 2, - "name": "CTL", - "symbol": "CTL" - }, - { - "address": "0x1d462414fe14cf489c7A21CaC78509f4bF8CD7c0", - "decimals": 6, - "name": "CAN", - "symbol": "CAN" - }, - { - "address": "0x4a37a91eec4c97f9090ce66d21d3b3aadf1ae5ad", - "decimals": 18, - "name": "LiquorChain Token", - "symbol": "LCT" - }, - { - "address": "0x3618516F45CD3c913F81F9987AF41077932Bc40d", - "decimals": 8, - "name": "PCL", - "symbol": "PCL" - }, - { - "address": "0x0abdace70d3790235af448c88547603b945604ea", - "decimals": 18, - "name": "DistrictOx", - "symbol": "DNT" - }, - { - "address": "0x1ec8fe51a9b6a3a6c427d17d9ecc3060fbc4a45c", - "decimals": 18, - "name": "S-A-PAT", - "symbol": "S-A-PAT" - }, - { - "address": "0x9041fe5b3fdea0f5e4afdc17e75180738d877a01", - "decimals": 18, - "name": "Pro", - "symbol": "PRO" - }, - { - "address": "0xfd1e80508f243e64ce234ea88a5fd2827c71d4b7", - "decimals": 8, - "name": "MEDX TOKEN", - "symbol": "MEDX" - }, - { - "address": "0x37427576324fE1f3625c9102674772d7CF71377d", - "decimals": 18, - "name": "SelfieYo Gold Token", - "symbol": "SGT" - }, - { - "address": "0xa017ac5fac5941f95010b12570b812c974469c2c", - "decimals": 18, - "name": "Proxeus", - "symbol": "XES" - }, - { - "address": "0x5c743a35E903F6c584514ec617ACEe0611Cf44f3", - "decimals": 18, - "name": "Experty", - "symbol": "EXY" - }, - { - "address": "0x20F7A3DdF244dc9299975b4Da1C39F8D5D75f05A", - "decimals": 6, - "name": "Sapien", - "symbol": "SPN" - }, - { - "address": "0x7fce2856899a6806eeef70807985fc7554c66340", - "decimals": 9, - "name": "CryptoLending", - "symbol": "CLP" - }, - { - "address": "0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC", - "decimals": 18, - "name": "Polymath Network", - "symbol": "POLY" - }, - { - "address": "0x49b127Bc33ce7E1586EC28CEC6a65b112596C822", - "decimals": 18, - "name": "ALX", - "symbol": "ALX" - }, - { - "address": "0x13119E34E140097a507B07a5564bDe1bC375D9e6", - "decimals": 18, - "name": "MoneyToken", - "symbol": "IMT" - }, - { - "address": "0x139d9397274bb9e2c29a9aa8aa0b5874d30d62e3", - "decimals": 18, - "name": "BoutsPro", - "symbol": "BOUTS" - }, - { - "address": "0xf7e983781609012307f2514f63D526D83D24F466", - "decimals": 16, - "name": "MYD", - "symbol": "MYD" - }, - { - "address": "0x960b236A07cf122663c4303350609A66A7B288C0", - "decimals": 18, - "name": "ANT", - "symbol": "ANT" - }, - { - "address": "0xFA1a856Cfa3409CFa145Fa4e20Eb270dF3EB21ab", - "decimals": 18, - "name": "IOSToken", - "symbol": "IOST" - }, - { - "address": "0x8eb965ee9cCFBCE76c0a06264492c0afEfc2826d", - "decimals": 18, - "name": "ToorCoin", - "symbol": "TOOR" - }, - { - "address": "0xa33e729bf4fdeb868b534e1f20523463d9c46bee", - "decimals": 10, - "name": "ICO", - "symbol": "ICO" - }, - { - "address": "0x3cf9e0c385a5abec9fd2a71790aa344c4e8e3570", - "decimals": 18, - "name": "BlockRx", - "symbol": "BKRx" - }, - { - "address": "0xeAb43193CF0623073Ca89DB9B712796356FA7414", - "decimals": 18, - "name": "GOLDX", - "symbol": "GOLDX" - }, - { - "address": "0x74ceda77281b339142a36817fa5f9e29412bab85", - "decimals": 8, - "name": "EROSCOIN", - "symbol": "ERO" - }, - { - "address": "0xbdeb4b83251fb146687fa19d1c660f99411eefe3", - "decimals": 18, - "name": "savedroid", - "symbol": "SVD" - }, - { - "address": "0x24aef3bf1a47561500f9430d74ed4097c47f51f2", - "decimals": 4, - "name": "SPARTA", - "symbol": "SPARTA" - }, - { - "address": "0xd559f20296ff4895da39b5bd9add54b442596a61", - "decimals": 18, - "name": "FintruX Network", - "symbol": "FTX" - }, - { - "address": "0x17e67d1cb4e349b9ca4bc3e17c7df2a397a7bb64", - "decimals": 18, - "name": "Freyr Coin", - "symbol": "FREC" - }, - { - "address": "0x6c6ee5e31d828de241282b9606c8e98ea48526e2", - "decimals": 18, - "name": "HoloToken", - "symbol": "HOT" - }, - { - "address": "0xcd4b4b0f3284a33ac49c67961ec6e111708318cf", - "decimals": 5, - "name": "AX1 Mining Token", - "symbol": "AX1" - }, - { - "address": "0xb5b8f5616fe42d5ceca3e87f3fddbdd8f496d760", - "decimals": 18, - "name": "ZPER", - "symbol": "ZPR" - }, - { - "address": "0xaaB606817809841E8b1168be8779Eeaf6744Ef64", - "decimals": 18, - "name": "Tend Token", - "symbol": "TTA" - }, - { - "address": "0xce59d29b09aae565feeef8e52f47c3cd5368c663", - "decimals": 18, - "name": "Bullion Crypto", - "symbol": "BLX (Bullion)" - }, - { - "address": "0xd42debE4eDc92Bd5a3FBb4243e1ecCf6d63A4A5d", - "decimals": 18, - "name": "Carboneum", - "symbol": "C8" - }, - { - "address": "0x5d48f293baed247a2d0189058ba37aa238bd4725", - "decimals": 18, - "name": "NeuroChain Clausius", - "symbol": "NCC" - }, - { - "address": "0x039f5050de4908f9b5ddf40a4f3aa3f329086387", - "decimals": 18, - "name": "Ethernet.Cash", - "symbol": "ENC" - }, - { - "address": "0x4162178B78D6985480A308B2190EE5517460406D", - "decimals": 18, - "name": "ColuLocalNetwork", - "symbol": "CLN" - }, - { - "address": "0x6e2050CBFB3eD8A4d39b64cC9f47E711a03a5a89", - "decimals": 18, - "name": "StreamShares", - "symbol": "SSH" - }, - { - "address": "0x58a4884182d9e835597f405e5f258290e46ae7c2", - "decimals": 18, - "name": "NOAHCOIN", - "symbol": "NOAH" - }, - { - "address": "0x05c3617cbf1304b9260aa61ec960f115d67becea", - "decimals": 18, - "name": "Cubrix", - "symbol": "CBIX" - }, - { - "address": "0x2ecb13a8c458c379c4d9a7259e202de03c8f3d19", - "decimals": 18, - "name": "Block-Chain.com", - "symbol": "BC" - }, - { - "address": "0xEA610B1153477720748DC13ED378003941d84fAB", - "decimals": 18, - "name": "ALIS Token", - "symbol": "ALIS" - }, - { - "address": "0x444997b7e7fC830E20089afea3078cd518fCF2A2", - "decimals": 18, - "name": "EWO Token", - "symbol": "EWO" - }, - { - "address": "0xeb547ed1d8a3ff1461abaa7f0022fed4836e00a4", - "decimals": 18, - "name": "Coinvest V3 Token", - "symbol": "COIN" - }, - { - "address": "0x36905fc93280f52362a1cbab151f25dc46742fb5", - "decimals": 18, - "name": "BTOCoin", - "symbol": "BTO" - }, - { - "address": "0xB110eC7B1dcb8FAB8dEDbf28f53Bc63eA5BEdd84", - "decimals": 8, - "name": "XID", - "symbol": "XID" - }, - { - "address": "0x0D8775F648430679A709E98d2b0Cb6250d2887EF", - "decimals": 18, - "name": "BAT", - "symbol": "BAT" - }, - { - "address": "0x5d65D971895Edc438f465c17DB6992698a52318D", - "decimals": 18, - "name": "Nebula", - "symbol": "NAS" - }, - { - "address": "0xE3Fa177AcecfB86721Cf6f9f4206bd3Bd672D7d5", - "decimals": 18, - "name": "ChainTrade Token", - "symbol": "CTT" - }, - { - "address": "0xf87f0d9153fea549c728ad61cb801595a68b73de", - "decimals": 18, - "name": "BANX", - "symbol": "BANX" - }, - { - "address": "0x430241368c1D293fdA21DBa8Bb7aF32007c59109", - "decimals": 8, - "name": "TrillionToken", - "symbol": "3LT" - }, - { - "address": "0xa686514faf7d54289266f483d1e4852c99e13ec7", - "decimals": 8, - "name": "Aworker", - "symbol": "WORK" - }, - { - "address": "0x49aec0752e68d0282db544c677f6ba407ba17ed7", - "decimals": 18, - "name": "Billionaire Token", - "symbol": "XBL" - }, - { - "address": "0xc20464e0c373486d2b3335576e83a218b1618a5e", - "decimals": 18, - "name": "Datarius Credit", - "symbol": "DTRC" - }, - { - "address": "0xd0929d411954c47438dc1d871dd6081f5c5e149c", - "decimals": 4, - "name": "Refereum", - "symbol": "RFR" - }, - { - "address": "0x6781a0f84c7e9e846dcb84a9a5bd49333067b104", - "decimals": 18, - "name": "ZAP", - "symbol": "ZAP" - }, - { - "address": "0x23352036e911a22cfc692b5e2e196692658aded9", - "decimals": 18, - "name": "Friendz Coin", - "symbol": "FDZ" - }, - { - "address": "0x8e1b448EC7aDFc7Fa35FC2e885678bD323176E34", - "decimals": 18, - "name": "Egretia Token", - "symbol": "EGT" - }, - { - "address": "0x7705FaA34B16EB6d77Dfc7812be2367ba6B0248e", - "decimals": 8, - "name": "ARX", - "symbol": "ARX" - }, - { - "address": "0x6ec8a24cabdc339a06a172f8223ea557055adaa5", - "decimals": 9, - "name": "Genaro X", - "symbol": "GNX" - }, - { - "address": "0x0E3de3B0E3D617FD8D1D8088639bA877feb4d742", - "decimals": 18, - "name": "ICE ROCK MINING", - "symbol": "ROCK2PAY" - }, - { - "address": "0x4672bad527107471cb5067a887f4656d585a8a31", - "decimals": 18, - "name": "Dropil", - "symbol": "DROP (dropil)" - }, - { - "address": "0xb62d18dea74045e822352ce4b3ee77319dc5ff2f", - "decimals": 18, - "name": "EventChain", - "symbol": "EVC" - }, - { - "address": "0x1cb3209d45b2a60b7fbca1ccdbf87f674237a4aa", - "decimals": 4, - "name": "ThoreCoin", - "symbol": "THR" - }, - { - "address": "0xcb94be6f13a1182e4a4b6140cb7bf2025d28e41b", - "decimals": 6, - "name": "TRST", - "symbol": "TRST" - }, - { - "address": "0x12b19d3e2ccc14da04fae33e63652ce469b3f2fd", - "decimals": 12, - "name": "GRID", - "symbol": "GRID" - }, - { - "address": "0x4355fC160f74328f9b383dF2EC589bB3dFd82Ba0", - "decimals": 18, - "name": "Opus Foundation", - "symbol": "OPT" - }, - { - "address": "0xEA38eAa3C86c8F9B751533Ba2E562deb9acDED40", - "decimals": 18, - "name": "Etherparty FUEL", - "symbol": "FUEL" - }, - { - "address": "0x080aa07e2c7185150d7e4da98838a8d2feac3dfc", - "decimals": 0, - "name": "Bitether", - "symbol": "BTT" - }, - { - "address": "0x72dd4b6bd852a3aa172be4d6c5a6dbec588cf131", - "decimals": 18, - "name": "NAGA Coin", - "symbol": "NGC" - }, - { - "address": "0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671", - "decimals": 18, - "name": "NMR", - "symbol": "NMR" - }, - { - "address": "0xD65960FAcb8E4a2dFcb2C2212cb2e44a02e2a57E", - "decimals": 6, - "name": "Soarcoin", - "symbol": "Soar" - }, - { - "address": "0x025abad9e518516fdaafbdcdb9701b37fb7ef0fa", - "decimals": 0, - "name": "GTKT", - "symbol": "GTKT" - }, - { - "address": "0x3eb91d237e491e0dee8582c402d85cb440fb6b54", - "decimals": 18, - "name": "S-ETH", - "symbol": "S-ETH" - }, - { - "address": "0x88ac94d5d175130347fc95e109d77ac09dbf5ab7", - "decimals": 18, - "name": "Hicky", - "symbol": "HKY" - }, - { - "address": "0x6fFF3806Bbac52A20e0d79BC538d527f6a22c96b", - "decimals": 18, - "name": "CDX", - "symbol": "CDX" - }, - { - "address": "0x006BeA43Baa3f7A6f765F14f10A1a1b08334EF45", - "decimals": 18, - "name": "StoxToken", - "symbol": "STX" - }, - { - "address": "0x765f0c16d1ddc279295c1a7c24b0883f62d33f75", - "decimals": 18, - "name": "DaTa eXchange Token", - "symbol": "DTX" - }, - { - "address": "0x1b22c32cd936cb97c28c5690a0695a82abf688e6", - "decimals": 18, - "name": "MyWish", - "symbol": "WISH" - }, - { - "address": "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07", - "decimals": 18, - "name": "OMG", - "symbol": "OMG" - }, - { - "address": "0x7703c35cffdc5cda8d27aa3df2f9ba6964544b6e", - "decimals": 18, - "name": "Pylon", - "symbol": "PYLNT" - }, - { - "address": "0x8d5682941ce456900b12d47ac06a88b47c764ce1", - "decimals": 18, - "name": "RightMesh Token", - "symbol": "RMESH" - }, - { - "address": "0x1c62aca2b7605db3606eacda7bc67a1857ddb8ff", - "decimals": 18, - "name": "Soniq Token", - "symbol": "SONIQ" - }, - { - "address": "0x264dc2dedcdcbb897561a57cba5085ca416fb7b4", - "decimals": 18, - "name": "QunQunCommunities", - "symbol": "QUN" - }, - { - "address": "0x50ee674689d75c0f88e8f83cfe8c4b69e8fd590d", - "decimals": 8, - "name": "EmphyCoin", - "symbol": "EPY" - }, - { - "address": "0x58bf7df57d9DA7113c4cCb49d8463D4908C735cb", - "decimals": 18, - "name": "SPARC", - "symbol": "SPARC" - }, - { - "address": "0x2604fa406be957e542beb89e6754fcde6815e83f", - "decimals": 18, - "name": "PlayKey", - "symbol": "PKT" - }, - { - "address": "0xE8F9fa977ea585591d9F394681318C16552577fB", - "decimals": 18, - "name": "ZTX", - "symbol": "ZTX" - }, - { - "address": "0x2bDC0D42996017fCe214b21607a515DA41A9E0C5", - "decimals": 6, - "name": "SKIN", - "symbol": "SKIN" - }, - { - "address": "0x63f584fa56e60e4d0fe8802b27c7e6e3b33e007f", - "decimals": 18, - "name": "ContentBox", - "symbol": "BOX" - }, - { - "address": "0xa31108e5bab5494560db34c95492658af239357c", - "decimals": 18, - "name": "DACSEE", - "symbol": "DACS" - }, - { - "address": "0x9214ec02cb71cba0ada6896b8da260736a67ab10", - "decimals": 18, - "name": "Real Estate Asset Ledger", - "symbol": "REAL" - }, - { - "address": "0xab95e915c123fded5bdfb6325e35ef5515f1ea69", - "decimals": 18, - "name": "XENON", - "symbol": "XNN" - }, - { - "address": "0x4CC19356f2D37338b9802aa8E8fc58B0373296E7", - "decimals": 18, - "name": "SelfKey", - "symbol": "KEY" - }, - { - "address": "0xfD107B473AB90e8Fbd89872144a3DC92C40Fa8C9", - "decimals": 18, - "name": "LALA World Token", - "symbol": "LALA" - }, - { - "address": "0x6aEDbF8dFF31437220dF351950Ba2a3362168d1b", - "decimals": 8, - "name": "Dragonglass", - "symbol": "DGS" - }, - { - "address": "0xF4134146AF2d511Dd5EA8cDB1C4AC88C57D60404", - "decimals": 18, - "name": "SNC", - "symbol": "SNC" - }, - { - "address": "0x47dd62d4d075dead71d0e00299fc56a2d747bebb", - "decimals": 18, - "name": "EQUAL", - "symbol": "EQL" - }, - { - "address": "0x163733bcc28dbf26B41a8CfA83e369b5B3af741b", - "decimals": 18, - "name": "Persians", - "symbol": "PRS" - }, - { - "address": "0x0886949c1b8C412860c4264Ceb8083d1365e86CF", - "decimals": 8, - "name": "EthereumBitcoin", - "symbol": "BTCE" - }, - { - "address": "0xdf6ef343350780bf8c3410bf062e0c015b1dd671", - "decimals": 8, - "name": "Blackmoon Crypto BMC Token", - "symbol": "BMC" - }, - { - "address": "0x4470BB87d77b963A013DB939BE332f927f2b992e", - "decimals": 4, - "name": "AdEx Network", - "symbol": "ADX" - }, - { - "address": "0xe06eda7435ba749b047380ced49121dde93334ae", - "decimals": 0, - "name": "SET", - "symbol": "SET" - }, - { - "address": "0xaa7a9ca87d3694b5755f213b5d04094b8d0f0a6f", - "decimals": 18, - "name": "Trace", - "symbol": "TRAC" - }, - { - "address": "0x24ddff6d8b8a42d835af3b440de91f3386554aa4", - "decimals": 18, - "name": "IUNGO", - "symbol": "ING" - }, - { - "address": "0x4545750F39aF6Be4F237B6869D4EccA928Fd5A85", - "decimals": 18, - "name": "CryptoTask", - "symbol": "CTF" - }, - { - "address": "0x7f585b9130c64e9e9f470b618a7badd03d79ca7e", - "decimals": 18, - "name": "CR7Coin", - "symbol": "CR7" - }, - { - "address": "0xc86d054809623432210c107af2e3f619dcfbf652", - "decimals": 18, - "name": "Sentinel Protocol", - "symbol": "UPP" - }, - { - "address": "0xf0ee6b27b759c9893ce4f094b49ad28fd15a23e4", - "decimals": 8, - "name": "Enigma", - "symbol": "ENG" - }, - { - "address": "0x65a15014964f2102ff58647e16a16a6b9e14bcf6", - "decimals": 3, - "name": "Ox Fina", - "symbol": "Ox Fina" - }, - { - "address": "0x9c23d67aea7b95d80942e3836bcdf7e708a747c2", - "decimals": 18, - "name": "LOCIcoin", - "symbol": "LOCI" - }, - { - "address": "0x17F93475d2A978f527c3f7c44aBf44AdfBa60D5C", - "decimals": 2, - "name": "EtherCO2", - "symbol": "ECO2" - }, - { - "address": "0x7928c8aBF1F74eF9F96D4D0a44e3b4209d360785", - "decimals": 18, - "name": "SELFLLERY", - "symbol": "SLY" - }, - { - "address": "0x09bca6ebab05ee2ae945be4eda51393d94bf7b99", - "decimals": 4, - "name": "STABLE Token", - "symbol": "STB" - }, - { - "address": "0x07d9e49ea402194bf48a8276dafb16e4ed633317", - "decimals": 8, - "name": "DaleCoin", - "symbol": "DALC" - }, - { - "address": "0xc9de4b7f0c3d991e967158e4d4bfa4b51ec0b114", - "decimals": 18, - "name": "Rocketchain", - "symbol": "ROK" - }, - { - "address": "0xe530441f4f73bDB6DC2fA5aF7c3fC5fD551Ec838", - "decimals": 4, - "name": "GSENetwork", - "symbol": "GSE" - }, - { - "address": "0xdb455c71c1bc2de4e80ca451184041ef32054001", - "decimals": 18, - "name": "Jury.Online", - "symbol": "JOT" - }, - { - "address": "0x049399a6b048d52971f7d122ae21a1532722285f", - "decimals": 18, - "name": "Fire Lotto", - "symbol": "FLOT" - }, - { - "address": "0xee609fe292128cad03b786dbb9bc2634ccdbe7fc", - "decimals": 18, - "name": "PoSToken", - "symbol": "POS" - }, - { - "address": "0xfe5f141bf94fe84bc28ded0ab966c16b17490657", - "decimals": 18, - "name": "LibraToken", - "symbol": "LBA" - }, - { - "address": "0x9344b383b1D59b5ce3468B234DAB43C7190ba735", - "decimals": 18, - "name": "NeedsCoin", - "symbol": "NCC" - }, - { - "address": "0xca0e7269600d353f70b14ad118a49575455c0f2f", - "decimals": 18, - "name": "AMLT", - "symbol": "AMLT" - }, - { - "address": "0x52fb36c83ad33c1824912fc81071ca5eeb8ab390", - "decimals": 18, - "name": "Fidelium Token", - "symbol": "FID" - }, - { - "address": "0x72adadb447784dd7ab1f472467750fc485e4cb2d", - "decimals": 6, - "name": "Worldcore", - "symbol": "WRC" - }, - { - "address": "0xad8dd4c725de1d31b9e8f8d146089e9dc6882093", - "decimals": 6, - "name": "Mychatcoin", - "symbol": "MIT (Mychatcoin)" - }, - { - "address": "0x247551F2EB3362E222c742E9c788B8957D9BC87e", - "decimals": 18, - "name": "GNY", - "symbol": "GNY" - }, - { - "address": "0x8f8221aFbB33998d8584A2B05749bA73c37a938a", - "decimals": 18, - "name": "Request Network", - "symbol": "REQ" - }, - { - "address": "0x3adfc4999f77d04c8341bac5f3a76f58dff5b37a", - "decimals": 8, - "name": "Privatix", - "symbol": "PRIX" - }, - { - "address": "0x0947b0e6D821378805c9598291385CE7c791A6B2", - "decimals": 18, - "name": "Lendingblock", - "symbol": "LND" - }, - { - "address": "0x08d32b0da63e2C3bcF8019c9c5d849d7a9d791e6", - "decimals": 0, - "name": "Dentacoin", - "symbol": "DCN" - }, - { - "address": "0xFACCD5Fc83c3E4C3c1AC1EF35D15adf06bCF209C", - "decimals": 8, - "name": "TBC2", - "symbol": "TBC2" - }, - { - "address": "0x5Af2Be193a6ABCa9c8817001F45744777Db30756", - "decimals": 8, - "name": "ETHOS", - "symbol": "ETHOS" - }, - { - "address": "0x1ca43a170bad619322e6f54d46b57e504db663aa", - "decimals": 18, - "name": "ARTWOOK COIN", - "symbol": "AKC" - }, - { - "address": "0x859a9c0b44cb7066d956a958b0b82e54c9e44b4b", - "decimals": 8, - "name": "iEthereum", - "symbol": "iETH" - }, - { - "address": "0xE5f867dE1EA81346df5181b8b48DD6B0BB3357B0", - "decimals": 18, - "name": "BTZ by Bunz", - "symbol": "BTZ" - }, - { - "address": "0xd9a12cde03a86e800496469858de8581d3a5353d", - "decimals": 18, - "name": "YUP", - "symbol": "YUP" - }, - { - "address": "0x44bf22949f9cc84b61b9328a9d885d1b5c806b41", - "decimals": 2, - "name": "Mozo Token", - "symbol": "MOZO" - }, - { - "address": "0xeda8b016efa8b1161208cf041cd86972eee0f31e", - "decimals": 18, - "name": "I HOUSE TOKEN", - "symbol": "IHT" - }, - { - "address": "0x6f259637dcd74c767781e37bc6133cd6a68aa161", - "decimals": 18, - "name": "HuobiToken", - "symbol": "HT" - }, - { - "address": "0xe120c1ecbfdfea7f0a8f0ee30063491e8c26fedf", - "decimals": 8, - "name": "Suretly", - "symbol": "SUR" - }, - { - "address": "0x66eb65D7Ab8e9567ba0fa6E37c305956c5341574", - "decimals": 5, - "name": "Helex", - "symbol": "HLX" - }, - { - "address": "0x4946583c5b86e01ccd30c71a05617d06e3e73060", - "decimals": 18, - "name": "PTON", - "symbol": "PTON" - }, - { - "address": "0xffe8196bc259e8dedc544d935786aa4709ec3e64", - "decimals": 18, - "name": "Hedge Crypto", - "symbol": "HDG" - }, - { - "address": "0xe3831c5A982B279A198456D577cfb90424cb6340", - "decimals": 6, - "name": "Immune Coin", - "symbol": "IMC" - }, - { - "address": "0x9a0242b7a33dacbe40edb927834f96eb39f8fbcb", - "decimals": 18, - "name": "BAX", - "symbol": "BAX" - }, - { - "address": "0xf9F0FC7167c311Dd2F1e21E9204F87EBA9012fB2", - "decimals": 8, - "name": "EasyHomes", - "symbol": "EHT" - }, - { - "address": "0x1543d0F83489e82A1344DF6827B23d541F235A50", - "decimals": 18, - "name": "AIgatha Token", - "symbol": "ATH (AIgatha Token)" - }, - { - "address": "0xbe11eeb186e624b8f26a5045575a1340e4054552", - "decimals": 18, - "name": "CCC (ICONOMI)", - "symbol": "CCC (ICONOMI)" - }, - { - "address": "0xb444208cb0516c150178fcf9a52604bc04a1acea", - "decimals": 18, - "name": "GreenMed", - "symbol": "GRMD" - }, - { - "address": "0xfec0cF7fE078a500abf15F1284958F22049c2C7e", - "decimals": 18, - "name": "ART", - "symbol": "ART" - }, - { - "address": "0x0f8c45b896784a1e408526b9300519ef8660209c", - "decimals": 8, - "name": "XMAX", - "symbol": "XMX" - }, - { - "address": "0xea5f88e54d982cbb0c441cde4e79bc305e5b43bc", - "decimals": 18, - "name": "PARETO", - "symbol": "PARETO" - }, - { - "address": "0xE638dc39b6aDBEE8526b5C22380b4b45dAf46d8e", - "decimals": 6, - "name": "Gizer", - "symbol": "GZR" - }, - { - "address": "0x5c3a228510d246b78a3765c20221cbf3082b44a4", - "decimals": 18, - "name": "Storiqa", - "symbol": "STQ" - }, - { - "address": "0x88FCFBc22C6d3dBaa25aF478C578978339BDe77a", - "decimals": 18, - "name": "Fund Yourself Now", - "symbol": "FYN" - }, - { - "address": "0xaaf37055188feee4869de63464937e683d61b2a1", - "decimals": 18, - "name": "UChain Token", - "symbol": "UCN" - }, - { - "address": "0xdD6Bf56CA2ada24c683FAC50E37783e55B57AF9F", - "decimals": 12, - "name": "BNC", - "symbol": "BNC" - }, - { - "address": "0x5884969Ec0480556E11d119980136a4C17eDDEd1", - "decimals": 18, - "name": "PETHEREUM", - "symbol": "PET" - }, - { - "address": "0x171d750d42d661b62c277a6b486adb82348c3eca", - "decimals": 18, - "name": "Omnitude", - "symbol": "ECOM" - }, - { - "address": "0x773450335eD4ec3DB45aF74f34F2c85348645D39", - "decimals": 18, - "name": "JetCoins", - "symbol": "JetCoins" - }, - { - "address": "0xBB1fA4FdEB3459733bF67EbC6f893003fA976a82", - "decimals": 18, - "name": "Pangea Arbitration Token", - "symbol": "XPAT" - }, - { - "address": "0xe3f4b4a5d91e5cb9435b947f090a319737036312", - "decimals": 18, - "name": "POPCHAIN CASH", - "symbol": "PCH" - }, - { - "address": "0xedd7c94fd7b4971b916d15067bc454b9e1bad980", - "decimals": 18, - "name": "Zippie", - "symbol": "ZIPT" - }, - { - "address": "0x6425c6be902d692ae2db752b3c268afadb099d3b", - "decimals": 18, - "name": "RED MWAT", - "symbol": "MWAT" - }, - { - "address": "0x9af839687f6c94542ac5ece2e317daae355493a1", - "decimals": 18, - "name": "Hydro Protocol", - "symbol": "HOT" - }, - { - "address": "0x4D8fc1453a0F359e99c9675954e656D80d996FbF", - "decimals": 18, - "name": "Bee Token", - "symbol": "BEE" - }, - { - "address": "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2", - "decimals": 18, - "name": "MakerDAO", - "symbol": "MKR" - }, - { - "address": "0x08f5a9235b08173b7569f83645d2c7fb55e8ccd8", - "decimals": 8, - "name": "Tierion Network Token", - "symbol": "TNT" - }, - { - "address": "0xA9877b1e05D035899131DBd1e403825166D09f92", - "decimals": 18, - "name": "Media Network Token", - "symbol": "MNT" - }, - { - "address": "0xC011A72400E58ecD99Ee497CF89E3775d4bd732F", - "decimals": 18, - "name": "Havven", - "symbol": "HAV" - }, - { - "address": "0x66497a283e0a007ba3974e837784c6ae323447de", - "decimals": 18, - "name": "PornToken", - "symbol": "PT" - }, - { - "address": "0x75aa7b0d02532f3833b66c7f0ad35376d373ddf8", - "decimals": 18, - "name": "Accord", - "symbol": "ARD" - }, - { - "address": "0x5e3346444010135322268a4630d2ed5f8d09446c", - "decimals": 18, - "name": "LockChain", - "symbol": "LOC" - }, - { - "address": "0x0d262e5dc4a06a0f1c90ce79c7a60c09dfc884e4", - "decimals": 8, - "name": "J8T Token", - "symbol": "J8T" - }, - { - "address": "0x1829aa045e21e0d59580024a951db48096e01782", - "decimals": 18, - "name": "FuzeX", - "symbol": "FXT" - }, - { - "address": "0x4994e81897a920c0FEA235eb8CEdEEd3c6fFF697", - "decimals": 18, - "name": "Sikoba", - "symbol": "SKO1" - }, - { - "address": "0x04cC783b450b8D11F3C7d00DD03fDF7FB51fE9F2", - "decimals": 18, - "name": "Filmscoin", - "symbol": "FLMC" - }, - { - "address": "0x0D6DD9f68d24EC1d5fE2174f3EC8DAB52B52BaF5", - "decimals": 18, - "name": "KMCC", - "symbol": "KC" - }, - { - "address": "0x701C244b988a513c945973dEFA05de933b23Fe1D", - "decimals": 18, - "name": "OAX", - "symbol": "OAX" - }, - { - "address": "0x30ceCB5461A449A90081F5a5F55db4e048397BAB", - "decimals": 8, - "name": "Tracto", - "symbol": "TRCT" - }, - { - "address": "0xe25bCec5D3801cE3a794079BF94adF1B8cCD802D", - "decimals": 18, - "name": "MAN", - "symbol": "MAN" - }, - { - "address": "0xb67734521eAbBE9C773729dB73E16CC2dfb20A58", - "decimals": 2, - "name": "eRupee", - "symbol": "E\u20b9" - }, - { - "address": "0x08b4c866aE9D1bE56a06e0C302054B4FFe067b43", - "decimals": 8, - "name": "BitCar Token", - "symbol": "BITCAR" - }, - { - "address": "0x17f8aFB63DfcDcC90ebE6e84F060Cc306A98257D", - "decimals": 18, - "name": "NebulaAiToken", - "symbol": "NBAI" - }, - { - "address": "0xF70a642bD387F94380fFb90451C2c81d4Eb82CBc", - "decimals": 18, - "name": "Star Token", - "symbol": "STAR" - }, - { - "address": "0x80fB784B7eD66730e8b1DBd9820aFD29931aab03", - "decimals": 18, - "name": "EHTLend", - "symbol": "LEND" - }, - { - "address": "0x28b5e12cce51f15594b0b91d5b5adaa70f684a02", - "decimals": 2, - "name": "NapoleonX", - "symbol": "NPX" - }, - { - "address": "0x324a48ebcbb46e61993931ef9d35f6697cd2901b", - "decimals": 18, - "name": "SKRP (Phase 1-E)", - "symbol": "SKRP" - }, - { - "address": "0x6fb3e0a217407efff7ca062d46c26e5d60a14d69", - "decimals": 18, - "name": "IoTeX Network", - "symbol": "IOTX" - }, - { - "address": "0xe8663a64a96169ff4d95b4299e7ae9a76b905b31", - "decimals": 8, - "name": "Rating", - "symbol": "Rating" - }, - { - "address": "0xE0B7927c4aF23765Cb51314A0E0521A9645F0E2A", - "decimals": 9, - "name": "Digix DAO", - "symbol": "DGD" - }, - { - "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", - "decimals": 18, - "name": "WETH", - "symbol": "WETH" - }, - { - "address": "0xa74476443119A942dE498590Fe1f2454d7D4aC0d", - "decimals": 18, - "name": "Golem", - "symbol": "GNT" - }, - { - "address": "0x68909e586eeac8f47315e84b4c9788dd54ef65bb", - "decimals": 18, - "name": "EvenCoin", - "symbol": "EVN" - }, - { - "address": "0xfdbc1adc26f0f8f8606a5d63b7d3a3cd21c22b23", - "decimals": 8, - "name": "1WO", - "symbol": "1WO" - }, - { - "address": "0x2134057c0b461f898d375cead652acae62b59541", - "decimals": 18, - "name": "CoxxxCoin", - "symbol": "CXC" - }, - { - "address": "0x697beac28B09E122C4332D163985e8a73121b97F", - "decimals": 8, - "name": "QRL", - "symbol": "QRL" - }, - { - "address": "0x7C5A0CE9267ED19B22F8cae653F198e3E8daf098", - "decimals": 18, - "name": "Santiment", - "symbol": "SAN" - }, - { - "address": "0x241ba672574a78a3a604cdd0a94429a73a84a324", - "decimals": 18, - "name": "4NEW", - "symbol": "KWATT" - }, - { - "address": "0x47bc01597798dcd7506dcca36ac4302fc93a8cfb", - "decimals": 8, - "name": "Crowd Machine Compute Token", - "symbol": "CMCT" - }, - { - "address": "0x1fe70be734e473e5721ea57c8b5b01e6caa52686", - "decimals": 18, - "name": "RNTB Token", - "symbol": "RNTB" - }, - { - "address": "0x543Ff227F64Aa17eA132Bf9886cAb5DB55DCAddf", - "decimals": 18, - "name": "DAOstack", - "symbol": "GEN" - }, - { - "address": "0x64A60493D888728Cf42616e034a0dfEAe38EFCF0", - "decimals": 18, - "name": "OneLedger Token", - "symbol": "OLT" - }, - { - "address": "0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359", - "decimals": 18, - "name": "Dai Stablecoin v1.0", - "symbol": "DAI" - }, - { - "address": "0x07e3c70653548b04f0a75970c1f81b4cbbfb606f", - "decimals": 18, - "name": "Agrello", - "symbol": "DLT" - }, - { - "address": "0x0f4ca92660efad97a9a70cb0fe969c755439772c", - "decimals": 9, - "name": "Leverj", - "symbol": "LEV" - }, - { - "address": "0x4375e7ad8a01b8ec3ed041399f62d9cd120e0063", - "decimals": 18, - "name": "BZ", - "symbol": "BZ" - }, - { - "address": "0x9af4f26941677c706cfecf6d3379ff01bb85d5ab", - "decimals": 8, - "name": "DomRaiderToken", - "symbol": "DRT" - }, - { - "address": "0xe1aee98495365fc179699c1bb3e761fa716bee62", - "decimals": 18, - "name": "BezantToken", - "symbol": "BZNT" - }, - { - "address": "0x22e5f62d0fa19974749faa194e3d3ef6d89c08d7", - "decimals": 0, - "name": "Immortal", - "symbol": "IMT" - }, - { - "address": "0xc4bcd64cb216d49fd3c643a32762f34626b45a1a", - "decimals": 18, - "name": "CosmoCoin", - "symbol": "COSM" - }, - { - "address": "0x399A0e6FbEb3d74c85357439f4c8AeD9678a5cbF", - "decimals": 3, - "name": "DCL", - "symbol": "DCL" - }, - { - "address": "0x4689a4e169eb39cc9078c0940e21ff1aa8a39b9c", - "decimals": 18, - "name": "Proton Token", - "symbol": "PTT" - }, - { - "address": "0xE5a7c12972f3bbFe70ed29521C8949b8Af6a0970", - "decimals": 18, - "name": "Iconomi", - "symbol": "BLX (Iconomi)" - }, - { - "address": "0x80a7e048f37a50500351c204cb407766fa3bae7f", - "decimals": 18, - "name": "CrypteriumToken", - "symbol": "CRPT" - }, - { - "address": "0xb8c77482e45f1f44de1745f52c74426c631bdd52", - "decimals": 18, - "name": "BNB", - "symbol": "BNB" - }, - { - "address": "0x48df4e0296f908ceab0428a5182d19b31fc037d6", - "decimals": 8, - "name": "Fitrova", - "symbol": "FRV" - }, - { - "address": "0x6531f133e6DeeBe7F2dcE5A0441aA7ef330B4e53", - "decimals": 8, - "name": "Chronobank", - "symbol": "TIME" - }, - { - "address": "0x1122b6a0e00dce0563082b6e2953f3a943855c1f", - "decimals": 18, - "name": "Centrality Token", - "symbol": "CENNZ" - }, - { - "address": "0xa5f8fc0921880cb7342368bd128eb8050442b1a1", - "decimals": 18, - "name": "Block Array", - "symbol": "ARY" - }, - { - "address": "0x4c0fbe1bb46612915e7967d2c3213cd4d87257ad", - "decimals": 18, - "name": "APIS", - "symbol": "APIS" - }, - { - "address": "0xF0da1186a4977226b9135d0613ee72e229EC3F4d", - "decimals": 18, - "name": "CreamtoeCoin", - "symbol": "CRT" - }, - { - "address": "0x7A41e0517a5ecA4FdbC7FbebA4D4c47B9fF6DC63", - "decimals": 18, - "name": "ZeusShieldCoin", - "symbol": "ZSC" - }, - { - "address": "0xf3db5fa2c66b7af3eb0c0b782510816cbe4813b8", - "decimals": 4, - "name": "EVX Token", - "symbol": "EVX" - }, - { - "address": "0x1014613e2b3cbc4d575054d4982e580d9b99d7b1", - "decimals": 8, - "name": "BitCapitalVendor Token", - "symbol": "BCV" - }, - { - "address": "0x1ccaa0f2a7210d76e1fdec740d5f323e2e1b1672", - "decimals": 18, - "name": "Faceter", - "symbol": "FACE" - }, - { - "address": "0x7dd7f56d697cc0f2b52bd55c057f378f1fe6ab4b", - "decimals": 18, - "name": "$TEAK", - "symbol": "$TEAK" - }, - { - "address": "0x994f0dffdbae0bbf09b652d6f11a493fd33f42b9", - "decimals": 18, - "name": "EagleCoin", - "symbol": "EAGLE" - }, - { - "address": "0x17052d51E954592C1046320c2371AbaB6C73Ef10", - "decimals": 18, - "name": "Athenian Warrior Token", - "symbol": "ATH (Athenian Warrior token)" - }, - { - "address": "0xa7f976C360ebBeD4465c2855684D1AAE5271eFa9", - "decimals": 8, - "name": "TrueFlip", - "symbol": "TFL" - }, - { - "address": "0x6F59e0461Ae5E2799F1fB3847f05a63B16d0DbF8", - "decimals": 18, - "name": "ORCA Token", - "symbol": "ORCA" - }, - { - "address": "0xec18f898b4076a3e18f1089d33376cc380bde61d", - "decimals": 18, - "name": "PETRO", - "symbol": "PETRO" - }, - { - "address": "0xEBf2F9E8De960f64ec0fDCDa6Cb282423133347B", - "decimals": 8, - "name": "Canabio", - "symbol": "CNB" - }, - { - "address": "0xbc1234552EBea32B5121190356bBa6D3Bb225bb5", - "decimals": 18, - "name": "BCL", - "symbol": "BCL" - }, - { - "address": "0xb0280743b44bf7db4b6be482b2ba7b75e5da096c", - "decimals": 18, - "name": "Transcodium", - "symbol": "TNS" - }, - { - "address": "0xa5Fd1A791C4dfcaacC963D4F73c6Ae5824149eA7", - "decimals": 18, - "name": "JNT", - "symbol": "JNT" - }, - { - "address": "0x95C4be8534d69C248C0623c4C9a7A2a001c17337", - "decimals": 18, - "name": "HOLDER.TECH", - "symbol": "HDL" - }, - { - "address": "0xb98d4c97425d9908e66e53a6fdf673acca0be986", - "decimals": 18, - "name": "ArcBlock Token", - "symbol": "ABT" - }, - { - "address": "0x41e5560054824ea6b0732e656e3ad64e20e94e45", - "decimals": 8, - "name": "CVC", - "symbol": "CVC" - }, - { - "address": "0x0e0989b1f9b8a38983c2ba8053269ca62ec9b195", - "decimals": 8, - "name": "Po.et Tokens", - "symbol": "POE" - }, - { - "address": "0x0707681f344deb24184037fc0228856f2137b02e", - "decimals": 18, - "name": "FNKOSToken", - "symbol": "FNKOS" - }, - { - "address": "0xa024e8057eec474a9b2356833707dd0579e26ef3", - "decimals": 18, - "name": "$FIXY NETWORK", - "symbol": "$FXY" - }, - { - "address": "0xc66ea802717bfb9833400264dd12c2bceaa34a6d", - "decimals": 18, - "name": "MakerDAO", - "symbol": "OLD_MKR" - }, - { - "address": "0x6339784d9478da43106a429196772a029c2f177d", - "decimals": 18, - "name": "Attention Token", - "symbol": "ATTN" - }, - { - "address": "0x38c87aa89b2b8cd9b95b736e1fa7b612ea972169", - "decimals": 18, - "name": "AMO Coin", - "symbol": "AMO" - }, - { - "address": "0x2a1dbabe65c595B0022e75208C34014139d5d357", - "decimals": 18, - "name": "TrustedHealth", - "symbol": "TDH" - }, - { - "address": "0xc719d010B63E5bbF2C0551872CD5316ED26AcD83", - "decimals": 18, - "name": "Decentralized Insurance Protocol", - "symbol": "DIP" - }, - { - "address": "0x2fa32a39fc1c399e0cc7b2935868f5165de7ce97", - "decimals": 8, - "name": "PayFair", - "symbol": "PFR" - }, - { - "address": "0x70a72833d6bf7f508c8224ce59ea1ef3d0ea3a38", - "decimals": 18, - "name": "UTK", - "symbol": "UTK" - }, - { - "address": "0x06012c8cf97bead5deae237070f9587f8e7a266d", - "decimals": 0, - "name": "CK", - "symbol": "CK" - }, - { - "address": "0x887834d3b8d450b6bab109c252df3da286d73ce4", - "decimals": 18, - "name": "Atmatrix Token", - "symbol": "ATT" - }, - { - "address": "0xB9e7F8568e08d5659f5D29C4997173d84CdF2607", - "decimals": 18, - "name": "Swarm City Token", - "symbol": "SWT" - }, - { - "address": "0xf26ef5e0545384b7dcc0f297f2674189586830df", - "decimals": 18, - "name": "BSDC", - "symbol": "BSDC" - }, - { - "address": "0x8f3470A7388c05eE4e7AF3d01D8C722b0FF52374", - "decimals": 18, - "name": "Veritas", - "symbol": "VERI" - }, - { - "address": "0xf04a8ac553FceDB5BA99A64799155826C136b0Be", - "decimals": 18, - "name": "FLIXX", - "symbol": "FLIXX" - }, - { - "address": "0x8dd5fbce2f6a956c3022ba3663759011dd51e73e", - "decimals": 18, - "name": "TrueUSD", - "symbol": "TUSD" - }, - { - "address": "0x89cbeac5e8a13f0ebb4c74fadfc69be81a501106", - "decimals": 18, - "name": "DEPO (Depository Network)", - "symbol": "DEPO (Depository Network)" - }, - { - "address": "0xF6B55acBBC49f4524Aa48D19281A9A77c54DE10f", - "decimals": 18, - "name": "Wolk Token", - "symbol": "WOLK" - }, - { - "address": "0x419c4db4b9e25d6db2ad9691ccb832c8d9fda05e", - "decimals": 18, - "name": "Dragon", - "symbol": "DRGN" - }, - { - "address": "0x46b9ad944d1059450da1163511069c718f699d31", - "decimals": 6, - "name": "CREDITS", - "symbol": "CS" - }, - { - "address": "0x8a88f04e0c905054d2f33b26bb3a46d7091a039a", - "decimals": 18, - "name": "IG", - "symbol": "IG" - }, - { - "address": "0x5b8d43ffde4a2982b9a5387cdf21d54ead64ac8d", - "decimals": 18, - "name": "Monaco Estate", - "symbol": "MEST" - }, - { - "address": "0x7627de4b93263a6a7570b8dafa64bae812e5c394", - "decimals": 8, - "name": "NXX", - "symbol": "NXX" - }, - { - "address": "0x85089389C14Bd9c77FC2b8F0c3d1dC3363Bf06Ef", - "decimals": 18, - "name": "Sportify", - "symbol": "SPF" - }, - { - "address": "0x65be44c747988fbf606207698c944df4442efe19", - "decimals": 4, - "name": "Finally Usable Crypto Karma", - "symbol": "FUCK" - }, - { - "address": "0x68d57c9a1C35f63E2c83eE8e49A64e9d70528D25", - "decimals": 18, - "name": "Sirin Labs", - "symbol": "SRN" - }, - { - "address": "0xb3Bd49E28f8F832b8d1E246106991e546c323502", - "decimals": 18, - "name": "GMT", - "symbol": "GMT" - }, - { - "address": "0x56ba2Ee7890461f463F7be02aAC3099f6d5811A8", - "decimals": 18, - "name": "CAT (Blockcat)", - "symbol": "CAT (Blockcat)" - }, - { - "address": "0x999967e2ec8a74b7c8e9db19e039d920b31d39d0", - "decimals": 18, - "name": "TieToken", - "symbol": "TIE" - }, - { - "address": "0x35a69642857083ba2f30bfab735dacc7f0bac969", - "decimals": 18, - "name": "BBN", - "symbol": "BBN" - }, - { - "address": "0xf6cFe53d6FEbaEEA051f400ff5fc14F0cBBDacA1", - "decimals": 18, - "name": "DigiPulse", - "symbol": "DGPT" - }, - { - "address": "0x814e0908b12a99fecf5bc101bb5d0b8b5cdf7d26", - "decimals": 18, - "name": "Measurable Data Token", - "symbol": "MDT" - }, - { - "address": "0xabC1280A0187a2020cC675437aed400185F86Db6", - "decimals": 18, - "name": "SAC", - "symbol": "SAC" - }, - { - "address": "0x9b68bfae21df5a510931a262cecf63f41338f264", - "decimals": 18, - "name": "Decent.Bet", - "symbol": "DBET" - }, - { - "address": "0x9501BFc48897DCEEadf73113EF635d2fF7ee4B97", - "decimals": 18, - "name": "easyMINE Token", - "symbol": "EMT" - }, - { - "address": "0xE40C374d8805b1dD58CDcEFf998A2F6920Cb52FD", - "decimals": 18, - "name": "Purpose", - "symbol": "PRPS" - }, - { - "address": "0xcb5ea3c190d8f82deadf7ce5af855ddbf33e3962", - "decimals": 6, - "name": "Qubitica", - "symbol": "QBIT" - }, - { - "address": "0xa54ddc7b3cce7fc8b1e3fa0256d0db80d2c10970", - "decimals": 18, - "name": "Neverdie", - "symbol": "NDC" - }, - { - "address": "0xbab165df9455aa0f2aed1f2565520b91ddadb4c8", - "decimals": 8, - "name": "EDUCare", - "symbol": "EKT" - }, - { - "address": "0x13f11C9905A08ca76e3e853bE63D4f0944326C72", - "decimals": 18, - "name": "DIVX", - "symbol": "DIVX" - }, - { - "address": "0x336f646f87d9f6bc6ed42dd46e8b3fd9dbd15c22", - "decimals": 18, - "name": "Crystal Clear Token", - "symbol": "CCT" - }, - { - "address": "0xb0D926c1BC3d78064F3e1075D5bD9A24F35Ae6C5", - "decimals": 18, - "name": "Assistive Reality ARX", - "symbol": "ARXT" - }, - { - "address": "0x076C97e1c869072eE22f8c91978C99B4bcB02591", - "decimals": 18, - "name": "CommerceBlock", - "symbol": "CBT" - }, - { - "address": "0x3c75226555FC496168d48B88DF83B95F16771F37", - "decimals": 0, - "name": "Droplex", - "symbol": "DROP (droplex)" - }, - { - "address": "0x4092678e4e78230f46a1534c0fbc8fa39780892b", - "decimals": 18, - "name": "OCoin", - "symbol": "OCN" - }, - { - "address": "0xF433089366899D83a9f26A773D59ec7eCF30355e", - "decimals": 8, - "name": "MetalPay", - "symbol": "MTL" - }, - { - "address": "0x4E84E9e5fb0A972628Cf4568c403167EF1D40431", - "decimals": 18, - "name": "$Fluzcoin", - "symbol": "$FFC" - }, - { - "address": "0x5e6b6d9abad9093fdc861ea1600eba1b355cd940", - "decimals": 18, - "name": "IoT Chain", - "symbol": "ITC" - }, - { - "address": "0x7585F835ae2d522722d2684323a0ba83401f32f5", - "decimals": 18, - "name": "GBT", - "symbol": "GBT" - }, - { - "address": "0x69c4BB240cF05D51eeab6985Bab35527d04a8C64", - "decimals": 8, - "name": "OPEN", - "symbol": "OPEN" - }, - { - "address": "0xBAE235823D7255D9D48635cEd4735227244Cd583", - "decimals": 18, - "name": "Staker", - "symbol": "STR" - }, - { - "address": "0x9972a0f24194447e73a7e8b6cd26a52e02ddfad5", - "decimals": 0, - "name": "ThoreCash", - "symbol": "TCH" - }, - { - "address": "0xea26c4ac16d4a5a106820bc8aee85fd0b7b2b664", - "decimals": 18, - "name": "QuarkChain Token", - "symbol": "QKC" - }, - { - "address": "0x7cF271966F36343Bf0150F25E5364f7961c58201", - "decimals": 0, - "name": "CRYPTODEPOZIT", - "symbol": "DEPO (CRYPTODEPOZIT)" - }, - { - "address": "0x5a84969bb663fb64F6d015DcF9F622Aedc796750", - "decimals": 18, - "name": "ICE", - "symbol": "ICE" - }, - { - "address": "0xc42209accc14029c1012fb5680d95fbd6036e2a0", - "decimals": 18, - "name": "PayPie", - "symbol": "PPP" - }, - { - "address": "0x13f1b7fdfbe1fc66676d56483e21b1ecb40b58e2", - "decimals": 18, - "name": "Accelerator Network", - "symbol": "ACC" - }, - { - "address": "0x5dff89a2caa4d76bc286f74d67bd718eb834da61", - "decimals": 18, - "name": "CryptFillCoin", - "symbol": "CFC" - }, - { - "address": "0x954b890704693af242613edef1b603825afcd708", - "decimals": 0, - "name": "Cardstack Token", - "symbol": "CARD" - }, - { - "address": "0xBEB9eF514a379B997e0798FDcC901Ee474B6D9A1", - "decimals": 18, - "name": "Melonport", - "symbol": "MLN" - }, - { - "address": "0x4d829f8c92a6691c56300d020c9e0db984cfe2ba", - "decimals": 18, - "name": "CoinCrowd", - "symbol": "XCC" - }, - { - "address": "0x16aF5bfb4Ae7E475b9aDC3Bf5Cb2f1E6a50d7940", - "decimals": 8, - "name": "Fanship", - "symbol": "XFS" - }, - { - "address": "0xdd6c68bb32462e01705011a4e2ad1a60740f217f", - "decimals": 15, - "name": "Hubiits", - "symbol": "HBT" - }, - { - "address": "0x44449Fa4d607F807d1eD4a69ad942971728391C8", - "decimals": 18, - "name": "XMED Chain Token", - "symbol": "XMCT" - }, - { - "address": "0xc5bbae50781be1669306b9e001eff57a2957b09d", - "decimals": 5, - "name": "Gifto", - "symbol": "GTO" - }, - { - "address": "0x5136c98a80811c3f46bdda8b5c4555cfd9f812f0", - "decimals": 6, - "name": "indaHash Coin", - "symbol": "IDH" - }, - { - "address": "0x931684139f756C24eC0731E9F74FE50e5548dDeF", - "decimals": 18, - "name": "Urbit Data", - "symbol": "URB" - }, - { - "address": "0xB802b24E0637c2B87D2E8b7784C055BBE921011a", - "decimals": 2, - "name": "EMovieVenture", - "symbol": "EMV" - }, - { - "address": "0xb9bb08ab7e9fa0a1356bd4a39ec0ca267e03b0b3", - "decimals": 18, - "name": "PCHAIN", - "symbol": "PAI" - }, - { - "address": "0xB6eD7644C69416d67B522e20bC294A9a9B405B31", - "decimals": 8, - "name": "0xBitcoin", - "symbol": "0xBTC" - }, - { - "address": "0x5732046A883704404F284Ce41FfADd5b007FD668", - "decimals": 18, - "name": "Bluezelle", - "symbol": "BLZ" - }, - { - "address": "0x12fCd6463E66974cF7bBC24FFC4d40d6bE458283", - "decimals": 8, - "name": "Globitex", - "symbol": "GBX" - }, - { - "address": "0x056017c55aE7AE32d12AeF7C679dF83A85ca75Ff", - "decimals": 18, - "name": "WyvernToken", - "symbol": "WYV" - }, - { - "address": "0x998b3b82bc9dba173990be7afb772788b5acb8bd", - "decimals": 18, - "name": "BANCA", - "symbol": "BANCA" - }, - { - "address": "0x0AfFa06e7Fbe5bC9a764C979aA66E8256A631f02", - "decimals": 6, - "name": "Polybius", - "symbol": "PLBT" - }, - { - "address": "0x558ec3152e2eb2174905cd19aea4e34a23de9ad6", - "decimals": 18, - "name": "Bread", - "symbol": "BRD" - }, - { - "address": "0x533ef0984b2FAA227AcC620C67cce12aA39CD8CD", - "decimals": 8, - "name": "XGM", - "symbol": "XGM" - }, - { - "address": "0xE7775A6e9Bcf904eb39DA2b68c5efb4F9360e08C", - "decimals": 6, - "name": "Token-as-a-Service", - "symbol": "TaaS" - }, - { - "address": "0xE43E2041dc3786e166961eD9484a5539033d10fB", - "decimals": 18, - "name": "DenCity", - "symbol": "DNX" - }, - { - "address": "0x72D32ac1c5E66BfC5b08806271f8eEF915545164", - "decimals": 0, - "name": "CryptoKEE", - "symbol": "KEE" - }, - { - "address": "0xfbd0d1c77b501796a35d86cf91d65d9778eee695", - "decimals": 3, - "name": "Twinkle", - "symbol": "MOVED" - }, - { - "address": "0xff56Cc6b1E6dEd347aA0B7676C85AB0B3D08B0FA", - "decimals": 18, - "name": "Orbs", - "symbol": "ORBS" - }, - { - "address": "0x054c64741dbafdc19784505494029823d89c3b13", - "decimals": 8, - "name": "ETERNAL TOKEN", - "symbol": "XET" - }, - { - "address": "0x737f98ac8ca59f2c68ad658e3c3d8c8963e40a4c", - "decimals": 18, - "name": "Amon", - "symbol": "AMN" - }, - { - "address": "0xfad572db566e5234ac9fc3d570c4edc0050eaa92", - "decimals": 18, - "name": "Bytether", - "symbol": "BTH" - }, - { - "address": "0xb787d4eac8899730bb8c57fc3c998c49c5244ec0", - "decimals": 8, - "name": "CoinPulseToken", - "symbol": "CPEX" - }, - { - "address": "0x5dbac24e98e2a4f43adc0dc82af403fca063ce2c", - "decimals": 18, - "name": "EngagementToken", - "symbol": "EGT" - }, - { - "address": "0xE4c94d45f7Aef7018a5D66f44aF780ec6023378e", - "decimals": 6, - "name": "CryptoCarbon", - "symbol": "CryptoCarbon" - }, - { - "address": "0xe933c0Cd9784414d5F278C114904F5A84b396919", - "decimals": 18, - "name": "WhoHas", - "symbol": "WHO" - }, - { - "address": "0x170b275ced089fffaebfe927f445a350ed9160dc", - "decimals": 8, - "name": "OWNDATA", - "symbol": "OWN" - }, - { - "address": "0xf41e5fbc2f6aac200dd8619e121ce1f05d150077", - "decimals": 18, - "name": "CryCash", - "symbol": "CRC" - }, - { - "address": "0x3edd235c3e840c1f29286b2e39370a255c7b6fdb", - "decimals": 8, - "name": "CMBToken", - "symbol": "CMBT" - }, - { - "address": "0xc520F3Ac303a107D8F4B08b326B6ea66A4f961cd", - "decimals": 18, - "name": "LG", - "symbol": "LG" - }, - { - "address": "0x2baac9330cf9ac479d819195794d79ad0c7616e3", - "decimals": 18, - "name": "AdBank", - "symbol": "ADB" - }, - { - "address": "0x9720b467a710382A232a32F540bDCed7d662a10B", - "decimals": 18, - "name": "Vezt", - "symbol": "VZT" - }, - { - "address": "0xbbFF862d906E348E9946Bfb2132ecB157Da3D4b4", - "decimals": 18, - "name": "Sharder", - "symbol": "SS" - }, - { - "address": "0x4bbbc57af270138ef2ff2c50dbfad684e9e0e604", - "decimals": 18, - "name": "WABnetwork", - "symbol": "WAB" - }, - { - "address": "0x05aaaa829afa407d83315cded1d45eb16025910c", - "decimals": 18, - "name": "SP8DE Token", - "symbol": "SPX" - }, - { - "address": "0xf4faea455575354d2699bc209b0a65ca99f69982", - "decimals": 18, - "name": "No BS Crypto", - "symbol": "NOBS" - }, - { - "address": "0x9B70740e708a083C6fF38Df52297020f5DfAa5EE", - "decimals": 10, - "name": "DaneelToken", - "symbol": "DAN" - }, - { - "address": "0xf8e386EDa857484f5a12e4B5DAa9984E06E73705", - "decimals": 18, - "name": "Indorse", - "symbol": "IND" - }, - { - "address": "0x943ed852dadb5c3938ecdc6883718df8142de4c8", - "decimals": 18, - "name": "FTI", - "symbol": "FTI" - }, - { - "address": "0x818Fc6C2Ec5986bc6E2CBf00939d90556aB12ce5", - "decimals": 18, - "name": "Kin Foundation", - "symbol": "KIN" - }, - { - "address": "0x814cafd4782d2e728170fda68257983f03321c58", - "decimals": 0, - "name": "IDEA Token", - "symbol": "IDEA" - }, - { - "address": "0x14C926F2290044B647e1Bf2072e67B495eff1905", - "decimals": 18, - "name": "Bethereum", - "symbol": "BETHER" - }, - { - "address": "0x26E75307Fc0C021472fEb8F727839531F112f317", - "decimals": 18, - "name": "CRYPTO20", - "symbol": "C20" - }, - { - "address": "0xcB3F902bf97626391bF8bA87264bbC3DC13469be", - "decimals": 18, - "name": "The Real Coin", - "symbol": "TRC" - }, - { - "address": "0xD0a4b8946Cb52f0661273bfbC6fD0E0C75Fc6433", - "decimals": 18, - "name": "Storm Token", - "symbol": "STORM" - }, - { - "address": "0xca2796f9f61dc7b238aab043971e49c6164df375", - "decimals": 18, - "name": "YGGDRASH", - "symbol": "YEED" - }, - { - "address": "0xb62132e35a6c13ee1ee0f84dc5d40bad8d815206", - "decimals": 18, - "name": "NEXO", - "symbol": "NEXO" - }, - { - "address": "0xb6EE9668771a79be7967ee29a63D4184F8097143", - "decimals": 18, - "name": "CargoX", - "symbol": "CXO" - }, - { - "address": "0x55c2A0C171D920843560594dE3d6EEcC09eFc098", - "decimals": 4, - "name": "PEX-Token", - "symbol": "PEXT" - }, - { - "address": "0x58ca3065c0f24c7c96aee8d6056b5b5decf9c2f8", - "decimals": 10, - "name": "GXC", - "symbol": "GXC" - }, - { - "address": "0xecd570bBf74761b960Fa04Cc10fe2c4e86FfDA36", - "decimals": 8, - "name": "StashPay", - "symbol": "STP" - }, - { - "address": "0xD8912C10681D8B21Fd3742244f44658dBA12264E", - "decimals": 18, - "name": "Plutus", - "symbol": "PLU" - }, - { - "address": "0x0b1724cc9fda0186911ef6a75949e9c0d3f0f2f3", - "decimals": 8, - "name": "Etheriya", - "symbol": "RIYA" - }, - { - "address": "0x83eEA00D838f92dEC4D1475697B9f4D3537b56E3", - "decimals": 8, - "name": "Voise", - "symbol": "VOISE" - }, - { - "address": "0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C", - "decimals": 18, - "name": "Bancor", - "symbol": "BNT" - }, - { - "address": "0x624d520bab2e4ad83935fa503fb130614374e850", - "decimals": 4, - "name": "smartshare token", - "symbol": "SSP" - }, - { - "address": "0x4ca74185532dc1789527194e5b9c866dd33f4e82", - "decimals": 18, - "name": "SenSatorI Token", - "symbol": "SenSatorI" - }, - { - "address": "0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7", - "decimals": 0, - "name": "Unicorn", - "symbol": "Unicorn" - }, - { - "address": "0x3543638eD4a9006E4840B105944271Bcea15605D", - "decimals": 18, - "name": "U Networks", - "symbol": "UUU" - }, - { - "address": "0x76960dccd5a1fe799f7c29be9f19ceb4627aeb2f", - "decimals": 18, - "name": "Red Community Token", - "symbol": "RED" - }, - { - "address": "0x621d78f2ef2fd937bfca696cabaf9a779f59b3ed", - "decimals": 2, - "name": "DCorp", - "symbol": "DRP" - }, - { - "address": "0x8e5afc69f6227a3ad75ed346c8723bc62ce97123", - "decimals": 4, - "name": "UMKA", - "symbol": "UMKA" - }, - { - "address": "0xb7cb1c96db6b22b0d3d9536e0108d062bd488f74", - "decimals": 18, - "name": "Walton", - "symbol": "WTC" - }, - { - "address": "0xe6f74dcfa0e20883008d8c16b6d9a329189d0c30", - "decimals": 2, - "name": "FTC", - "symbol": "FTC" - }, - { - "address": "0x68AA3F232dA9bdC2343465545794ef3eEa5209BD", - "decimals": 18, - "name": "Mothership", - "symbol": "MSP" - }, - { - "address": "0x33c623a2baafeb8d15dfaf3ce44095efec83d72c", - "decimals": 18, - "name": "SGPay", - "symbol": "SGP" - }, - { - "address": "0xD850942eF8811f2A866692A623011bDE52a462C1", - "decimals": 18, - "name": "Vechain", - "symbol": "VEN" - }, - { - "address": "0x1bcbc54166f6ba149934870b60506199b6c9db6d", - "decimals": 10, - "name": "ROC", - "symbol": "ROC" - }, - { - "address": "0x607F4C5BB672230e8672085532f7e901544a7375", - "decimals": 9, - "name": "IEx.ec", - "symbol": "RLC" - }, - { - "address": "0xdd94De9cFE063577051A5eb7465D08317d8808B6", - "decimals": 0, - "name": "Devcon2 Token", - "symbol": "Devcon2 Token" - }, - { - "address": "0xcb97e65f07da24d46bcdd078ebebd7c6e6e3d750", - "decimals": 8, - "name": "Bytom", - "symbol": "BTM" - }, - { - "address": "0x16B0E62aC13a2fAeD36D18bce2356d25Ab3CfAD3", - "decimals": 18, - "name": "Bitcoin Boutique", - "symbol": "BTQ" - }, - { - "address": "0x82b0e50478eeafde392d45d1259ed1071b6fda81", - "decimals": 18, - "name": "DNA", - "symbol": "DNA" - }, - { - "address": "0xFA456Cf55250A839088b27EE32A424d7DAcB54Ff", - "decimals": 18, - "name": "Blocktrade.com", - "symbol": "BTT" - }, - { - "address": "0x840fe75abfadc0f2d54037829571b2782e919ce4", - "decimals": 18, - "name": "Webcoin", - "symbol": "WEB" - }, - { - "address": "0x38c6a68304cdefb9bec48bbfaaba5c5b47818bb2", - "decimals": 18, - "name": "HPBCoin", - "symbol": "HPB" - }, - { - "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", - "decimals": 6, - "name": "USD//Coin", - "symbol": "USDC" - }, - { - "address": "0xbfbe5332f172d77811bc6c272844f3e54a7b23bb", - "decimals": 18, - "name": "WemarkToken", - "symbol": "WMK" - }, - { - "address": "0x12FEF5e57bF45873Cd9B62E9DBd7BFb99e32D73e", - "decimals": 18, - "name": "CFI", - "symbol": "CFI" - }, - { - "address": "0x0996bfb5d057faa237640e2506be7b4f9c46de0b", - "decimals": 18, - "name": "Render Token", - "symbol": "RNDR" - }, - { - "address": "0x9aeFBE0b3C3ba9Eab262CB9856E8157AB7648e09", - "decimals": 18, - "name": "Flair Coin", - "symbol": "FLR" - }, - { - "address": "0xC0Eb85285d83217CD7c891702bcbC0FC401E2D9D", - "decimals": 8, - "name": "Hive Project", - "symbol": "HVN" - }, - { - "address": "0x96A65609a7B84E8842732DEB08f56C3E21aC6f8a", - "decimals": 18, - "name": "Centra", - "symbol": "CTR" - }, - { - "address": "0x2467aa6b5a2351416fd4c3def8462d841feeecec", - "decimals": 18, - "name": "qiibeeToken", - "symbol": "QBX" - }, - { - "address": "0xB24754bE79281553dc1adC160ddF5Cd9b74361a4", - "decimals": 9, - "name": "XRL", - "symbol": "XRL" - }, - { - "address": "0x2eb86e8fc520e0f6bb5d9af08f924fe70558ab89", - "decimals": 8, - "name": "Logarithm", - "symbol": "LGR" - }, - { - "address": "0x59061b6f26BB4A9cE5828A19d35CFD5A4B80F056", - "decimals": 8, - "name": "Legends", - "symbol": "LGD" - }, - { - "address": "0xf660ca1e228e7be1fa8b4f5583145e31147fb577", - "decimals": 18, - "name": "DICE Money Dicet", - "symbol": "CET" - }, - { - "address": "0x629aEe55ed49581C33ab27f9403F7992A289ffd5", - "decimals": 18, - "name": "StrikeCoin Token", - "symbol": "STC" - }, - { - "address": "0xfc2c4d8f95002c14ed0a7aa65102cac9e5953b5e", - "decimals": 18, - "name": "Rublix", - "symbol": "RBLX" - }, - { - "address": "0xa9d2927d3a04309e008b6af6e2e282ae2952e7fd", - "decimals": 18, - "name": "Zipper", - "symbol": "ZIP" - }, - { - "address": "0xd4fa1460F537bb9085d22C7bcCB5DD450Ef28e3a", - "decimals": 8, - "name": "Populous", - "symbol": "PPT" - }, - { - "address": "0x5e888B83B7287EED4fB7DA7b7d0A0D4c735d94b3", - "decimals": 18, - "name": "OAK", - "symbol": "OAK" - }, - { - "address": "0x97AEB5066E1A590e868b511457BEb6FE99d329F5", - "decimals": 18, - "name": "Atonomi", - "symbol": "ATMI" - }, - { - "address": "0x315ce59fafd3a8d562b7ec1c8542382d2710b06c", - "decimals": 18, - "name": "CacaoShares", - "symbol": "CCS" - }, - { - "address": "0x588047365df5ba589f923604aac23d673555c623", - "decimals": 18, - "name": "NaviToken", - "symbol": "NAVI" - }, - { - "address": "0xd82Df0ABD3f51425Eb15ef7580fDA55727875f14", - "decimals": 18, - "name": "DAV Token", - "symbol": "DAV" - }, - { - "address": "0xfd8971d5e8e1740ce2d0a84095fca4de729d0c16", - "decimals": 18, - "name": "Zilla", - "symbol": "ZLA" - }, - { - "address": "0xd234bf2410a0009df9c3c63b610c09738f18ccd7", - "decimals": 8, - "name": "DTR", - "symbol": "DTR" - }, - { - "address": "0x27054b13b1B798B345b591a4d22e6562d47eA75a", - "decimals": 4, - "name": "Airswap", - "symbol": "AST" - }, - { - "address": "0xe5f166c0d8872b68790061317bb6cca04582c912", - "decimals": 18, - "name": "TE-FOOD", - "symbol": "TFD" - }, - { - "address": "0xEF68e7C694F40c8202821eDF525dE3782458639f", - "decimals": 18, - "name": "LRC", - "symbol": "LRC" - }, - { - "address": "0xB70835D7822eBB9426B56543E391846C107bd32C", - "decimals": 18, - "name": "GTC Token", - "symbol": "GTC" - }, - { - "address": "0xc27a2f05fa577a83ba0fdb4c38443c0718356501", - "decimals": 18, - "name": "Lamden Tau", - "symbol": "TAU" - }, - { - "address": "0x8727c112c712c4a03371ac87a74dd6ab104af768", - "decimals": 18, - "name": "JET", - "symbol": "JET" - }, - { - "address": "0xbb49a51ee5a66ca3a8cbe529379ba44ba67e6771", - "decimals": 18, - "name": "Cryptosolartech", - "symbol": "CST" - }, - { - "address": "0x48f775efbe4f5ece6e0df2f7b5932df56823b990", - "decimals": 0, - "name": "Revian", - "symbol": "R" - }, - { - "address": "0x378903a03fb2c3ac76bb52773e3ce11340377a32", - "decimals": 18, - "name": "Clipper Coin Capital", - "symbol": "CCCX" - }, - { - "address": "0xe2e6d4be086c6938b53b22144855eef674281639", - "decimals": 18, - "name": "Link Platform", - "symbol": "LINK Platform" - }, - { - "address": "0x31f3d9d1bece0c033ff78fa6da60a6048f3e13c5", - "decimals": 18, - "name": "EBCoin", - "symbol": "EBC" - }, - { - "address": "0xbdc5bac39dbe132b1e030e898ae3830017d7d969", - "decimals": 18, - "name": "SNOV", - "symbol": "SNOV" - }, - { - "address": "0xfef3884b603c33ef8ed4183346e093a173c94da6", - "decimals": 18, - "name": "MetaMorph", - "symbol": "METM" - }, - { - "address": "0xF3b3Cad094B89392fcE5faFD40bC03b80F2Bc624", - "decimals": 18, - "name": "PATRON", - "symbol": "PAT" - }, - { - "address": "0x83cee9e086a77e492ee0bb93c2b0437ad6fdeccc", - "decimals": 18, - "name": "Goldmint MNT Prelaunch Token", - "symbol": "MNTP" - }, - { - "address": "0x2C3C1F05187dBa7A5f2Dd47Dca57281C4d4F183F", - "decimals": 18, - "name": "TiiQu's Q Token", - "symbol": "QTQ" - }, - { - "address": "0x9002D4485b7594e3E850F0a206713B305113f69e", - "decimals": 12, - "name": "Hawala Today", - "symbol": "HAT" - }, - { - "address": "0xbf18f246b9301f231e9561b35a3879769bb46375", - "decimals": 18, - "name": "Token CARE", - "symbol": "CARE" - }, - { - "address": "0x491c9a23db85623eed455a8efdd6aba9b911c5df", - "decimals": 18, - "name": "HeroNodeToken", - "symbol": "HER" - }, - { - "address": "0x672a1AD4f667FB18A333Af13667aa0Af1F5b5bDD", - "decimals": 18, - "name": "CRED", - "symbol": "CRED" - }, - { - "address": "0x5ca9a71b1d01849c0a95490cc00559717fcf0d1d", - "decimals": 18, - "name": "aeternity", - "symbol": "AE" - }, - { - "address": "0xb4efd85c19999d84251304bda99e90b92300bd93", - "decimals": 18, - "name": "Rocket Pool", - "symbol": "RPL" - }, - { - "address": "0x41875c2332b0877cdfaa699b641402b7d4642c32", - "decimals": 8, - "name": "FUTURAX", - "symbol": "FTXT" - }, - { - "address": "0x0F5D2fB29fb7d3CFeE444a200298f468908cC942", - "decimals": 18, - "name": "Decentraland MANA", - "symbol": "MANA" - }, - { - "address": "0xD3C00772B24D997A812249ca637a921e81357701", - "decimals": 18, - "name": "WILD Token", - "symbol": "WILD" - }, - { - "address": "0x809826cceab68c387726af962713b64cb5cb3cca", - "decimals": 18, - "name": "NucleusVision", - "symbol": "nCash" - }, - { - "address": "0xAc709FcB44a43c35F0DA4e3163b117A17F3770f5", - "decimals": 18, - "name": "ARC", - "symbol": "ARC" - }, - { - "address": "0xB4b1D2C217EC0776584CE08D3DD98F90EDedA44b", - "decimals": 18, - "name": "Climatecoin", - "symbol": "CO2" - }, - { - "address": "0xc528c28FEC0A90C083328BC45f587eE215760A0F", - "decimals": 18, - "name": "Endor Protocol Token", - "symbol": "EDR" - }, - { - "address": "0x9a005c9a89bd72a4bd27721e7a09a3c11d2b03c4", - "decimals": 18, - "name": "Starter Coin", - "symbol": "STAC" - }, - { - "address": "0x1c4481750daa5Ff521A2a7490d9981eD46465Dbd", - "decimals": 18, - "name": "BCPT", - "symbol": "BCPT" - }, - { - "address": "0x23ae3c5b39b12f0693e05435eeaa1e51d8c61530", - "decimals": 18, - "name": "AIGang", - "symbol": "APT" - }, - { - "address": "0xA40106134c5bF4c41411554e6db99B95A15ed9d8", - "decimals": 18, - "name": "Rocket Token", - "symbol": "ROCK" - }, - { - "address": "0x0cf0ee63788a0849fe5297f3407f701e122cc023", - "decimals": 18, - "name": "DATACoin", - "symbol": "DATACoin" - }, - { - "address": "0xa823e6722006afe99e91c30ff5295052fe6b8e32", - "decimals": 18, - "name": "NEU Fund", - "symbol": "NEU" - }, - { - "address": "0x57ad67acf9bf015e4820fbd66ea1a21bed8852ec", - "decimals": 18, - "name": "Lympo", - "symbol": "LYM" - }, - { - "address": "0xe25b0bba01dc5630312b6a21927e578061a13f55", - "decimals": 18, - "name": "ShipChain", - "symbol": "SHIP" - }, - { - "address": "0x05D412CE18F24040bB3Fa45CF2C69e506586D8e8", - "decimals": 18, - "name": "Mainstream For The Underground", - "symbol": "MFTU" - }, - { - "address": "0xf67451dc8421f0e0afeb52faa8101034ed081ed9", - "decimals": 8, - "name": "Gambit", - "symbol": "GAM" - }, - { - "address": "0xdb8646f5b487b5dd979fac618350e85018f557d4", - "decimals": 18, - "name": "Bitcoin Token", - "symbol": "BTK" - }, - { - "address": "0x6F6DEb5db0C4994A8283A01D6CFeEB27Fc3bBe9C", - "decimals": 0, - "name": "Smart Billions", - "symbol": "SMART" - }, - { - "address": "0x4cd988afbad37289baaf53c13e98e2bd46aaea8c", - "decimals": 18, - "name": "BihuKey", - "symbol": "KEY" - }, - { - "address": "0xbe428c3867f05dea2a89fc76a102b544eac7f772", - "decimals": 18, - "name": "CyberVeinToken", - "symbol": "CVT" - }, - { - "address": "0xd01db73e047855efb414e6202098c4be4cd2423b", - "decimals": 18, - "name": "Uquid Coin", - "symbol": "UQC" - }, - { - "address": "0xff603f43946a3a28df5e6a73172555d8c8b02386", - "decimals": 18, - "name": "OneRoot Network", - "symbol": "RNT" - }, - { - "address": "0x708876f486e448ee89eb332bfbc8e593553058b9", - "decimals": 18, - "name": "GAVEL", - "symbol": "GAVEL" - }, - { - "address": "0x8d80de8A78198396329dfA769aD54d24bF90E7aa", - "decimals": 18, - "name": "Nami ICO", - "symbol": "NAC" - }, - { - "address": "0x78B7FADA55A64dD895D8c8c35779DD8b67fA8a05", - "decimals": 18, - "name": "ATL", - "symbol": "ATL" - }, - { - "address": "0x595832f8fc6bf59c85c527fec3740a1b7a361269", - "decimals": 6, - "name": "PowerLedger", - "symbol": "POWR" - }, - { - "address": "0xabbbb6447b68ffd6141da77c18c7b5876ed6c5ab", - "decimals": 18, - "name": "DATx", - "symbol": "DATx" - }, - { - "address": "0x1b9743f556d65e757c4c650b4555baf354cb8bd3", - "decimals": 12, - "name": "Ethbits", - "symbol": "ETBS" - }, - { - "address": "0x499a6b77bc25c26bcf8265e2102b1b3dd1617024", - "decimals": 18, - "name": "Bitether", - "symbol": "BTR" - }, - { - "address": "0x8b353021189375591723e7384262f45709a3c3dc", - "decimals": 18, - "name": "Tomocoin", - "symbol": "TOMO" - }, - { - "address": "0x2e071D2966Aa7D8dECB1005885bA1977D6038A65", - "decimals": 16, - "name": "Etheroll", - "symbol": "DICE" - }, - { - "address": "0x3dc9a42fa7afe57be03c58fd7f4411b1e466c508", - "decimals": 18, - "name": "CryptoLiveLeak", - "symbol": "CLL" - }, - { - "address": "0x9e46a38f5daabe8683e10793b06749eef7d733d1", - "decimals": 18, - "name": "Nectar", - "symbol": "NCT" - }, - { - "address": "0x5B0751713b2527d7f002c0c4e2a37e1219610A6B", - "decimals": 18, - "name": "HORSE", - "symbol": "HORSE" - }, - { - "address": "0x27dce1ec4d3f72c3e457cc50354f1f975ddef488", - "decimals": 8, - "name": "AirToken", - "symbol": "AIR" - }, - { - "address": "0x6a0a97e47d15aad1d132a1ac79a480e3f2079063", - "decimals": 18, - "name": "WePower", - "symbol": "WCT" - }, - { - "address": "0x71e8d74ff1c923e369d0e70dfb09866629c4dd35", - "decimals": 18, - "name": "WorkCoin", - "symbol": "WRK" - }, - { - "address": "0x88a3e4f35d64aad41a6d4030ac9afe4356cb84fa", - "decimals": 18, - "name": "Presearch", - "symbol": "PRE" - }, - { - "address": "0x84f7c44b6fed1080f647e354d552595be2cc602f", - "decimals": 18, - "name": "Bigboom", - "symbol": "BBO" - }, - { - "address": "0x69beab403438253f13b6e92db91f7fb849258263", - "decimals": 18, - "name": "NeuroToken", - "symbol": "NTK" - }, - { - "address": "0xEF2E9966eb61BB494E5375d5Df8d67B7dB8A780D", - "decimals": 0, - "name": "SHIT", - "symbol": "SHIT" - }, - { - "address": "0xFFAA5ffc455d9131f8A2713A741fD1960330508B", - "decimals": 18, - "name": "QRG", - "symbol": "QRG" - }, - { - "address": "0x9E77D5a1251b6F7D456722A6eaC6D2d5980bd891", - "decimals": 8, - "name": "BRAT", - "symbol": "BRAT" - }, - { - "address": "0x5512e1d6a7be424b4323126b4f9e86d023f95764", - "decimals": 18, - "name": "PornTokenV2", - "symbol": "PTWO" - }, - { - "address": "0x5dbe296f97b23c4a6aa6183d73e574d02ba5c719", - "decimals": 18, - "name": "LUCToken", - "symbol": "LUC" - }, - { - "address": "0xb53a96bcbdd9cf78dff20bab6c2be7baec8f00f8", - "decimals": 8, - "name": "ETH GAS", - "symbol": "eGAS" - }, - { - "address": "0xd2fa8f92ea72abb35dbd6deca57173d22db2ba49", - "decimals": 18, - "name": "Origami Network", - "symbol": "ORI" - }, - { - "address": "0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e265", - "decimals": 8, - "name": "NANJCOIN", - "symbol": "NANJ" - }, - { - "address": "0x3abdff32f76b42e7635bdb7e425f0231a5f3ab17", - "decimals": 18, - "name": "ConnectJob", - "symbol": "CJT" - }, - { - "address": "0xe2492f8d2a2618d8709ca99b1d8d75713bd84089", - "decimals": 18, - "name": "HeartBout", - "symbol": "HB" - }, - { - "address": "0xef6b4ce8c9bc83744fbcde2657b32ec18790458a", - "decimals": 0, - "name": "Pour Coin", - "symbol": "PUC" - }, - { - "address": "0xa9240fBCAC1F0b9A6aDfB04a53c8E3B0cC1D1444", - "decimals": 18, - "name": "ethereumhigh ", - "symbol": "HIG" - }, - { - "address": "0x16f812be7fff02caf662b85d5d58a5da6572d4df", - "decimals": 8, - "name": "United Traders Token", - "symbol": "UTT" - }, - { - "address": "0xb683D83a532e2Cb7DFa5275eED3698436371cc9f", - "decimals": 18, - "name": "BTU Protocol", - "symbol": "BTU" - }, - { - "address": "0x29d75277ac7f0335b2165d0895e8725cbf658d73", - "decimals": 8, - "name": "BitDice", - "symbol": "CSNO" - }, - { - "address": "0x8eFFd494eB698cc399AF6231fCcd39E08fd20B15", - "decimals": 0, - "name": "PIX", - "symbol": "PIX" - }, - { - "address": "0x82BD526bDB718C6d4DD2291Ed013A5186cAE2DCa", - "decimals": 18, - "name": "Duty of Care Token", - "symbol": "VDOC" - }, - { - "address": "0xce5c603c78d047ef43032e96b5b785324f753a4f", - "decimals": 2, - "name": "E4ROW", - "symbol": "E4ROW" - }, - { - "address": "0x0c91b015aba6f7b4738dcd36e7410138b29adc29", - "decimals": 8, - "name": "CoinOil", - "symbol": "COIL" - }, - { - "address": "0x2cb101d7da0ebaa57d3f2fef46d7ffb7bb64592b", - "decimals": 0, - "name": "Carbon Dollar X", - "symbol": "CDX" - }, - { - "address": "0x0d88ed6e74bbfd96b831231638b66c05571e824f", - "decimals": 18, - "name": "AVT", - "symbol": "AVT" - }, - { - "address": "0x9cda8a60dd5afa156c95bd974428d91a0812e054", - "decimals": 18, - "name": "TaTaTu", - "symbol": "TTU" - }, - { - "address": "0x687174f8c49ceb7729d925c3a961507ea4ac7b28", - "decimals": 18, - "name": "GAT", - "symbol": "GAT" - }, - { - "address": "0xdA2C424Fc98c741c2d4ef2f42897CEfed897CA75", - "decimals": 9, - "name": "Benefits Coin", - "symbol": "BNFT" - }, - { - "address": "0x900b4449236a7bb26b286601dd14d2bde7a6ac6c", - "decimals": 8, - "name": "EARTH Token", - "symbol": "EARTH" - }, - { - "address": "0xff18dbc487b4c2e3222d115952babfda8ba52f5f", - "decimals": 18, - "name": "LIFE", - "symbol": "LIFE" - }, - { - "address": "0x7d4b8Cce0591C9044a22ee543533b72E976E36C3", - "decimals": 18, - "name": "Change Bank", - "symbol": "CAG" - }, - { - "address": "0x6B87999bE87358065bBdE41e8a0fe0B7b1cd2514", - "decimals": 18, - "name": "TeslaWatt", - "symbol": "TSW" - }, - { - "address": "0xb2f7eb1f2c37645be61d73953035360e768d81e6", - "decimals": 18, - "name": "Cobinhood Token", - "symbol": "COB" - }, - { - "address": "0x705EE96c1c160842C92c1aeCfCFfccc9C412e3D9", - "decimals": 18, - "name": "ClearPoll", - "symbol": "POLL" - }, - { - "address": "0x3fd8f39a962efda04956981c31ab89fab5fb8bc8", - "decimals": 18, - "name": "Rotharium", - "symbol": "RTH" - }, - { - "address": "0xbf52f2ab39e26e0951d2a02b49b7702abe30406a", - "decimals": 18, - "name": "ODEM Token", - "symbol": "ODE" - }, - { - "address": "0xbd4b60a138b3fce3584ea01f50c0908c18f9677a", - "decimals": 8, - "name": "FinTab", - "symbol": "FNTB" - }, - { - "address": "0xAB6CF87a50F17d7F5E1FEaf81B6fE9FfBe8EBF84", - "decimals": 18, - "name": "MRV", - "symbol": "MRV" - }, - { - "address": "0xdd974D5C2e2928deA5F71b9825b8b646686BD200", - "decimals": 18, - "name": "Kyber Network", - "symbol": "KNC" - }, - { - "address": "0x8810C63470d38639954c6B41AaC545848C46484a", - "decimals": 18, - "name": "Aditus", - "symbol": "ADI" - }, - { - "address": "0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3", - "decimals": 18, - "name": "FLIP Token", - "symbol": "FLP" - }, - { - "address": "0x83984d6142934bb535793a82adb0a46ef0f66b6d", - "decimals": 4, - "name": "REMME", - "symbol": "REM" - }, - { - "address": "0x8Ae56a6850a7cbeaC3c3Ab2cB311e7620167eAC8", - "decimals": 18, - "name": "PEG Network Token", - "symbol": "PEG" - }, - { - "address": "0x408e41876cCCDC0F92210600ef50372656052a38", - "decimals": 18, - "name": "Republic Protocol", - "symbol": "REN" - }, - { - "address": "0x05c7065d644096a4e4c3fe24af86e36de021074b", - "decimals": 18, - "name": "LendConnect", - "symbol": "LCT" - }, - { - "address": "0x168296bb09e24a88805cb9c33356536b980d3fc5", - "decimals": 8, - "name": "RHOC", - "symbol": "RHOC" - }, - { - "address": "0xbdcfbf5c4d91abc0bc9709c7286d00063c0e6f22", - "decimals": 2, - "name": "GUESS", - "symbol": "GUESS" - }, - { - "address": "0xdf1338FbAfe7aF1789151627B886781ba556eF9a", - "decimals": 18, - "name": "Kuende Token", - "symbol": "KUE" - }, - { - "address": "0x14F37B574242D366558dB61f3335289a5035c506", - "decimals": 3, - "name": "HKG", - "symbol": "HKG" - }, - { - "address": "0x1f41e42d0a9e3c0dd3ba15b527342783b43200a9", - "decimals": 0, - "name": "BCAP", - "symbol": "BCAP" - }, - { - "address": "0xEc32A9725C59855d841ba7d8D9c99c84ff754688", - "decimals": 18, - "name": "Meditel", - "symbol": "TEL" - }, - { - "address": "0x33f90dee07c6e8b9682dd20f73e6c358b2ed0f03", - "decimals": 0, - "name": "Trident Group", - "symbol": "TRDT" - }, - { - "address": "0xcb5a05bef3257613e984c17dbcf039952b6d883f", - "decimals": 8, - "name": "Sugar Exchange", - "symbol": "SGR" - }, - { - "address": "0x4CF488387F035FF08c371515562CBa712f9015d4", - "decimals": 18, - "name": "WePower Token", - "symbol": "WPR" - }, - { - "address": "0xaeC2E87E0A235266D9C5ADc9DEb4b2E29b54D009", - "decimals": 0, - "name": "SingularDTV", - "symbol": "SNGLS" - }, - { - "address": "0x888666CA69E0f178DED6D75b5726Cee99A87D698", - "decimals": 18, - "name": "ICN", - "symbol": "ICN" - }, - { - "address": "0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b", - "decimals": 8, - "name": "Funfair", - "symbol": "FUN" - }, - { - "address": "0x4993CB95c7443bdC06155c5f5688Be9D8f6999a5", - "decimals": 18, - "name": "ROUND", - "symbol": "ROUND" - }, - { - "address": "0x44197a4c44d6a059297caf6be4f7e172bd56caaf", - "decimals": 8, - "name": "ELTCOIN", - "symbol": "ELTCOIN" - }, - { - "address": "0x40395044ac3c0c57051906da938b54bd6557f212", - "decimals": 8, - "name": "MGO", - "symbol": "MGO" - }, - { - "address": "0x954b5de09a55e59755acbda29e1eb74a45d30175", - "decimals": 18, - "name": "Fluz Fluz Global", - "symbol": "FLUZ" - }, - { - "address": "0xda80b20038bdf968c7307bb5907a469482cf6251", - "decimals": 8, - "name": "BrokerNekoNetwork", - "symbol": "BNN" - }, - { - "address": "0xdA6cb58A0D0C01610a29c5A65c303e13e885887C", - "decimals": 18, - "name": "carVertical", - "symbol": "cV" - }, - { - "address": "0x6beb418fc6e1958204ac8baddcf109b8e9694966", - "decimals": 18, - "name": "Linker Coin", - "symbol": "LNC-Linker Coin" - }, - { - "address": "0x5d4abc77b8405ad177d8ac6682d584ecbfd46cec", - "decimals": 18, - "name": "Primas Token", - "symbol": "PST" - }, - { - "address": "0x5BC7e5f0Ab8b2E10D2D0a3F21739FCe62459aeF3", - "decimals": 18, - "name": "Hut34 Entropy Token", - "symbol": "ENTRP" - }, - { - "address": "0x28dee01d53fed0edf5f6e310bf8ef9311513ae40", - "decimals": 18, - "name": "BlitzPredict", - "symbol": "XBP" - }, - { - "address": "0x4F4f0Db4de903B88f2B1a2847971E231D54F8fd3", - "decimals": 8, - "name": "Geens NPO", - "symbol": "GEE" - }, - { - "address": "0x9541FD8B9b5FA97381783783CeBF2F5fA793C262", - "decimals": 8, - "name": "KaizenCoin", - "symbol": "KZN" - }, - { - "address": "0x509A38b7a1cC0dcd83Aa9d06214663D9eC7c7F4a", - "decimals": 18, - "name": "BlocksquareToken", - "symbol": "BST" - }, - { - "address": "0x8f0921f30555624143d427b340b1156914882c10", - "decimals": 18, - "name": "Flyp.me", - "symbol": "FYP" - }, - { - "address": "0x1844b21593262668b7248d0f57a220caaba46ab9", - "decimals": 18, - "name": "Oyster Pearl", - "symbol": "PRL" - }, - { - "address": "0xf85fEea2FdD81d51177F6b8F35F0e6734Ce45F5F", - "decimals": 18, - "name": "CyberMiles Token", - "symbol": "CMT" - }, - { - "address": "0x16662f73df3e79e54c6c5938b4313f92c524c120", - "decimals": 18, - "name": "IIC", - "symbol": "IIC" - }, - { - "address": "0xdd007278b667f6bef52fd0a4c23604aa1f96039a", - "decimals": 8, - "name": "RiptideCoin", - "symbol": "RIPT" - }, - { - "address": "0x949bed886c739f1a3273629b3320db0c5024c719", - "decimals": 9, - "name": "AMIS", - "symbol": "AMIS" - }, - { - "address": "0x2C974B2d0BA1716E644c1FC59982a89DDD2fF724", - "decimals": 18, - "name": "VIB", - "symbol": "VIB" - }, - { - "address": "0xE2FB6529EF566a080e6d23dE0bd351311087D567", - "decimals": 18, - "name": "Covesting", - "symbol": "COV" - }, - { - "address": "0x26db5439f651caf491a87d48799da81f191bdb6b", - "decimals": 8, - "name": "CashBetCoin", - "symbol": "CBC" - }, - { - "address": "0xF4c07b1865bC326A3c01339492Ca7538FD038Cc0", - "decimals": 4, - "name": "Primalbase Token (PBT)", - "symbol": "PBT" - }, - { - "address": "0x622dFfCc4e83C64ba959530A5a5580687a57581b", - "decimals": 18, - "name": "CUBE", - "symbol": "AUTO" - }, - { - "address": "0x138A8752093F4f9a79AaeDF48d4B9248fab93c9C", - "decimals": 18, - "name": "Musiconomi", - "symbol": "MCI" - }, - { - "address": "0xE50365f5D679CB98a1dd62D6F6e58e59321BcdDf", - "decimals": 18, - "name": "LATOKEN", - "symbol": "LA" - }, - { - "address": "0x123ab195dd38b1b40510d467a6a359b201af056f", - "decimals": 8, - "name": "LGO", - "symbol": "LGO" - }, - { - "address": "0x190e569bE071F40c704e15825F285481CB74B6cC", - "decimals": 12, - "name": "FAM", - "symbol": "FAM" - }, - { - "address": "0x4DF812F6064def1e5e029f1ca858777CC98D2D81", - "decimals": 8, - "name": "Xaurum", - "symbol": "XAUR" - }, - { - "address": "0x1b793e49237758dbd8b752afc9eb4b329d5da016", - "decimals": 18, - "name": "ViteToken", - "symbol": "VITE" - }, - { - "address": "0x4a42d2c580f83dce404acad18dab26db11a1750e", - "decimals": 18, - "name": "Relex", - "symbol": "RLX" - }, - { - "address": "0xd348e07a2806505b856123045d27aeed90924b50", - "decimals": 8, - "name": "Christ Coin", - "symbol": "CCLC" - }, - { - "address": "0x9e96604445ec19ffed9a5e8dd7b50a29c899a10c", - "decimals": 18, - "name": "Coss Token", - "symbol": "COSS" - }, - { - "address": "0x5c543e7AE0A1104f78406C340E9C64FD9fCE5170", - "decimals": 18, - "name": "Vdice", - "symbol": "VSL" - }, - { - "address": "0xfb2f26f266fb2805a387230f2aa0a331b4d96fba", - "decimals": 18, - "name": "DADI", - "symbol": "DADI" - }, - { - "address": "0x8Ae4BF2C33a8e667de34B54938B0ccD03Eb8CC06", - "decimals": 8, - "name": "PTOY", - "symbol": "PTOY" - }, - { - "address": "0x679badc551626e01b23ceecefbc9b877ea18fc46", - "decimals": 18, - "name": "Ccore", - "symbol": "CCO" - }, - { - "address": "0x744d70FDBE2Ba4CF95131626614a1763DF805B9E", - "decimals": 18, - "name": "Status Network Token", - "symbol": "SNT" - }, - { - "address": "0xcbeaec699431857fdb4d37addbbdc20e132d4903", - "decimals": 18, - "name": "YOYOW", - "symbol": "YOYOW" - }, - { - "address": "0x5b26C5D0772E5bbaC8b3182AE9a13f9BB2D03765", - "decimals": 8, - "name": "LEDU", - "symbol": "LEDU" - }, - { - "address": "0x62d4c04644314f35868ba4c65cc27a77681de7a9", - "decimals": 18, - "name": "Driveholic Token", - "symbol": "DRVH" - }, - { - "address": "0x8C65e992297d5f092A756dEf24F4781a280198Ff", - "decimals": 18, - "name": "GazeCoin", - "symbol": "GZE" - }, - { - "address": "0x3f4b726668da46f5e0e75aa5d478acec9f38210f", - "decimals": 18, - "name": "M-ETH", - "symbol": "M-ETH" - }, - { - "address": "0x53148Bb4551707edF51a1e8d7A93698d18931225", - "decimals": 8, - "name": "PCLOLD", - "symbol": "PCLOLD" - }, - { - "address": "0x327682779bAB2BF4d1337e8974ab9dE8275A7Ca8", - "decimals": 18, - "name": "Blockport Token", - "symbol": "BPT" - }, - { - "address": "0xd99b8a7fa48e25cce83b81812220a3e03bf64e5f", - "decimals": 18, - "name": "Skrumble Token", - "symbol": "SKM" - }, - { - "address": "0xb5c33f965c8899d255c34cdd2a3efa8abcbb3dea", - "decimals": 18, - "name": "KPRCoin", - "symbol": "KPR" - }, - { - "address": "0x92A5B04D0ED5D94D7a193d1d334D3D16996f4E13", - "decimals": 18, - "name": "Eristica", - "symbol": "ERT" - }, - { - "address": "0xd4c435f5b09f855c3317c8524cb1f586e42795fa", - "decimals": 18, - "name": "Cindicator", - "symbol": "CND" - }, - { - "address": "0x59416A25628A76b4730eC51486114c32E0B582A1", - "decimals": 6, - "name": "PLASMA", - "symbol": "PLASMA" - }, - { - "address": "0x846c66cf71c43f80403b51fe3906b3599d63336f", - "decimals": 18, - "name": "PumaPay", - "symbol": "PMA" - }, - { - "address": "0x7dcb3b2356c822d3577d4d060d0d5d78c860488c", - "decimals": 18, - "name": "FANX Token", - "symbol": "FANX" - }, - { - "address": "0xfa05A73FfE78ef8f1a739473e462c54bae6567D9", - "decimals": 18, - "name": "LUN", - "symbol": "LUN" - }, - { - "address": "0x7b22938ca841aa392c93dbb7f4c42178e3d65e88", - "decimals": 4, - "name": "AstroTokens", - "symbol": "ASTRO" - }, - { - "address": "0xb2135ab9695a7678dd590b1a996cb0f37bcb0718", - "decimals": 9, - "name": "Signals Network Token", - "symbol": "SGN" - }, - { - "address": "0x572e6f318056ba0c5d47a422653113843d250691", - "decimals": 0, - "name": "XNT", - "symbol": "XNT" - }, - { - "address": "0x4a6058666cf1057eaC3CD3A5a614620547559fc9", - "decimals": 18, - "name": "BRICKBLOCK TOKEN", - "symbol": "BBK" - }, - { - "address": "0x48e5413b73add2434e47504E2a22d14940dBFe78", - "decimals": 3, - "name": "Integrated Money", - "symbol": "INRM" - }, - { - "address": "0xdd74a7a3769fa72561b3a69e65968f49748c690c", - "decimals": 18, - "name": "ETCH", - "symbol": "ETCH" - }, - { - "address": "0x7e9e431a0b8c4d532c745b1043c7fa29a48d4fba", - "decimals": 18, - "name": "eosDAC", - "symbol": "eosDAC" - }, - { - "address": "0x3883f5e181fccaf8410fa61e12b59bad963fb645", - "decimals": 18, - "name": "Theta Token", - "symbol": "THETA" - }, - { - "address": "0xc166038705FFBAb3794185b3a9D925632A1DF37D", - "decimals": 18, - "name": "Coal Coin", - "symbol": "CC3" - }, - { - "address": "0xebbdf302c940c6bfd49c6b165f457fdb324649bc", - "decimals": 18, - "name": "Hydro", - "symbol": "HYDRO" - }, - { - "address": "0x90162f41886c0946d09999736f1c15c8a105a421", - "decimals": 18, - "name": "Fan Token", - "symbol": "FAN" - }, - { - "address": "0xc12d099be31567add4e4e4d0d45691c3f58f5663", - "decimals": 18, - "name": "Auctus", - "symbol": "AUC" - }, - { - "address": "0xC64500DD7B0f1794807e67802F8Abbf5F8Ffb054", - "decimals": 18, - "name": "Locus Chain", - "symbol": "LOCUS" - }, - { - "address": "0x986EE2B944c42D017F52Af21c4c69B84DBeA35d8", - "decimals": 18, - "name": "BitMartToken", - "symbol": "BMX" - }, - { - "address": "0xcc13fc627effd6e35d2d2706ea3c4d7396c610ea", - "decimals": 8, - "name": "IDEX Membership", - "symbol": "IDXM" - }, - { - "address": "0xb3616550abc8af79c7a5902def9efa3bc9a95200", - "decimals": 8, - "name": "Telex", - "symbol": "TLX" - }, - { - "address": "0x0bb217e40f8a5cb79adf04e1aab60e5abd0dfc1e", - "decimals": 8, - "name": "SwftCoin", - "symbol": "SWFTC" - }, - { - "address": "0x5e4ABE6419650CA839Ce5BB7Db422b881a6064bB", - "decimals": 18, - "name": "Wi Coin", - "symbol": "WiC" - }, - { - "address": "0x7F4B2A690605A7cbb66F7AA6885EbD906a5e2E9E", - "decimals": 8, - "name": "Topinvestmentcoin", - "symbol": "TICO" - }, - { - "address": "0x27695E09149AdC738A978e9A678F99E4c39e9eb9", - "decimals": 8, - "name": "KICK", - "symbol": "KICK" - }, - { - "address": "0x9469D013805bFfB7D3DEBe5E7839237e535ec483", - "decimals": 18, - "name": "Evolution Land Global Token", - "symbol": "RING" - }, - { - "address": "0x35BAA72038F127f9f8C8f9B491049f64f377914d", - "decimals": 4, - "name": "ethPoker.io EPX", - "symbol": "EPX" - }, - { - "address": "0x82125AFe01819Dff1535D0D6276d57045291B6c0", - "decimals": 18, - "name": "Marcelo", - "symbol": "MRL" - }, - { - "address": "0x882448f83d90b2bf477af2ea79327fdea1335d93", - "decimals": 18, - "name": "VIBEX Exchange Token", - "symbol": "VIBEX" - }, - { - "address": "0x00c4b398500645eb5da00a1a379a88b11683ba01", - "decimals": 18, - "name": "Eximchain Token", - "symbol": "EXC" - }, - { - "address": "0xe34e1944e776f39b9252790a0527ebda647ae668", - "decimals": 18, - "name": "Helbiz", - "symbol": "HBZ" - }, - { - "address": "0x61725f3db4004afe014745b21dab1e1677cc328b", - "decimals": 18, - "name": "Digital Asset Exchange Token", - "symbol": "DAXT" - }, - { - "address": "0x694404595e3075a942397f466aacd462ff1a7bd0", - "decimals": 18, - "name": "PATENTS", - "symbol": "PATENTS" - }, - { - "address": "0xEbeD4fF9fe34413db8fC8294556BBD1528a4DAca", - "decimals": 3, - "name": "VENUS", - "symbol": "VENUS" - }, - { - "address": "0xced4e93198734ddaff8492d525bd258d49eb388e", - "decimals": 18, - "name": "Eidoo", - "symbol": "EDO" - }, - { - "address": "0xFB12e3CcA983B9f59D90912Fd17F8D745A8B2953", - "decimals": 0, - "name": "LUCK", - "symbol": "LUCK" - }, - { - "address": "0x3c4a3ffd813a107febd57b2f01bc344264d90fde", - "decimals": 2, - "name": "EnergiToken", - "symbol": "ETK" - }, - { - "address": "0xd2946be786f35c3cc402c29b323647abda799071", - "decimals": 8, - "name": "VIKKY Token", - "symbol": "VIKKY" - }, - { - "address": "0xf05a9382A4C3F29E2784502754293D88b835109C", - "decimals": 18, - "name": "REX", - "symbol": "REX" - }, - { - "address": "0xac3211a5025414af2866ff09c23fc18bc97e79b1", - "decimals": 18, - "name": "DOVU", - "symbol": "DOV" - }, - { - "address": "0xa578acc0cb7875781b7880903f4594d13cfa8b98", - "decimals": 2, - "name": "ECN", - "symbol": "ECN" - }, - { - "address": "0xe9ff07809ccff05dae74990e25831d0bc5cbe575", - "decimals": 18, - "name": "HEdpAY", - "symbol": "Hdp" - }, - { - "address": "0x8eB24319393716668D768dCEC29356ae9CfFe285", - "decimals": 8, - "name": "SingularityNET", - "symbol": "AGI" - }, - { - "address": "0xef51c9377feb29856e61625caf9390bd0b67ea18", - "decimals": 8, - "name": "Bionic", - "symbol": "BNC" - }, - { - "address": "0x28c8d01ff633ea9cd8fc6a451d7457889e698de6", - "decimals": 0, - "name": "Ethereum Gold", - "symbol": "ETG" - }, - { - "address": "0x8713d26637cf49e1b6b4a7ce57106aabc9325343", - "decimals": 18, - "name": "CNN Token", - "symbol": "CNN" - }, - { - "address": "0xe26517A9967299453d3F1B48Aa005E6127e67210", - "decimals": 18, - "name": "Ninfa Money", - "symbol": "NIMFA" - }, - { - "address": "0xb45a50545beeab73f38f31e5973768c421805e5e", - "decimals": 18, - "name": "TKRToken", - "symbol": "TKR" - }, - { - "address": "0x1183f92a5624d68e85ffb9170f16bf0443b4c242", - "decimals": 18, - "name": "QVT", - "symbol": "QVT" - }, - { - "address": "0x226bb599a12C826476e3A771454697EA52E9E220", - "decimals": 8, - "name": "Propy", - "symbol": "PRO" - }, - { - "address": "0x71d01db8d6a2fbea7f8d434599c237980c234e4c", - "decimals": 8, - "name": "Gladius", - "symbol": "GLA" - }, - { - "address": "0x2cf618c19041d9db330d8222b860a624021f30fb", - "decimals": 18, - "name": "CRUISEBIT", - "symbol": "CRBT" - }, - { - "address": "0xfAE4Ee59CDd86e3Be9e8b90b53AA866327D7c090", - "decimals": 18, - "name": "CPChain", - "symbol": "CPC" - }, - { - "address": "0x2008e3057bd734e10ad13c9eae45ff132abc1722", - "decimals": 8, - "name": "Zebi Coin", - "symbol": "ZCO" - }, - { - "address": "0x84936cF7630AA3e27Dd9AfF968b140d5AEE49F5a", - "decimals": 8, - "name": "AmberTime Coin", - "symbol": "AMTC" - }, - { - "address": "0x7e667525521cF61352e2E01b50FaaaE7Df39749a", - "decimals": 18, - "name": "CryptoMart", - "symbol": "CMC" - }, - { - "address": "0xe23cd160761f63FC3a1cF78Aa034b6cdF97d3E0C", - "decimals": 18, - "name": "Mainstreet", - "symbol": "MIT (Mainstreet)" - }, - { - "address": "0x42d6622dece394b54999fbd73d108123806f6a18", - "decimals": 18, - "name": "SpankChain", - "symbol": "SPANK" - }, - { - "address": "0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c", - "decimals": 18, - "name": "ENJIN", - "symbol": "ENJ" - }, - { - "address": "0x106aa49295b525fcf959aa75ec3f7dcbf5352f1c", - "decimals": 18, - "name": "Rock", - "symbol": "RKT" - }, - { - "address": "0x2d0e95bd4795d7ace0da3c0ff7b706a5970eb9d3", - "decimals": 18, - "name": "All Sports Coin", - "symbol": "SOC" - }, - { - "address": "0x9e3319636e2126e3c0bc9e3134AEC5e1508A46c7", - "decimals": 18, - "name": "Universa", - "symbol": "UTN-P" - }, - { - "address": "0x181a63746d3adcf356cbc73ace22832ffbb1ee5a", - "decimals": 8, - "name": "ALCO", - "symbol": "ALCO" - }, - { - "address": "0x03e3f0c25965f13DbbC58246738C183E27b26a56", - "decimals": 18, - "name": "Disciplina Token", - "symbol": "DSCP" - }, - { - "address": "0x1245ef80f4d9e02ed9425375e8f649b9221b31d8", - "decimals": 8, - "name": "ArbitrageCT", - "symbol": "ARCT" - }, - { - "address": "0x60C24407d01782C2175D32fe7C8921ed732371D1", - "decimals": 18, - "name": "Lemo", - "symbol": "LEMO" - }, - { - "address": "0x6745fAB6801e376cD24F03572B9C9B0D4EdDDCcf", - "decimals": 8, - "name": "Sensay", - "symbol": "SENSE" - }, - { - "address": "0x514910771af9ca656af840dff83e8264ecf986ca", - "decimals": 18, - "name": "LINK Chainlink", - "symbol": "LINK (Chainlink)" - }, - { - "address": "0x55b9a11c2e8351b4Ffc7b11561148bfaC9977855", - "decimals": 9, - "name": "DGX1", - "symbol": "DGX1" - }, - { - "address": "0x3f06B5D78406cD97bdf10f5C420B241D32759c80", - "decimals": 18, - "name": "CyberFM", - "symbol": "CYFM" - }, - { - "address": "0x2C4e8f2D746113d0696cE89B35F0d8bF88E0AEcA", - "decimals": 18, - "name": "Simple Token 'OST'", - "symbol": "OST" - }, - { - "address": "0xeb9a4b185816c354db92db09cc3b50be60b901b6", - "decimals": 18, - "name": "OriginSport Token", - "symbol": "ORS" - }, - { - "address": "0xafc39788c51f0c1ff7b55317f3e70299e521fff6", - "decimals": 8, - "name": "eBCH", - "symbol": "eBCH" - }, - { - "address": "0x6710c63432a2de02954fc0f851db07146a6c0312", - "decimals": 18, - "name": "SyncFab Manufacturing", - "symbol": "MFG" - }, - { - "address": "0xf49cdd50ad408d387d611f88a647179c3de3492b", - "decimals": 18, - "name": "CargoCoin", - "symbol": "CRGO" - }, - { - "address": "0x7dc4f41294697a7903c4027f6ac528c5d14cd7eb", - "decimals": 8, - "name": "RemiCoin", - "symbol": "RMC" - }, - { - "address": "0xAa0bb10CEc1fa372eb3Abc17C933FC6ba863DD9E", - "decimals": 18, - "name": "Hms Token", - "symbol": "HMC" - }, - { - "address": "0x1e26b3d07e57f453cae30f7ddd2f945f5bf3ef33", - "decimals": 8, - "name": "ClearCoin", - "symbol": "XCLR" - }, - { - "address": "0xe8ff5c9c75deb346acac493c463c8950be03dfba", - "decimals": 18, - "name": "VIBE Coin", - "symbol": "VIBE" - }, - { - "address": "0xa517a46baad6b054a76bd19c46844f717fe69fea", - "decimals": 8, - "name": "CarbCoin", - "symbol": "CARB" - }, - { - "address": "0xa8006c4ca56f24d6836727d106349320db7fef82", - "decimals": 8, - "name": "Internxt", - "symbol": "INXT" - }, - { - "address": "0xa89b5934863447f6e4fc53b315a93e873bda69a3", - "decimals": 18, - "name": "Lumino Coin", - "symbol": "LUM" - }, - { - "address": "0xcc80c051057b774cd75067dc48f8987c4eb97a5e", - "decimals": 18, - "name": "Ethfinex Nectar Token", - "symbol": "NEC" - }, - { - "address": "0xaF4DcE16Da2877f8c9e00544c93B62Ac40631F16", - "decimals": 5, - "name": "Monetha", - "symbol": "MTH" - }, - { - "address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413", - "decimals": 16, - "name": "DAO", - "symbol": "DAO" - }, - { - "address": "0xba9d4199fab4f26efe3551d490e3821486f135ba", - "decimals": 8, - "name": "CHSB", - "symbol": "CHSB" - }, - { - "address": "0x6f539a9456a5bcb6334a1a41207c3788f5825207", - "decimals": 18, - "name": "Ohni", - "symbol": "OHNI" - }, - { - "address": "0xf14922001a2fb8541a433905437ae954419c2439", - "decimals": 8, - "name": "Inmediate", - "symbol": "DIT" - }, - { - "address": "0xa849eaae994fb86afa73382e9bd88c2b6b18dc71", - "decimals": 18, - "name": "Mass Vehicle Ledger Token", - "symbol": "MVL" - }, - { - "address": "0xAf30D2a7E90d7DC361c8C4585e9BB7D2F6f15bc7", - "decimals": 18, - "name": "FirstBlood", - "symbol": "1ST" - }, - { - "address": "0xdEE02D94be4929d26f67B64Ada7aCf1914007F10", - "decimals": 18, - "name": "Rune", - "symbol": "RUNE" - }, - { - "address": "0x6E34d8d84764D40f6D7b39cd569Fd017bF53177D", - "decimals": 18, - "name": "Skraps", - "symbol": "SKRP" - }, - { - "address": "0xc98e0639c6d2ec037a615341c369666b110e80e5", - "decimals": 8, - "name": "eXMRcoin", - "symbol": "EXMR" - }, - { - "address": "0xa645264C5603E96c3b0B078cdab68733794B0A71", - "decimals": 8, - "name": "Mysterium", - "symbol": "MYST" - }, - { - "address": "0xdab0C31BF34C897Fb0Fe90D12EC9401caf5c36Ec", - "decimals": 0, - "name": "DAB", - "symbol": "DAB" - }, - { - "address": "0x64CdF819d3E75Ac8eC217B3496d7cE167Be42e80", - "decimals": 18, - "name": "InsurePal token", - "symbol": "IPL" - }, - { - "address": "0xf6b6aa0ef0f5edc2c1c5d925477f97eaf66303e7", - "decimals": 8, - "name": "Going Gems", - "symbol": "XGG" - }, - { - "address": "0xC16b542ff490e01fcc0DC58a60e1EFdc3e357cA6", - "decimals": 0, - "name": "ICE ROCK MINING", - "symbol": "ROCK2" - }, - { - "address": "0x21f0F0fD3141Ee9E11B3d7f13a1028CD515f459c", - "decimals": 18, - "name": "MoneyRebel Token", - "symbol": "MRP" - }, - { - "address": "0xC39E626A04C5971D770e319760D7926502975e47", - "decimals": 18, - "name": "AXPR", - "symbol": "AXPR" - }, - { - "address": "0xf333b2Ace992ac2bBD8798bF57Bc65a06184afBa", - "decimals": 0, - "name": "Sandcoin", - "symbol": "SND" - }, - { - "address": "0x24083bb30072643c3bb90b44b7285860a755e687", - "decimals": 18, - "name": "GELD", - "symbol": "GELD" - }, - { - "address": "0x9e7d29bd499b6c7da2a5b2eafcf4a39d3bd845d1", - "decimals": 18, - "name": "Convenient To Go", - "symbol": "CTGC" - }, - { - "address": "0xbf2179859fc6d5bee9bf9158632dc51678a4100e", - "decimals": 18, - "name": "ELF Token", - "symbol": "ELF" - }, - { - "address": "0xfeDAE5642668f8636A11987Ff386bfd215F942EE", - "decimals": 18, - "name": "PolicyPal Network", - "symbol": "PAL" - }, - { - "address": "0x37e8789bb9996cac9156cd5f5fd32599e6b91289", - "decimals": 18, - "name": "AidCoin", - "symbol": "AID" - }, - { - "address": "0xb9EF770B6A5e12E45983C5D80545258aA38F3B78", - "decimals": 10, - "name": "0chain", - "symbol": "ZCN" - }, - { - "address": "0x3d1ba9be9f66b8ee101911bc36d3fb562eac2244", - "decimals": 18, - "name": "Rivetz", - "symbol": "RVT" - }, - { - "address": "0xe8780B48bdb05F928697A5e8155f672ED91462F7", - "decimals": 18, - "name": "Cashaa", - "symbol": "CAS" - }, - { - "address": "0x814964b1bceAf24e26296D031EaDf134a2Ca4105", - "decimals": 0, - "name": "Newbium", - "symbol": "NEWB" - }, - { - "address": "0xCc34366E3842cA1BD36c1f324d15257960fCC801", - "decimals": 18, - "name": "Bonpay", - "symbol": "BON" - }, - { - "address": "0x41ab1b6fcbb2fa9dced81acbdec13ea6315f2bf2", - "decimals": 18, - "name": "XinFin XDCE", - "symbol": "XDCE" - }, - { - "address": "0xa13f0743951b4f6e3e3aa039f682e17279f52bc3", - "decimals": 18, - "name": "Sentinel Chain", - "symbol": "SENC" - }, - { - "address": "0x884e3902C4d5cFA86de4aCE7A96AA91EbC25C0Ff", - "decimals": 18, - "name": "JBOX", - "symbol": "JBX" - }, - { - "address": "0xe30e02f049957e2a5907589e06ba646fb2c321ba", - "decimals": 8, - "name": "DRP Utility", - "symbol": "DRPU" - }, - { - "address": "0xa44e5137293e855b1b7bc7e2c6f8cd796ffcb037", - "decimals": 8, - "name": "SENTinel", - "symbol": "SENT" - }, - { - "address": "0xd73A66B8FB26Be8B0AcD7c52Bd325054Ac7d468b", - "decimals": 18, - "name": "Woonk", - "symbol": "WNK" - }, - { - "address": "0x12b306fa98f4cbb8d4457fdff3a0a0a56f07ccdf", - "decimals": 18, - "name": "Spectre.ai D-Token", - "symbol": "SXDT" - }, - { - "address": "0x28577A6d31559bd265Ce3ADB62d0458550F7b8a7", - "decimals": 18, - "name": "CryptoCrashCourse", - "symbol": "CCC (CryptoCrashCourse)" - }, - { - "address": "0xeb7c20027172e5d143fb030d50f91cece2d1485d", - "decimals": 8, - "name": "eBTC", - "symbol": "eBTC" - }, - { - "address": "0x906b3f8b7845840188eab53c3f5ad348a787752f", - "decimals": 15, - "name": "DoradoToken", - "symbol": "DOR" - }, - { - "address": "0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d", - "decimals": 18, - "name": "Quantstamp Token", - "symbol": "QSP" - }, - { - "address": "0x88d50b466be55222019d71f9e8fae17f5f45fca1", - "decimals": 8, - "name": "Cryptaur", - "symbol": "CPT" - }, - { - "address": "0xd341d1680eeee3255b8c4c75bcce7eb57f144dae", - "decimals": 18, - "name": "onG", - "symbol": "onG" - }, - { - "address": "0x78fe18e41f436e1981a3a60d1557c8a7a9370461", - "decimals": 2, - "name": "Scandiweb Coin", - "symbol": "SCANDI" - }, - { - "address": "0x5acD19b9c91e596b1f062f18e3D02da7eD8D1e50", - "decimals": 8, - "name": "BTC Lite", - "symbol": "BTCL" - }, - { - "address": "0xf970b8e36e23f7fc3fd752eea86f8be8d83375a6", - "decimals": 18, - "name": "Ripio Credit Network", - "symbol": "RCN" - }, - { - "address": "0x9fC0583220eB44fAeE9e2dc1E63F39204DDD9090", - "decimals": 18, - "name": "DualChain", - "symbol": "2DC" - }, - { - "address": "0xc798cd1c49db0e297312e4c682752668ce1db2ad", - "decimals": 5, - "name": "LifeRun Coin", - "symbol": "LFR" - }, - { - "address": "0x8aA33A7899FCC8eA5fBe6A608A109c3893A1B8b2", - "decimals": 18, - "name": "BET", - "symbol": "BET" - }, - { - "address": "0x881ef48211982d01e2cb7092c915e647cd40d85c", - "decimals": 18, - "name": "Open Trading Network", - "symbol": "OTN" - }, - { - "address": "0x03c780cd554598592b97b7256ddaad759945b125", - "decimals": 18, - "name": "BTRN", - "symbol": "BTRN" - }, - { - "address": "0x001f0aa5da15585e5b2305dbab2bac425ea71007", - "decimals": 18, - "name": "IPSX", - "symbol": "IPSX" - }, - { - "address": "0x1f54638b7737193ffd86c19ec51907a7c41755d8", - "decimals": 6, - "name": "Sola Token", - "symbol": "SOL" - }, - { - "address": "0xf278c1ca969095ffddded020290cf8b5c424ace2", - "decimals": 18, - "name": "RUFF", - "symbol": "RUFF" - }, - { - "address": "0x41dbecc1cdc5517c6f76f6a6e836adbee2754de3", - "decimals": 18, - "name": "MedToken", - "symbol": "MTN" - }, - { - "address": "0x54b293226000ccBFC04DF902eEC567CB4C35a903", - "decimals": 18, - "name": "RiderToken", - "symbol": "RTN" - }, - { - "address": "0x2233799ee2683d75dfefacbcd2a26c78d34b470d", - "decimals": 18, - "name": "Network", - "symbol": "NTWK" - }, - { - "address": "0x6dd4e4aad29a40edd6a409b9c1625186c9855b4d", - "decimals": 8, - "name": "GENE TOKEN", - "symbol": "(PARKGENE) (GENE)" - }, - { - "address": "0xd8950fDeaa10304B7A7Fd03a2FC66BC39f3c711a", - "decimals": 18, - "name": "wystoken", - "symbol": "WYS" - }, - { - "address": "0xDF2C7238198Ad8B389666574f2d8bc411A4b7428", - "decimals": 18, - "name": "Mainframe Token", - "symbol": "MFT" - }, - { - "address": "0x832904863978b94802123106e6eb491bdf0df928", - "decimals": 18, - "name": "OptiToken", - "symbol": "OPTI" - }, - { - "address": "0x3839d8ba312751aa0248fed6a8bacb84308e20ed", - "decimals": 18, - "name": "Bezop", - "symbol": "Bez" - }, - { - "address": "0x7064aAb39A0Fcf7221c3396719D0917a65E35515", - "decimals": 18, - "name": "CPOLLO", - "symbol": "CPLO" - }, - { - "address": "0xf03045a4c8077e38f3b8e2ed33b8aee69edf869f", - "decimals": 18, - "name": "BlockMesh", - "symbol": "MESH" - }, - { - "address": "0x1d4ccc31dab6ea20f461d329a0562c1c58412515", - "decimals": 18, - "name": "Talao", - "symbol": "TALAO" - }, - { - "address": "0x0Ebb614204E47c09B6C3FeB9AAeCad8EE060E23E", - "decimals": 0, - "name": "CPAY", - "symbol": "CPAY" - }, - { - "address": "0x8a95ca448A52C0ADf0054bB3402dC5e09CD6B232", - "decimals": 18, - "name": "Confideal", - "symbol": "CDL" - }, - { - "address": "0x98f5e9b7f0e33956c0443e81bf7deb8b5b1ed545", - "decimals": 18, - "name": "Sexy Token", - "symbol": "SEXY" - }, - { - "address": "0x2dcfaac11c9eebd8c6c42103fe9e2a6ad237af27", - "decimals": 18, - "name": "Smart Node", - "symbol": "SMT" - }, - { - "address": "0x73dd069c299a5d691e9836243bcaec9c8c1d8734", - "decimals": 8, - "name": "BTE", - "symbol": "BTE" - }, - { - "address": "0x46492473755e8dF960F8034877F61732D718CE96", - "decimals": 8, - "name": "STRC", - "symbol": "STRC" - }, - { - "address": "0x74951B677de32D596EE851A233336926e6A2cd09", - "decimals": 7, - "name": "WeBetCrypto", - "symbol": "WBA" - } - ] - \ No newline at end of file + { + "address": "0x4E84E9e5fb0A972628Cf4568c403167EF1D40431", + "decimals": 18, + "name": "$Fluzcoin", + "symbol": "$FFC" + }, + { + "address": "0xA024E8057EEC474a9b2356833707Dd0579E26eF3", + "decimals": 18, + "name": "$FIXY NETWORK", + "symbol": "$FXY" + }, + { + "address": "0xCDB7eCFd3403Eef3882c65B761ef9B5054890a47", + "decimals": 18, + "name": "$Hurify Token", + "symbol": "$HUR" + }, + { + "address": "0x7DD7F56D697Cc0f2b52bD55C057f378F1fE6Ab4b", + "decimals": 18, + "name": "$TEAK", + "symbol": "$TEAK" + }, + { + "address": "0xB6eD7644C69416d67B522e20bC294A9a9B405B31", + "decimals": 8, + "name": "0xBitcoin", + "symbol": "0xBTC" + }, + { + "address": "0xAf30D2a7E90d7DC361c8C4585e9BB7D2F6f15bc7", + "decimals": 18, + "name": "FirstBlood", + "symbol": "1ST" + }, + { + "address": "0xfDBc1aDc26F0F8f8606a5d63b7D3a3CD21c22B23", + "decimals": 8, + "name": "1WO", + "symbol": "1WO" + }, + { + "address": "0x0073e5E52E2B4fE218D75d994eE2B3c82f9C87EA", + "decimals": 8, + "name": "22x Fund", + "symbol": "22x" + }, + { + "address": "0x9fC0583220eB44fAeE9e2dc1E63F39204DDD9090", + "decimals": 18, + "name": "DualChain", + "symbol": "2DC" + }, + { + "address": "0xaEc98A708810414878c3BCDF46Aad31dEd4a4557", + "decimals": 18, + "name": "300 Token Sparta", + "symbol": "300" + }, + { + "address": "0x430241368c1D293fdA21DBa8Bb7aF32007c59109", + "decimals": 8, + "name": "TrillionToken", + "symbol": "3LT" + }, + { + "address": "0xcc7d26D8eA6281BB363C8448515F2C61F7BC19F0", + "decimals": 18, + "name": "ABBC Cash", + "symbol": "ABCH" + }, + { + "address": "0xB98d4C97425d9908E66E53A6fDf673ACcA0BE986", + "decimals": 18, + "name": "ArcBlock Token", + "symbol": "ABT" + }, + { + "address": "0x0E8d6b471e332F140e7d9dbB99E5E3822F728DA6", + "decimals": 18, + "name": "ABYSS", + "symbol": "ABYSS" + }, + { + "address": "0x13F1b7FDFbE1fc66676D56483e21B1ecb40b58E2", + "decimals": 18, + "name": "Accelerator Network", + "symbol": "ACC" + }, + { + "address": "0x06147110022B768BA8F99A8f385df11a151A9cc8", + "decimals": 0, + "name": "ACE (TokenStars)", + "symbol": "ACE" + }, + { + "address": "0x2baac9330Cf9aC479D819195794d79AD0c7616e3", + "decimals": 18, + "name": "adbank", + "symbol": "ADB" + }, + { + "address": "0xE69a353b3152Dd7b706ff7dD40fe1d18b7802d31", + "decimals": 18, + "name": "AdHive Token", + "symbol": "ADH" + }, + { + "address": "0x8810C63470d38639954c6B41AaC545848C46484a", + "decimals": 18, + "name": "Aditus", + "symbol": "ADI" + }, + { + "address": "0x660e71483785f66133548B10f6926dC332b06e61", + "decimals": 18, + "name": "Adelphoi", + "symbol": "ADL" + }, + { + "address": "0x422866a8F0b032c5cf1DfBDEf31A20F4509562b0", + "decimals": 0, + "name": "AdShares", + "symbol": "ADST" + }, + { + "address": "0xD0D6D6C5Fe4a677D343cC433536BB717bAe167dD", + "decimals": 9, + "name": "AdToken", + "symbol": "ADT" + }, + { + "address": "0x4470BB87d77b963A013DB939BE332f927f2b992e", + "decimals": 4, + "name": "AdEx Network", + "symbol": "ADX" + }, + { + "address": "0x5CA9a71B1d01849C0a95490Cc00559717fCF0D1d", + "decimals": 18, + "name": "aeternity", + "symbol": "AE" + }, + { + "address": "0xfB48E0DEa837f9438309a7e9F0cFe7EE3353A84e", + "decimals": 2, + "name": "Africahead Ipparts", + "symbol": "AFA" + }, + { + "address": "0x8eB24319393716668D768dCEC29356ae9CfFe285", + "decimals": 8, + "name": "SingularityNET", + "symbol": "AGI" + }, + { + "address": "0x5121E348e897dAEf1Eef23959Ab290e5557CF274", + "decimals": 18, + "name": "POLY AI", + "symbol": "AI" + }, + { + "address": "0x37E8789bB9996CaC9156cD5F5Fd32599E6b91289", + "decimals": 18, + "name": "AidCoin", + "symbol": "AID" + }, + { + "address": "0x4CEdA7906a5Ed2179785Cd3A40A69ee8bc99C466", + "decimals": 8, + "name": "Aion", + "symbol": "AION" + }, + { + "address": "0x27Dce1eC4d3f72C3E457Cc50354f1F975dDEf488", + "decimals": 8, + "name": "AirToken", + "symbol": "AIR" + }, + { + "address": "0x1063ce524265d5a3A624f4914acd573dD89ce988", + "decimals": 18, + "name": "Aigang", + "symbol": "AIX" + }, + { + "address": "0x1Ca43a170BaD619322e6f54d46b57e504dB663aA", + "decimals": 18, + "name": "ARTWOOK COIN", + "symbol": "AKC" + }, + { + "address": "0x181a63746d3Adcf356CBc73aCE22832FFBB1EE5A", + "decimals": 8, + "name": "ALCO", + "symbol": "ALCO" + }, + { + "address": "0x4289c043A12392F1027307fB58272D8EBd853912", + "decimals": 18, + "name": "AiLink Token", + "symbol": "ALI" + }, + { + "address": "0xEA610B1153477720748DC13ED378003941d84fAB", + "decimals": 18, + "name": "ALIS Token", + "symbol": "ALIS" + }, + { + "address": "0x638AC149eA8EF9a1286C41B977017AA7359E6Cfa", + "decimals": 18, + "name": "ALTS Token", + "symbol": "ALTS" + }, + { + "address": "0x49b127Bc33ce7E1586EC28CEC6a65b112596C822", + "decimals": 18, + "name": "ALAX", + "symbol": "ALX" + }, + { + "address": "0x4DC3643DbC642b72C158E7F3d2ff232df61cb6CE", + "decimals": 18, + "name": "Amber Token", + "symbol": "AMB" + }, + { + "address": "0x949bEd886c739f1A3273629b3320db0C5024c719", + "decimals": 9, + "name": "AMIS", + "symbol": "AMIS" + }, + { + "address": "0xCA0e7269600d353F70b14Ad118A49575455C0f2f", + "decimals": 18, + "name": "AMLT", + "symbol": "AMLT" + }, + { + "address": "0x737F98AC8cA59f2C68aD658E3C3d8C8963E40a4c", + "decimals": 18, + "name": "Amon", + "symbol": "AMN" + }, + { + "address": "0x38c87AA89B2B8cD9B95b736e1Fa7b612EA972169", + "decimals": 18, + "name": "AMO Coin", + "symbol": "AMO" + }, + { + "address": "0x84936cF7630AA3e27Dd9AfF968b140d5AEE49F5a", + "decimals": 8, + "name": "AmberTime Coin", + "symbol": "AMTC" + }, + { + "address": "0x960b236A07cf122663c4303350609A66A7B288C0", + "decimals": 18, + "name": "ANT", + "symbol": "ANT" + }, + { + "address": "0x9ab165D795019b6d8B3e971DdA91071421305e5a", + "decimals": 18, + "name": "Aurora", + "symbol": "AOA" + }, + { + "address": "0x4C0fBE1BB46612915E7967d2C3213cd4d87257AD", + "decimals": 18, + "name": "APIS", + "symbol": "APIS" + }, + { + "address": "0x1a7a8BD9106F2B8D977E08582DC7d24c723ab0DB", + "decimals": 18, + "name": "AppCoins", + "symbol": "APPC" + }, + { + "address": "0x23aE3C5B39B12f0693e05435EeaA1e51d8c61530", + "decimals": 18, + "name": "AIGang", + "symbol": "APT" + }, + { + "address": "0xaFBeC4D65BC7b116d85107FD05d912491029Bf46", + "decimals": 18, + "name": "ARBITRAGE", + "symbol": "ARB" + }, + { + "address": "0xAc709FcB44a43c35F0DA4e3163b117A17F3770f5", + "decimals": 18, + "name": "Arcade Token", + "symbol": "ARC" + }, + { + "address": "0x1245ef80F4d9e02ED9425375e8F649B9221b31D8", + "decimals": 8, + "name": "ArbitrageCT", + "symbol": "ARCT" + }, + { + "address": "0x75Aa7B0d02532f3833b66c7f0Ad35376d373ddF8", + "decimals": 18, + "name": "Accord", + "symbol": "ARD" + }, + { + "address": "0xBA5F11b16B155792Cf3B2E6880E8706859A8AEB6", + "decimals": 8, + "name": "Aeron", + "symbol": "ARN" + }, + { + "address": "0xfec0cF7fE078a500abf15F1284958F22049c2C7e", + "decimals": 18, + "name": "ART", + "symbol": "ART" + }, + { + "address": "0x7705FaA34B16EB6d77Dfc7812be2367ba6B0248e", + "decimals": 8, + "name": "ARX", + "symbol": "ARX" + }, + { + "address": "0xb0D926c1BC3d78064F3e1075D5bD9A24F35Ae6C5", + "decimals": 18, + "name": "Assistive Reality ARX", + "symbol": "ARXT" + }, + { + "address": "0xa5F8fC0921880Cb7342368BD128eb8050442B1a1", + "decimals": 18, + "name": "Block Array", + "symbol": "ARY" + }, + { + "address": "0x27054b13b1B798B345b591a4d22e6562d47eA75a", + "decimals": 4, + "name": "Airswap", + "symbol": "AST" + }, + { + "address": "0x7B22938ca841aA392C93dBB7f4c42178E3d65E88", + "decimals": 4, + "name": "AstroTokens", + "symbol": "ASTRO" + }, + { + "address": "0x78B7FADA55A64dD895D8c8c35779DD8b67fA8a05", + "decimals": 18, + "name": "ATL", + "symbol": "ATL" + }, + { + "address": "0x9B11EFcAAA1890f6eE52C6bB7CF8153aC5d74139", + "decimals": 8, + "name": "ATMChain", + "symbol": "ATM" + }, + { + "address": "0x97AEB5066E1A590e868b511457BEb6FE99d329F5", + "decimals": 18, + "name": "Atonomi", + "symbol": "ATMI" + }, + { + "address": "0x887834D3b8D450B6bAB109c252Df3DA286d73CE4", + "decimals": 18, + "name": "Atmatrix Token", + "symbol": "ATT" + }, + { + "address": "0x6339784d9478dA43106A429196772A029C2f177d", + "decimals": 18, + "name": "Attention Token", + "symbol": "ATTN" + }, + { + "address": "0x1A0F2aB46EC630F9FD638029027b552aFA64b94c", + "decimals": 18, + "name": "Aston", + "symbol": "ATX" + }, + { + "address": "0xc12d099be31567add4e4e4d0D45691C3F58f5663", + "decimals": 18, + "name": "Auctus", + "symbol": "AUC" + }, + { + "address": "0xCdCFc0f66c522Fd086A1b725ea3c0Eeb9F9e8814", + "decimals": 18, + "name": "Aurora DAO", + "symbol": "AURA" + }, + { + "address": "0x622dFfCc4e83C64ba959530A5a5580687a57581b", + "decimals": 18, + "name": "Cube", + "symbol": "AUTO" + }, + { + "address": "0xeD247980396B10169BB1d36f6e278eD16700a60f", + "decimals": 4, + "name": "AVA", + "symbol": "AVA" + }, + { + "address": "0x0d88eD6E74bbFD96B831231638b66C05571e824F", + "decimals": 18, + "name": "AVT", + "symbol": "AVT" + }, + { + "address": "0xCd4b4b0F3284a33AC49C67961EC6e111708318Cf", + "decimals": 5, + "name": "AX1 Mining Token", + "symbol": "AX1" + }, + { + "address": "0x9af2c6B1A28D3d6BC084bd267F70e90d49741D5B", + "decimals": 8, + "name": "AXP", + "symbol": "AXP" + }, + { + "address": "0xC39E626A04C5971D770e319760D7926502975e47", + "decimals": 18, + "name": "aXpire", + "symbol": "AXPR" + }, + { + "address": "0x5d51FCceD3114A8bb5E90cDD0f9d682bCbCC5393", + "decimals": 18, + "name": "B2BX", + "symbol": "B2BX" + }, + { + "address": "0x998b3B82bC9dBA173990Be7afb772788B5aCB8Bd", + "decimals": 18, + "name": "Banca", + "symbol": "BANCA" + }, + { + "address": "0xF87F0D9153fea549c728Ad61cb801595a68b73de", + "decimals": 18, + "name": "BANX", + "symbol": "BANX" + }, + { + "address": "0x2A05d22DB079BC40C2f77a1d1fF703a56E631cc1", + "decimals": 8, + "name": "BitAsean", + "symbol": "BAS" + }, + { + "address": "0x0D8775F648430679A709E98d2b0Cb6250d2887EF", + "decimals": 18, + "name": "BAT", + "symbol": "BAT" + }, + { + "address": "0x9a0242b7a33DAcbe40eDb927834F96eB39f8fBCB", + "decimals": 18, + "name": "BABB", + "symbol": "BAX" + }, + { + "address": "0xe7D3e4413E29ae35B0893140F4500965c74365e5", + "decimals": 18, + "name": "TraDove B2BCoin", + "symbol": "BBC" + }, + { + "address": "0x37D40510a2F5Bc98AA7a0f7BF4b3453Bcfb90Ac1", + "decimals": 18, + "name": "Beluga Banking Infrastructure Token", + "symbol": "BBI" + }, + { + "address": "0x4a6058666cf1057eaC3CD3A5a614620547559fc9", + "decimals": 18, + "name": "BRICKBLOCK TOKEN", + "symbol": "BBK" + }, + { + "address": "0x35a69642857083BA2F30bfaB735dacC7F0bac969", + "decimals": 18, + "name": "Banyan Network", + "symbol": "BBN" + }, + { + "address": "0x84F7c44B6Fed1080f647E354D552595be2Cc602F", + "decimals": 18, + "name": "Bigbom", + "symbol": "BBO" + }, + { + "address": "0x2ecB13A8c458c379c4d9a7259e202De03c8F3D19", + "decimals": 18, + "name": "Block-Chain.com", + "symbol": "BC" + }, + { + "address": "0x7367A68039d4704f30BfBF6d948020C3B07DFC59", + "decimals": 18, + "name": "Beercoin", + "symbol": "BCBC" + }, + { + "address": "0x1e797Ce986C3CFF4472F7D38d5C4aba55DfEFE40", + "decimals": 15, + "name": "BlockCDN", + "symbol": "BCDN" + }, + { + "address": "0xAcfa209Fb73bF3Dd5bBfb1101B9Bc999C49062a5", + "decimals": 18, + "name": "Blockchain Certified Data Token", + "symbol": "BCDT" + }, + { + "address": "0xbc1234552EBea32B5121190356bBa6D3Bb225bb5", + "decimals": 18, + "name": "BCL", + "symbol": "BCL" + }, + { + "address": "0x1c4481750daa5Ff521A2a7490d9981eD46465Dbd", + "decimals": 18, + "name": "BCPT", + "symbol": "BCPT" + }, + { + "address": "0x1014613E2B3CBc4d575054D4982E580d9b99d7B1", + "decimals": 8, + "name": "BitCapitalVendor Token", + "symbol": "BCV" + }, + { + "address": "0x1961B3331969eD52770751fC718ef530838b6dEE", + "decimals": 18, + "name": "BitDegree Token", + "symbol": "BDG" + }, + { + "address": "0x4D8fc1453a0F359e99c9675954e656D80d996FbF", + "decimals": 18, + "name": "Bee Token", + "symbol": "BEE" + }, + { + "address": "0x74C1E4b8caE59269ec1D85D3D4F324396048F4ac", + "decimals": 0, + "name": "BeerCoin", + "symbol": "BeerCoin" + }, + { + "address": "0x6aEB95F06CDA84cA345c2dE0F3B7f96923a44f4c", + "decimals": 14, + "name": "Berry", + "symbol": "BERRY" + }, + { + "address": "0x8aA33A7899FCC8eA5fBe6A608A109c3893A1B8b2", + "decimals": 18, + "name": "DAO.Casino", + "symbol": "BET" + }, + { + "address": "0x14C926F2290044B647e1Bf2072e67B495eff1905", + "decimals": 18, + "name": "Bethereum", + "symbol": "BETHER" + }, + { + "address": "0x763186eB8d4856D536eD4478302971214FEbc6A9", + "decimals": 18, + "name": "BETR", + "symbol": "BETR" + }, + { + "address": "0x3839d8ba312751Aa0248fEd6a8bACB84308E20Ed", + "decimals": 18, + "name": "Bezop", + "symbol": "BEZ" + }, + { + "address": "0xEE74110fB5A1007b06282e0DE5d73A61bf41d9Cd", + "decimals": 18, + "name": "BHPCash", + "symbol": "BHPC" + }, + { + "address": "0xfe5D908c9Ad85f651185dAa6a4770726E2b27d09", + "decimals": 18, + "name": "BETHER", + "symbol": "BHR" + }, + { + "address": "0x089B85FA15f72c1088CBbef23a49DB80B91DD521", + "decimals": 8, + "name": "BlockEstate Investment Token", + "symbol": "BIT" + }, + { + "address": "0x08b4c866aE9D1bE56a06e0C302054B4FFe067b43", + "decimals": 8, + "name": "BitCar Token", + "symbol": "BITCAR" + }, + { + "address": "0xF3d29Fb98D2DC5E78c87198DEEF99377345fD6F1", + "decimals": 8, + "name": "BITPARK", + "symbol": "BITPARK" + }, + { + "address": "0xb3104b4B9Da82025E8b9F8Fb28b3553ce2f67069", + "decimals": 18, + "name": "Bibox Token", + "symbol": "BIX" + }, + { + "address": "0xB2Bfeb70B903F1BAaC7f2ba2c62934C7e5B974C4", + "decimals": 8, + "name": "BetKing Bankroll Token", + "symbol": "BKB" + }, + { + "address": "0x3cf9E0c385a5ABEC9FD2a71790AA344C4e8E3570", + "decimals": 18, + "name": "BlockRx", + "symbol": "BKRx" + }, + { + "address": "0x45245bc59219eeaAF6cD3f382e078A461FF9De7B", + "decimals": 18, + "name": "BANKEX", + "symbol": "BKX" + }, + { + "address": "0xCA29db4221c111888a7e80b12eAc8a266Da3Ee0d", + "decimals": 18, + "name": "Bolenum", + "symbol": "BLN" + }, + { + "address": "0x107c4504cd79C5d2696Ea0030a8dD4e92601B82e", + "decimals": 18, + "name": "Bloom", + "symbol": "BLT" + }, + { + "address": "0x539EfE69bCDd21a83eFD9122571a64CC25e0282b", + "decimals": 8, + "name": "Ethereum Blue", + "symbol": "BLUE" + }, + { + "address": "0xcE59d29b09aAE565fEEEf8E52f47c3CD5368C663", + "decimals": 18, + "duplicate": false, + "name": "Bullion Crypto", + "symbol": "BLX (Bullion)" + }, + { + "address": "0xE5a7c12972f3bbFe70ed29521C8949b8Af6a0970", + "decimals": 18, + "duplicate": false, + "name": "Iconomi", + "symbol": "BLX (Iconomi)" + }, + { + "address": "0x5732046A883704404F284Ce41FfADd5b007FD668", + "decimals": 18, + "name": "Bluzelle", + "symbol": "BLZ" + }, + { + "address": "0xDf6Ef343350780BF8C3410BF062e0C015B1DD671", + "decimals": 8, + "name": "Blackmoon Crypto BMC Token", + "symbol": "BMC" + }, + { + "address": "0xf028ADEe51533b1B47BEaa890fEb54a457f51E89", + "decimals": 18, + "name": "BMT", + "symbol": "BMT" + }, + { + "address": "0x986EE2B944c42D017F52Af21c4c69B84DBeA35d8", + "decimals": 18, + "name": "BitMart Token", + "symbol": "BMX" + }, + { + "address": "0xB8c77482e45F1F44dE1745F52C74426C631bDD52", + "decimals": 18, + "name": "Binance Coin", + "symbol": "BNB" + }, + { + "address": "0xdA2C424Fc98c741c2d4ef2f42897CEfed897CA75", + "decimals": 9, + "name": "Benefits Coin", + "symbol": "BNFT" + }, + { + "address": "0xDA80B20038BDF968C7307BB5907A469482CF6251", + "decimals": 8, + "name": "BrokerNekoNetwork", + "symbol": "BNN" + }, + { + "address": "0x1F573D6Fb3F13d689FF844B4cE37794d79a7FF1C", + "decimals": 18, + "name": "Bancor", + "symbol": "BNT" + }, + { + "address": "0xd2d6158683aeE4Cc838067727209a0aAF4359de3", + "decimals": 18, + "name": "Bounty0x Token", + "symbol": "BNTY" + }, + { + "address": "0xDF347911910b6c9A4286bA8E2EE5ea4a39eB2134", + "decimals": 18, + "name": "Bob's repair", + "symbol": "BOB" + }, + { + "address": "0xCc34366E3842cA1BD36c1f324d15257960fCC801", + "decimals": 18, + "name": "Bonpay", + "symbol": "BON" + }, + { + "address": "0x7F1E2C7d6A69bf34824D72C53B4550E895C0D8C2", + "decimals": 8, + "name": "BlockOptiopns Token", + "symbol": "BOP" + }, + { + "address": "0xC2C63F23ec5E97efbD7565dF9Ec764FDc7d4e91d", + "decimals": 18, + "name": "Boule Coin", + "symbol": "BOU" + }, + { + "address": "0x139d9397274bb9E2C29A9aa8Aa0b5874d30D62E3", + "decimals": 18, + "name": "BoutsPro", + "symbol": "BOUTS" + }, + { + "address": "0x780116D91E5592E58a3b3c76A351571b39abCEc6", + "decimals": 15, + "name": "BOXX Token [Blockparty]", + "symbol": "BOXX" + }, + { + "address": "0x327682779bAB2BF4d1337e8974ab9dE8275A7Ca8", + "decimals": 18, + "name": "Blockport Token", + "symbol": "BPT" + }, + { + "address": "0x5Af2Be193a6ABCa9c8817001F45744777Db30756", + "decimals": 8, + "name": "Bitquence", + "symbol": "BQX" + }, + { + "address": "0x9E77D5a1251b6F7D456722A6eaC6D2d5980bd891", + "decimals": 8, + "name": "BRAT", + "symbol": "BRAT" + }, + { + "address": "0x558EC3152e2eb2174905cd19AeA4e34A23DE9aD6", + "decimals": 18, + "name": "Bread", + "symbol": "BRD" + }, + { + "address": "0x80046305aaab08F6033b56a360c184391165dc2d", + "decimals": 18, + "name": "Berlin Coin", + "symbol": "BRLN" + }, + { + "address": "0xF26ef5E0545384b7Dcc0f297F2674189586830DF", + "decimals": 18, + "name": "BSDC", + "symbol": "BSDC" + }, + { + "address": "0x509A38b7a1cC0dcd83Aa9d06214663D9eC7c7F4a", + "decimals": 18, + "name": "BlocksquareToken", + "symbol": "BST" + }, + { + "address": "0x02725836ebF3eCDb1cDf1c7b02FcbBfaa2736AF8", + "decimals": 8, + "name": "BitAir", + "symbol": "BTCA" + }, + { + "address": "0x0886949c1b8C412860c4264Ceb8083d1365e86CF", + "decimals": 8, + "name": "EthereumBitcoin", + "symbol": "BTCE" + }, + { + "address": "0x5acD19b9c91e596b1f062f18e3D02da7eD8D1e50", + "decimals": 8, + "name": "BTC Lite", + "symbol": "BTCL" + }, + { + "address": "0x87f5E8c3425218837f3CB67dB941aF0C01323E56", + "decimals": 18, + "name": "BitCoin One", + "symbol": "BTCONE" + }, + { + "address": "0x6Aac8CB9861E42bf8259F5AbDC6aE3Ae89909E11", + "decimals": 8, + "name": "BitCoin Red", + "symbol": "BTCR" + }, + { + "address": "0x73dD069c299A5d691E9836243BcaeC9c8C1D8734", + "decimals": 8, + "name": "BTE", + "symbol": "BTE" + }, + { + "address": "0xFAd572db566E5234AC9Fc3d570c4EdC0050eAA92", + "decimals": 18, + "name": "Bytether", + "symbol": "BTH" + }, + { + "address": "0xa02e3bB9cEbc03952601B3724B4940e0845BeBcf", + "decimals": 18, + "name": "Bethereum", + "symbol": "BTHR" + }, + { + "address": "0xdb8646F5b487B5Dd979FAC618350e85018F557d4", + "decimals": 18, + "name": "Bitcoin Token", + "symbol": "BTK" + }, + { + "address": "0xcB97e65F07DA24D46BcDD078EBebd7C6E6E3d750", + "decimals": 8, + "name": "Bytom", + "symbol": "BTM" + }, + { + "address": "0x36905Fc93280f52362A1CBAB151F25DC46742Fb5", + "decimals": 18, + "name": "Bottos", + "symbol": "BTO" + }, + { + "address": "0x16B0E62aC13a2fAeD36D18bce2356d25Ab3CfAD3", + "decimals": 18, + "name": "Bitcoin Boutique", + "symbol": "BTQ" + }, + { + "address": "0x499A6B77bc25C26bCf8265E2102B1B3dd1617024", + "decimals": 18, + "name": "Bitether", + "symbol": "BTR" + }, + { + "address": "0x03C780cD554598592B97b7256dDAad759945b125", + "decimals": 18, + "name": "Biotron", + "symbol": "BTRN" + }, + { + "address": "0x080aa07E2C7185150d7e4DA98838A8d2feac3dfC", + "decimals": 0, + "name": "Bitether", + "symbol": "BTT" + }, + { + "address": "0xFA456Cf55250A839088b27EE32A424d7DAcB54Ff", + "decimals": 18, + "name": "Blocktrade.com", + "symbol": "BTTX" + }, + { + "address": "0xb683D83a532e2Cb7DFa5275eED3698436371cc9f", + "decimals": 18, + "name": "BTU Protocol", + "symbol": "BTU" + }, + { + "address": "0xE5f867dE1EA81346df5181b8b48DD6B0BB3357B0", + "decimals": 18, + "name": "BTZ by Bunz", + "symbol": "BTZ" + }, + { + "address": "0xCa3c18a65b802eC267f8f4802545e7F53D24C75e", + "decimals": 18, + "name": "BeeUnity Chain", + "symbol": "BUC" + }, + { + "address": "0xbD168CbF9d3a375B38dC51A202B5E8a4E52069Ed", + "decimals": 18, + "name": "Blue Whale Token", + "symbol": "BWX" + }, + { + "address": "0x4375E7aD8A01B8eC3Ed041399f62D9Cd120e0063", + "decimals": 18, + "name": "Bit-Z Token", + "symbol": "BZ" + }, + { + "address": "0xE1Aee98495365fc179699C1bB3E761FA716beE62", + "decimals": 18, + "name": "Bezant", + "symbol": "BZNT" + }, + { + "address": "0x26E75307Fc0C021472fEb8F727839531F112f317", + "decimals": 18, + "name": "Crypto20's Token", + "symbol": "C20" + }, + { + "address": "0xd42debE4eDc92Bd5a3FBb4243e1ecCf6d63A4A5d", + "decimals": 18, + "name": "Carboneum", + "symbol": "C8" + }, + { + "address": "0x7d4b8Cce0591C9044a22ee543533b72E976E36C3", + "decimals": 18, + "name": "Change Bank", + "symbol": "CAG" + }, + { + "address": "0x1d462414fe14cf489c7A21CaC78509f4bF8CD7c0", + "decimals": 6, + "name": "CAN", + "symbol": "CAN" + }, + { + "address": "0x04F2E7221fdb1B52A68169B25793E51478fF0329", + "decimals": 2, + "name": "Cappasity", + "symbol": "CAPP" + }, + { + "address": "0xA517a46Baad6B054A76bD19c46844f717fe69fea", + "decimals": 8, + "name": "CarbCoin", + "symbol": "CARB" + }, + { + "address": "0x2108E62D335Bbdc89eC3E9d8582F18DCFB0cDFf4", + "decimals": 8, + "name": "CARCO", + "symbol": "CARCO" + }, + { + "address": "0xbF18F246B9301F231e9561B35A3879769BB46375", + "decimals": 18, + "name": "Token CARE", + "symbol": "CARE" + }, + { + "address": "0xe8780B48bdb05F928697A5e8155f672ED91462F7", + "decimals": 18, + "name": "Cashaa", + "symbol": "CAS" + }, + { + "address": "0x1234567461d3f8Db7496581774Bd869C83D51c93", + "decimals": 18, + "duplicate": false, + "name": "CAT (BitClave)", + "symbol": "CAT (BitClave)" + }, + { + "address": "0x56ba2Ee7890461f463F7be02aAC3099f6d5811A8", + "decimals": 18, + "duplicate": false, + "name": "CAT (Blockcat)", + "symbol": "CAT (Blockcat)" + }, + { + "address": "0x68e14bb5A45B9681327E16E528084B9d962C1a39", + "decimals": 18, + "name": "CATs (BitClave)_Old", + "symbol": "CATs (BitClave)_Old" + }, + { + "address": "0x26DB5439F651CAF491A87d48799dA81F191bDB6b", + "decimals": 8, + "name": "CashBet Coin", + "symbol": "CBC" + }, + { + "address": "0x05C3617cBf1304b9260AA61ec960F115D67beCEA", + "decimals": 18, + "name": "Cubrix", + "symbol": "CBIX" + }, + { + "address": "0x95eFD1Fe6099F65a7ED524DEF487483221094947", + "decimals": 18, + "name": "CryptoBonusMiles", + "symbol": "CBM" + }, + { + "address": "0x076C97e1c869072eE22f8c91978C99B4bcB02591", + "decimals": 18, + "name": "CommerceBlock", + "symbol": "CBT" + }, + { + "address": "0xc166038705FFBAb3794185b3a9D925632A1DF37D", + "decimals": 18, + "name": "Coal Coin", + "symbol": "CC3" + }, + { + "address": "0x28577A6d31559bd265Ce3ADB62d0458550F7b8a7", + "decimals": 18, + "duplicate": false, + "name": "CryptoCrashCourse", + "symbol": "CCC (CryptoCrashCourse)" + }, + { + "address": "0xBE11eEb186e624b8f26A5045575a1340E4054552", + "decimals": 18, + "duplicate": false, + "name": "CCC (ICONOMI)", + "symbol": "CCC (ICONOMI)" + }, + { + "address": "0x378903a03FB2C3AC76BB52773e3CE11340377A32", + "decimals": 18, + "name": "Clipper Coin", + "symbol": "CCCX" + }, + { + "address": "0xd348e07A2806505B856123045d27aeeD90924b50", + "decimals": 8, + "name": "Christ Coin", + "symbol": "CCLC" + }, + { + "address": "0x679BADc551626e01B23CeecEFBc9B877EA18fc46", + "decimals": 18, + "name": "Ccore", + "symbol": "CCO" + }, + { + "address": "0x315cE59FAFd3A8d562b7Ec1C8542382d2710b06c", + "decimals": 18, + "name": "CacaoShares", + "symbol": "CCS" + }, + { + "address": "0x336F646F87D9f6bC6Ed42Dd46E8b3fD9DbD15C22", + "decimals": 18, + "name": "Crystal Clear Token", + "symbol": "CCT" + }, + { + "address": "0x8a95ca448A52C0ADf0054bB3402dC5e09CD6B232", + "decimals": 18, + "name": "Confideal", + "symbol": "CDL" + }, + { + "address": "0x177d39AC676ED1C67A2b268AD7F1E58826E5B0af", + "decimals": 18, + "name": "CoinDash", + "symbol": "CDT" + }, + { + "address": "0xb056c38f6b7Dc4064367403E26424CD2c60655e1", + "decimals": 18, + "name": "CEEK VR Token", + "symbol": "CEEK" + }, + { + "address": "0x1122B6a0E00DCe0563082b6e2953f3A943855c1F", + "decimals": 18, + "name": "Centrality", + "symbol": "CENNZ" + }, + { + "address": "0xF660cA1e228e7BE1fA8B4f5583145E31147FB577", + "decimals": 18, + "name": "DICE Money Dicet", + "symbol": "CET" + }, + { + "address": "0x5Dff89a2caa4D76bc286F74D67Bd718eb834da61", + "decimals": 18, + "name": "CryptFillCoin", + "symbol": "CFC" + }, + { + "address": "0x12FEF5e57bF45873Cd9B62E9DBd7BFb99e32D73e", + "decimals": 18, + "name": "Cofound.it", + "symbol": "CFI" + }, + { + "address": "0x6956983F8B3Ce173B4AB84361AA0ad52f38D936f", + "decimals": 8, + "name": "Crafty Token", + "symbol": "CFTY" + }, + { + "address": "0xf3db7560E820834658B590C96234c333Cd3D5E5e", + "decimals": 18, + "name": "CoinPoker", + "symbol": "CHP" + }, + { + "address": "0xba9d4199faB4f26eFE3551D490E3821486f135Ba", + "decimals": 8, + "name": "CHSB", + "symbol": "CHSB" + }, + { + "address": "0x1460a58096d80a50a2F1f956DDA497611Fa4f165", + "decimals": 18, + "name": "Own", + "symbol": "CHX" + }, + { + "address": "0xf75fBfa2f681860B9A6D19FC3FF3D34CB322E2D6", + "decimals": 18, + "name": "CRYPTORIYA", + "symbol": "CIYA" + }, + { + "address": "0x3abdfF32F76b42E7635bdb7e425f0231A5F3aB17", + "decimals": 18, + "name": "ConnectJob", + "symbol": "CJT" + }, + { + "address": "0x06012c8cf97BEaD5deAe237070F9587f8E7A266d", + "decimals": 0, + "name": "CK", + "symbol": "CK" + }, + { + "address": "0xe81D72D14B1516e68ac3190a46C93302Cc8eD60f", + "decimals": 18, + "name": "Coinlancer", + "symbol": "CL" + }, + { + "address": "0xb1c1Cb8C7c1992dba24e628bF7d38E71daD46aeB", + "decimals": 18, + "name": "Cloudbric", + "symbol": "CLB" + }, + { + "address": "0x3dC9a42fa7Afe57BE03c58fD7F4411b1E466C508", + "decimals": 18, + "name": "CryptoLiveLeak", + "symbol": "CLL" + }, + { + "address": "0x4162178B78D6985480A308B2190EE5517460406D", + "decimals": 18, + "name": "ColuLocalNetwork", + "symbol": "CLN" + }, + { + "address": "0x7FCE2856899a6806eeEf70807985fc7554C66340", + "decimals": 9, + "name": "CryptoLending", + "symbol": "CLP" + }, + { + "address": "0x3EDD235C3E840C1F29286B2e39370a255C7B6fdb", + "decimals": 8, + "name": "CMBToken", + "symbol": "CMBT" + }, + { + "address": "0x7e667525521cF61352e2E01b50FaaaE7Df39749a", + "decimals": 18, + "name": "CryptoMart", + "symbol": "CMC" + }, + { + "address": "0x47bc01597798DCD7506DCCA36ac4302fc93a8cFb", + "decimals": 8, + "name": "Crowd Machine Compute Token", + "symbol": "CMCT" + }, + { + "address": "0xf85fEea2FdD81d51177F6b8F35F0e6734Ce45F5F", + "decimals": 18, + "name": "CyberMiles Token", + "symbol": "CMT" + }, + { + "address": "0xEBf2F9E8De960f64ec0fDCDa6Cb282423133347B", + "decimals": 8, + "name": "Canabio", + "symbol": "CNB" + }, + { + "address": "0xd4c435F5B09F855C3317c8524Cb1F586E42795fa", + "decimals": 18, + "name": "Cindicator", + "symbol": "CND" + }, + { + "address": "0x8713d26637CF49e1b6B4a7Ce57106AaBc9325343", + "decimals": 18, + "name": "Content Neutrality Network", + "symbol": "CNN" + }, + { + "address": "0xB4b1D2C217EC0776584CE08D3DD98F90EDedA44b", + "decimals": 18, + "name": "Climatecoin", + "symbol": "CO2" + }, + { + "address": "0x574B36BceD443338875d171CC377E691f7d4F887", + "decimals": 18, + "name": "CO2Bit", + "symbol": "CO2Bit" + }, + { + "address": "0xb2F7EB1f2c37645bE61d73953035360e768D81E6", + "decimals": 18, + "name": "Cobinhood Token", + "symbol": "COB" + }, + { + "address": "0x3136eF851592aCf49CA4C825131E364170FA32b3", + "decimals": 18, + "name": "CoinFi Token", + "symbol": "COFI" + }, + { + "address": "0x0C91B015AbA6f7B4738dcD36E7410138b29ADC29", + "decimals": 8, + "name": "CoinOil", + "symbol": "COIL" + }, + { + "address": "0x725B190Bc077FFde17Cf549AA8ba25e298550B18", + "decimals": 2, + "name": "Corrently Invest Token", + "symbol": "CORI" + }, + { + "address": "0xC4Bcd64CB216D49fD3C643A32762F34626b45a1a", + "decimals": 18, + "name": "Cosmo Coin", + "symbol": "COSM" + }, + { + "address": "0xE2FB6529EF566a080e6d23dE0bd351311087D567", + "decimals": 18, + "name": "Covesting", + "symbol": "COV" + }, + { + "address": "0x0Ebb614204E47c09B6C3FeB9AAeCad8EE060E23E", + "decimals": 0, + "name": "Cryptopay", + "symbol": "CPAY" + }, + { + "address": "0xb787d4eAc8899730bb8C57fc3c998c49c5244ec0", + "decimals": 8, + "name": "CoinPulseToken", + "symbol": "CPEX" + }, + { + "address": "0x7064aAb39A0Fcf7221c3396719D0917a65E35515", + "decimals": 18, + "name": "CPOLLO", + "symbol": "CPLO" + }, + { + "address": "0xf44745fBd41F6A1ba151df190db0564c5fCc4410", + "decimals": 18, + "name": "COPYTRACK", + "symbol": "CPY" + }, + { + "address": "0x7F585B9130c64e9e9F470b618A7badD03D79cA7E", + "decimals": 18, + "name": "CR7Coin", + "symbol": "CR7" + }, + { + "address": "0xAef38fBFBF932D1AeF3B808Bc8fBd8Cd8E1f8BC5", + "decimals": 8, + "name": "Creditbit", + "symbol": "CRB" + }, + { + "address": "0x2cF618c19041D9Db330d8222B860A624021F30fb", + "decimals": 18, + "name": "Cruisebit", + "symbol": "CRBT" + }, + { + "address": "0xF41e5Fbc2F6Aac200Dd8619E121CE1f05D150077", + "decimals": 18, + "name": "CryCash", + "symbol": "CRC" + }, + { + "address": "0x672a1AD4f667FB18A333Af13667aa0Af1F5b5bDD", + "decimals": 18, + "name": "CRED", + "symbol": "CRED" + }, + { + "address": "0x4E0603e2A27A30480E5e3a4Fe548e29EF12F64bE", + "decimals": 18, + "name": "Credo / Bitbounce", + "symbol": "CREDO" + }, + { + "address": "0xf49CDD50aD408d387d611F88A647179C3de3492b", + "decimals": 18, + "name": "CargoCoin", + "symbol": "CRGO" + }, + { + "address": "0x9238bfB781A55eACC3Cf05F7DF94038c198CD9B9", + "decimals": 8, + "name": "Cremit", + "symbol": "CRMT" + }, + { + "address": "0x80A7E048F37A50500351C204Cb407766fA3baE7f", + "decimals": 18, + "name": "CrypteriumToken", + "symbol": "CRPT" + }, + { + "address": "0xF0da1186a4977226b9135d0613ee72e229EC3F4d", + "decimals": 18, + "name": "CreamtoeCoin", + "symbol": "CRT" + }, + { + "address": "0xE4c94d45f7Aef7018a5D66f44aF780ec6023378e", + "decimals": 6, + "name": "CryptoCarbon", + "symbol": "CryptoCarbon" + }, + { + "address": "0x46b9Ad944d1059450Da1163511069C718F699D31", + "decimals": 6, + "name": "Credits", + "symbol": "CS" + }, + { + "address": "0x29D75277aC7F0335b2165D0895E8725cbF658d73", + "decimals": 8, + "name": "BitDice", + "symbol": "CSNO" + }, + { + "address": "0xBB49A51Ee5a66ca3a8CbE529379bA44Ba67E6771", + "decimals": 18, + "name": "Cryptosolartech", + "symbol": "CST" + }, + { + "address": "0x4545750F39aF6Be4F237B6869D4EccA928Fd5A85", + "decimals": 18, + "name": "CryptoTask", + "symbol": "CTF" + }, + { + "address": "0xC87c5dD86A3d567fF28701886fB0745aaa898da4", + "decimals": 18, + "name": "CT Global Token", + "symbol": "CTG" + }, + { + "address": "0x9E7D29bd499B6c7da2a5B2EaFCF4A39d3BD845D1", + "decimals": 18, + "name": "Convenient To Go", + "symbol": "CTGC" + }, + { + "address": "0xBf4cFD7d1eDeeEA5f6600827411B41A21eB08abd", + "decimals": 2, + "name": "CTL", + "symbol": "CTL" + }, + { + "address": "0x96A65609a7B84E8842732DEB08f56C3E21aC6f8a", + "decimals": 18, + "name": "Centra", + "symbol": "CTR" + }, + { + "address": "0xE3Fa177AcecfB86721Cf6f9f4206bd3Bd672D7d5", + "decimals": 18, + "name": "ChainTrade Token", + "symbol": "CTT" + }, + { + "address": "0x662aBcAd0b7f345AB7FfB1b1fbb9Df7894f18e66", + "decimals": 18, + "name": "CarTaxi", + "symbol": "CTX" + }, + { + "address": "0xEa11755Ae41D889CeEc39A63E6FF75a02Bc1C00d", + "decimals": 18, + "name": "Cortex", + "symbol": "CTXC" + }, + { + "address": "0xdA6cb58A0D0C01610a29c5A65c303e13e885887C", + "decimals": 18, + "name": "carVertical", + "symbol": "cV" + }, + { + "address": "0x41e5560054824eA6B0732E656E3Ad64E20e94E45", + "decimals": 8, + "name": "CVC", + "symbol": "CVC" + }, + { + "address": "0xBe428c3867F05deA2A89Fc76a102b544eaC7f772", + "decimals": 18, + "name": "CyberVein", + "symbol": "CVT" + }, + { + "address": "0x2134057C0b461F898D375Cead652Acae62b59541", + "decimals": 18, + "name": "CoxxxCoin", + "symbol": "CXC" + }, + { + "address": "0xb6EE9668771a79be7967ee29a63D4184F8097143", + "decimals": 18, + "name": "CargoX", + "symbol": "CXO" + }, + { + "address": "0x3f06B5D78406cD97bdf10f5C420B241D32759c80", + "decimals": 18, + "name": "CyberFM", + "symbol": "CYFM" + }, + { + "address": "0x78c292D1445E6b9558bf42e8BC369271DeD062eA", + "decimals": 8, + "name": "CyberMusic", + "symbol": "CYMT" + }, + { + "address": "0x0223fc70574214F65813fE336D870Ac47E147fAe", + "decimals": 18, + "name": "CanonChain", + "symbol": "CZR" + }, + { + "address": "0xdab0C31BF34C897Fb0Fe90D12EC9401caf5c36Ec", + "decimals": 0, + "name": "DAB", + "symbol": "DAB" + }, + { + "address": "0xA31108E5BAB5494560Db34c95492658AF239357C", + "decimals": 18, + "name": "DACSEE", + "symbol": "DACS" + }, + { + "address": "0xFb2f26F266Fb2805a387230f2aa0a331b4d96Fba", + "decimals": 18, + "name": "DADI", + "symbol": "DADI" + }, + { + "address": "0x89d24A6b4CcB1B6fAA2625fE562bDD9a23260359", + "decimals": 18, + "duplicate": false, + "name": "Dai Stablecoin v1.0", + "symbol": "DAI" + }, + { + "address": "0x07D9e49Ea402194bf48A8276dAfB16E4eD633317", + "decimals": 8, + "name": "DaleCoin", + "symbol": "DALC" + }, + { + "address": "0x9B70740e708a083C6fF38Df52297020f5DfAa5EE", + "decimals": 10, + "name": "DaneelToken", + "symbol": "DAN" + }, + { + "address": "0xBB9bc244D798123fDe783fCc1C72d3Bb8C189413", + "decimals": 16, + "name": "DAO", + "symbol": "DAO" + }, + { + "address": "0x81c9151de0C8bafCd325a57E3dB5a5dF1CEBf79c", + "decimals": 18, + "name": "Datum Token", + "symbol": "DAT" + }, + { + "address": "0x1B5f21ee98eed48d292e8e2d3Ed82b40a9728A22", + "decimals": 18, + "name": "DataBrokerDAO Token", + "symbol": "DATABroker" + }, + { + "address": "0x0Cf0Ee63788A0849fE5297F3407f701E122cC023", + "decimals": 18, + "name": "DATACoin", + "symbol": "DATACoin" + }, + { + "address": "0xaBbBB6447B68ffD6141DA77C18c7B5876eD6c5ab", + "decimals": 18, + "name": "DATx", + "symbol": "DATX" + }, + { + "address": "0xd82Df0ABD3f51425Eb15ef7580fDA55727875f14", + "decimals": 18, + "name": "DAV Token", + "symbol": "DAV" + }, + { + "address": "0x0B4BdC478791897274652DC15eF5C135cae61E60", + "decimals": 18, + "name": "DAEX", + "symbol": "DAX" + }, + { + "address": "0x61725f3db4004AFE014745B21DAb1E1677CC328b", + "decimals": 18, + "name": "Digital Asset Exchange Token", + "symbol": "DAXT" + }, + { + "address": "0xE814aeE960a85208C3dB542C53E7D4a6C8D5f60F", + "decimals": 18, + "name": "ChronoLogic DAY", + "symbol": "DAY" + }, + { + "address": "0x9b68bFaE21DF5A510931A262CECf63f41338F264", + "decimals": 18, + "name": "DecentBet", + "symbol": "DBET" + }, + { + "address": "0x386Faa4703a34a7Fdb19Bec2e14Fd427C9638416", + "decimals": 18, + "name": "DoBetAcceptBet", + "symbol": "DCA" + }, + { + "address": "0xFFa93Aacf49297D51E211817452839052FDFB961", + "decimals": 18, + "name": "Distributed Credit Chain", + "symbol": "DCC" + }, + { + "address": "0x399A0e6FbEb3d74c85357439f4c8AeD9678a5cbF", + "decimals": 3, + "name": "DCL", + "symbol": "DCL" + }, + { + "address": "0x08d32b0da63e2C3bcF8019c9c5d849d7a9d791e6", + "decimals": 0, + "name": "Dentacoin", + "symbol": "DCN" + }, + { + "address": "0xcC4eF9EEAF656aC1a2Ab886743E98e97E090ed38", + "decimals": 18, + "name": "DDF", + "symbol": "DDF" + }, + { + "address": "0x151202C9c18e495656f372281F493EB7698961D5", + "decimals": 18, + "name": "DEBITUM", + "symbol": "DEB" + }, + { + "address": "0x075c60EE2cD308ff47873b38Bd9A0Fa5853382c4", + "decimals": 18, + "name": "DeezNuts", + "symbol": "DEEZ" + }, + { + "address": "0xDE1E0AE6101b46520cF66fDC0B1059c5cC3d106c", + "decimals": 8, + "name": "DeltaChain", + "symbol": "DELTA" + }, + { + "address": "0x3597bfD533a99c9aa083587B074434E61Eb0A258", + "decimals": 8, + "name": "DENT", + "symbol": "DENT" + }, + { + "address": "0xdd94De9cFE063577051A5eb7465D08317d8808B6", + "decimals": 0, + "name": "Devcon2 Token", + "symbol": "Devcon2 Token" + }, + { + "address": "0x20E94867794dBA030Ee287F1406E100d03C84Cd3", + "decimals": 18, + "name": "DEW", + "symbol": "DEW" + }, + { + "address": "0x497bAEF294c11a5f0f5Bea3f2AdB3073DB448B56", + "decimals": 18, + "name": "DEX", + "symbol": "DEX" + }, + { + "address": "0xE0B7927c4aF23765Cb51314A0E0521A9645F0E2A", + "decimals": 9, + "duplicate": false, + "name": "Digix DAO", + "symbol": "DGD" + }, + { + "address": "0xf6cFe53d6FEbaEEA051f400ff5fc14F0cBBDacA1", + "decimals": 18, + "name": "DigiPulse", + "symbol": "DGPT" + }, + { + "address": "0x6aEDbF8dFF31437220dF351950Ba2a3362168d1b", + "decimals": 8, + "name": "Dragonglass", + "symbol": "DGS" + }, + { + "address": "0x1C83501478f1320977047008496DACBD60Bb15ef", + "decimals": 18, + "name": "DigitexFutures", + "symbol": "DGTX" + }, + { + "address": "0x4f3AfEC4E5a3F2A6a1A411DEF7D7dFe50eE057bF", + "decimals": 9, + "name": "Digix Gold Token", + "symbol": "DGX" + }, + { + "address": "0x55b9a11c2e8351b4Ffc7b11561148bfaC9977855", + "decimals": 9, + "name": "Digix Gold Token 1.0", + "symbol": "DGX1" + }, + { + "address": "0x2e071D2966Aa7D8dECB1005885bA1977D6038A65", + "decimals": 16, + "name": "Etheroll", + "symbol": "DICE" + }, + { + "address": "0xc719d010B63E5bbF2C0551872CD5316ED26AcD83", + "decimals": 18, + "name": "Decentralized Insurance Protocol", + "symbol": "DIP" + }, + { + "address": "0xf14922001A2FB8541a433905437ae954419C2439", + "decimals": 8, + "name": "Digital Insurance Token", + "symbol": "DIT" + }, + { + "address": "0x13f11C9905A08ca76e3e853bE63D4f0944326C72", + "decimals": 18, + "name": "DIVX", + "symbol": "DIVX" + }, + { + "address": "0xBA187B09fFA8DDdc80d2571eD3cbC4Be0Af69E0c", + "comment": "Game built on Ethereum and Unity, currently being developed in stealth mode", + "decimals": 18, + "name": "Draggin Karma Points", + "symbol": "DKP" + }, + { + "address": "0x07e3c70653548B04f0A75970C1F81B4CBbFB606f", + "decimals": 18, + "name": "Agrello", + "symbol": "DLT" + }, + { + "address": "0x2ccbFF3A042c68716Ed2a2Cb0c544A9f1d1935E1", + "decimals": 8, + "name": "DMarket Token", + "symbol": "DMT" + }, + { + "address": "0x82b0E50478eeaFde392D45D1259Ed1071B6fDa81", + "decimals": 18, + "name": "EncrypGen", + "symbol": "DNA" + }, + { + "address": "0x0AbdAce70D3790235af448C88547603b945604ea", + "decimals": 18, + "name": "District0x Network Token", + "symbol": "DNT" + }, + { + "address": "0xE43E2041dc3786e166961eD9484a5539033d10fB", + "decimals": 18, + "name": "DenCity", + "symbol": "DNX" + }, + { + "address": "0xE5Dada80Aa6477e85d09747f2842f7993D0Df71C", + "decimals": 18, + "name": "Dock", + "symbol": "DOCK" + }, + { + "address": "0x906b3f8b7845840188Eab53c3f5AD348A787752f", + "decimals": 15, + "name": "Dorado", + "symbol": "DOR" + }, + { + "address": "0xac3211a5025414Af2866FF09c23FC18bc97e79b1", + "decimals": 18, + "name": "Dovu", + "symbol": "DOV" + }, + { + "address": "0x01b3Ec4aAe1B8729529BEB4965F27d008788B0EB", + "decimals": 18, + "name": "Digital Assets Power Play", + "symbol": "DPP" + }, + { + "address": "0x82f4dED9Cec9B5750FBFf5C2185AEe35AfC16587", + "decimals": 6, + "name": "DREAM", + "symbol": "DREAM" + }, + { + "address": "0x419c4dB4B9e25d6Db2AD9691ccb832C8D9fDA05E", + "decimals": 18, + "name": "Dragon", + "symbol": "DRGN" + }, + { + "address": "0xe30e02f049957e2A5907589e06Ba646fB2c321bA", + "decimals": 8, + "name": "DCORP Utility", + "symbol": "DRPU" + }, + { + "address": "0x9AF4f26941677C706cfEcf6D3379FF01bB85D5Ab", + "decimals": 8, + "name": "DomRaider", + "symbol": "DRT" + }, + { + "address": "0x62D4c04644314F35868Ba4c65cc27a77681dE7a9", + "decimals": 18, + "name": "Driveholic Token", + "symbol": "DRVH" + }, + { + "address": "0x1e09BD8Cadb441632e441Db3e1D79909EE0A2256", + "decimals": 1, + "name": "Digital Safe Coin", + "symbol": "DSC" + }, + { + "address": "0x03e3f0c25965f13DbbC58246738C183E27b26a56", + "decimals": 18, + "name": "Disciplina Token", + "symbol": "DSCP" + }, + { + "address": "0x68d53441c0e253f76c500e551bdeA3D102206C9a", + "decimals": 18, + "name": "Dimensions Strike Token", + "symbol": "DST" + }, + { + "address": "0x5adc961D6AC3f7062D2eA45FEFB8D8167d44b190", + "decimals": 18, + "name": "dether", + "symbol": "DTH" + }, + { + "address": "0xd234BF2410a0009dF9c3C63b610c09738f18ccD7", + "decimals": 8, + "name": "DTR", + "symbol": "DTR" + }, + { + "address": "0xc20464e0C373486d2B3335576e83a218b1618A5E", + "decimals": 18, + "name": "Datarius Credit", + "symbol": "DTRC" + }, + { + "address": "0xf9F7c29CFdf19FCf1f2AA6B84aA367Bcf1bD1676", + "decimals": 18, + "name": "Delphi Tech Token", + "symbol": "DTT" + }, + { + "address": "0x8dB54ca569D3019A2ba126D03C37c44b5eF81EF6", + "decimals": 8, + "name": "Datawallet", + "symbol": "DXT" + }, + { + "address": "0xCe5c603C78d047Ef43032E96b5B785324f753a4F", + "decimals": 2, + "name": "E4ROW", + "symbol": "E4ROW" + }, + { + "address": "0x994f0DffdbaE0BbF09b652D6f11A493fd33F42B9", + "decimals": 18, + "name": "EagleCoin", + "symbol": "EAGLE" + }, + { + "address": "0x900b4449236a7bb26b286601dD14d2bDe7a6aC6c", + "decimals": 8, + "name": "Earth Token", + "symbol": "EARTH" + }, + { + "address": "0x31f3D9D1BeCE0c033fF78fA6DA60a6048F3E13c5", + "decimals": 18, + "name": "EBCoin", + "symbol": "EBC" + }, + { + "address": "0xaFC39788c51f0c1Ff7B55317f3e70299e521Fff6", + "decimals": 8, + "name": "eBCH", + "symbol": "eBCH" + }, + { + "address": "0xeB7C20027172E5d143fB030d50f91Cece2D1485D", + "decimals": 8, + "name": "eBTC", + "symbol": "eBTC" + }, + { + "address": "0xa578aCc0cB7875781b7880903F4594D13cFa8B98", + "decimals": 2, + "name": "ECN", + "symbol": "ECN" + }, + { + "address": "0x17F93475d2A978f527c3f7c44aBf44AdfBa60D5C", + "decimals": 2, + "name": "EtherCO2", + "symbol": "ECO2" + }, + { + "address": "0x171D750d42d661B62C277a6B486ADb82348c3Eca", + "decimals": 18, + "name": "Omnitude", + "symbol": "ECOM" + }, + { + "address": "0xFA1DE2Ee97e4c10C94C91Cb2b5062b89Fb140b82", + "decimals": 6, + "name": "Education Credits", + "symbol": "EDC" + }, + { + "address": "0x08711D3B02C8758F2FB3ab4e80228418a7F8e39c", + "decimals": 0, + "name": "Edgeless", + "symbol": "EDG" + }, + { + "address": "0xCeD4E93198734dDaFf8492d525Bd258D49eb388E", + "decimals": 18, + "name": "Eidoo", + "symbol": "EDO" + }, + { + "address": "0xc528c28FEC0A90C083328BC45f587eE215760A0F", + "decimals": 18, + "name": "Endor Protocol Token", + "symbol": "EDR" + }, + { + "address": "0xb53A96bcBdD9CF78dfF20BAB6C2be7bAec8f00f8", + "decimals": 8, + "name": "ETH GAS", + "symbol": "eGAS" + }, + { + "address": "0x8e1b448EC7aDFc7Fa35FC2e885678bD323176E34", + "decimals": 18, + "name": "Egretia Token", + "symbol": "EGT" + }, + { + "address": "0xf9F0FC7167c311Dd2F1e21E9204F87EBA9012fB2", + "decimals": 8, + "name": "EasyHomes", + "symbol": "EHT" + }, + { + "address": "0xa6a840E50bCaa50dA017b91A0D86B8b2d41156EE", + "decimals": 18, + "name": "EchoLink", + "symbol": "EKO" + }, + { + "address": "0xBAb165dF9455AA0F2AeD1f2565520B91DDadB4c8", + "decimals": 8, + "name": "EDUCare", + "symbol": "EKT" + }, + { + "address": "0xD49ff13661451313cA1553fd6954BD1d9b6E02b9", + "decimals": 18, + "name": "Electrify.Asia", + "symbol": "ELEC" + }, + { + "address": "0xbf2179859fc6D5BEE9Bf9158632Dc51678a4100e", + "decimals": 18, + "name": "ELF Token", + "symbol": "ELF" + }, + { + "address": "0xc8C6A31A4A806d3710A7B38b7B296D2fABCCDBA8", + "decimals": 18, + "name": "Elixir Token", + "symbol": "ELIX" + }, + { + "address": "0x44197A4c44D6A059297cAf6be4F7e172BD56Caaf", + "decimals": 8, + "name": "ELTCOIN", + "symbol": "ELTCOIN" + }, + { + "address": "0xa95592DCFfA3C080B4B40E459c5f5692F67DB7F8", + "decimals": 18, + "name": "ELYCOIN", + "symbol": "ELY" + }, + { + "address": "0xb67b88a25708a35AE7c2d736D398D268CE4f7F83", + "decimals": 8, + "name": "Etheremon", + "symbol": "EMON" + }, + { + "address": "0x95dAaaB98046846bF4B2853e23cba236fa394A31", + "decimals": 8, + "name": "Etheremon Token", + "symbol": "EMONT" + }, + { + "address": "0x9501BFc48897DCEEadf73113EF635d2fF7ee4B97", + "decimals": 18, + "name": "easyMINE Token", + "symbol": "EMT" + }, + { + "address": "0xB802b24E0637c2B87D2E8b7784C055BBE921011a", + "decimals": 2, + "name": "EMovieVenture", + "symbol": "EMV" + }, + { + "address": "0x039F5050dE4908f9b5ddF40A4F3Aa3f329086387", + "decimals": 18, + "name": "Ethernet.Cash", + "symbol": "ENC" + }, + { + "address": "0xf0Ee6b27b759C9893Ce4f094b49ad28fd15A23e4", + "decimals": 8, + "name": "Enigma", + "symbol": "ENG" + }, + { + "address": "0x5DBAC24e98E2a4f43ADC0DC82Af403fca063Ce2c", + "decimals": 18, + "name": "Engagement Token", + "symbol": "ENGT" + }, + { + "address": "0xF629cBd94d3791C9250152BD8dfBDF380E2a3B9c", + "decimals": 18, + "name": "ENJIN", + "symbol": "ENJ" + }, + { + "address": "0x5BC7e5f0Ab8b2E10D2D0a3F21739FCe62459aeF3", + "decimals": 18, + "name": "Hut34 Entropy Token", + "symbol": "ENTRP" + }, + { + "address": "0x7e9e431a0B8c4D532C745B1043c7FA29a48D4fBa", + "decimals": 18, + "name": "eosDAC", + "symbol": "eosDAC" + }, + { + "address": "0x35BAA72038F127f9f8C8f9B491049f64f377914d", + "decimals": 4, + "name": "ethPoker.io EPX", + "symbol": "EPX" + }, + { + "address": "0x50Ee674689d75C0f88E8f83cfE8c4B69E8fd590D", + "decimals": 8, + "name": "Emphy", + "symbol": "EPY" + }, + { + "address": "0x47dD62D4D075DeAd71d0e00299fc56a2d747beBb", + "decimals": 18, + "name": "Equal", + "symbol": "EQL" + }, + { + "address": "0x74CEDa77281b339142A36817Fa5F9E29412bAb85", + "decimals": 8, + "name": "Eroscoin", + "symbol": "ERO" + }, + { + "address": "0x92A5B04D0ED5D94D7a193d1d334D3D16996f4E13", + "decimals": 18, + "name": "Eristica", + "symbol": "ERT" + }, + { + "address": "0xe8A1Df958bE379045E2B46a31A98B93A2eCDfDeD", + "decimals": 18, + "name": "ESZCoin", + "symbol": "ESZ" + }, + { + "address": "0x1B9743f556D65e757c4c650B4555bAF354cB8bd3", + "decimals": 12, + "name": "Ethbits", + "symbol": "ETBS" + }, + { + "address": "0xDd74a7A3769fA72561B3A69e65968F49748c690c", + "decimals": 18, + "name": "ETCH", + "symbol": "ETCH" + }, + { + "address": "0x28c8d01FF633eA9Cd8fc6a451D7457889E698de6", + "decimals": 0, + "name": "Ethereum Gold", + "symbol": "ETG" + }, + { + "address": "0x3a26746Ddb79B1B8e4450e3F4FFE3285A307387E", + "decimals": 8, + "name": "EtherBTC", + "symbol": "ETHB" + }, + { + "address": "0xdbFb423E9bBF16294388e07696A5120E4CeBA0C5", + "decimals": 18, + "name": "Ethereum Dark", + "symbol": "ETHD" + }, + { + "address": "0x3c4a3ffd813a107febd57B2f01BC344264D90FdE", + "decimals": 2, + "name": "EnergiToken", + "symbol": "ETK" + }, + { + "address": "0x6927C69fb4daf2043fbB1Cb7b86c5661416bea29", + "decimals": 18, + "name": "Etheruem Risen", + "symbol": "ETR" + }, + { + "address": "0xdB25f211AB05b1c97D595516F45794528a807ad8", + "decimals": 2, + "name": "STASIS EURS", + "symbol": "EURS" + }, + { + "address": "0xAbdf147870235FcFC34153828c769A70B3FAe01F", + "decimals": 6, + "name": "EUR Tether (erc20)", + "symbol": "EURT" + }, + { + "address": "0x523630976eB6147621B5c31c781eBe2Ec2a806E0", + "decimals": 18, + "name": "Ether-Backed USD Nomins (erc20)", + "symbol": "eUSD" + }, + { + "address": "0xb62d18DeA74045E822352CE4B3EE77319DC5ff2F", + "decimals": 18, + "name": "EventChain", + "symbol": "EVC" + }, + { + "address": "0x923108a439C4e8C2315c4f6521E5cE95B44e9B4c", + "decimals": 18, + "name": "EVE", + "symbol": "EVE" + }, + { + "address": "0xf3Db5Fa2C66B7aF3Eb0C0b782510816cbe4813b8", + "decimals": 4, + "name": "EVX Token", + "symbol": "EVX" + }, + { + "address": "0x444997b7e7fC830E20089afea3078cd518fCF2A2", + "decimals": 18, + "name": "EWO Token", + "symbol": "EWO" + }, + { + "address": "0x00c4B398500645eb5dA00a1a379a88B11683ba01", + "decimals": 18, + "name": "Eximchain Token", + "symbol": "EXC" + }, + { + "address": "0xc98e0639c6d2EC037A615341c369666B110e80E5", + "decimals": 8, + "name": "eXMRcoin", + "symbol": "EXMR" + }, + { + "address": "0xe469c4473af82217B30CF17b10BcDb6C8c796e75", + "decimals": 0, + "name": "EXRNchain", + "symbol": "EXRN" + }, + { + "address": "0x5c743a35E903F6c584514ec617ACEe0611Cf44f3", + "decimals": 18, + "name": "Experty", + "symbol": "EXY" + }, + { + "address": "0x5e6016Ae7d7C49d347dcF834860B9f3Ee282812b", + "decimals": 8, + "name": "EZToken", + "symbol": "EZT" + }, + { + "address": "0xb67734521eAbBE9C773729dB73E16CC2dfb20A58", + "decimals": 2, + "name": "eRupee", + "symbol": "E\u20b9" + }, + { + "address": "0x0a1D2fF7156a48131553CF381F220bbedB4eFa37", + "decimals": 18, + "name": "FABA", + "symbol": "FABA" + }, + { + "address": "0x1CCAA0F2a7210d76E1fDec740d5F323E2E1b1672", + "decimals": 18, + "name": "Faceter", + "symbol": "FACE" + }, + { + "address": "0x190e569bE071F40c704e15825F285481CB74B6cC", + "decimals": 12, + "name": "FAM", + "symbol": "FAM" + }, + { + "address": "0x90162f41886c0946D09999736f1C15c8a105A421", + "decimals": 18, + "name": "Fan Token", + "symbol": "FAN" + }, + { + "address": "0x23352036E911A22Cfc692B5E2E196692658ADED9", + "decimals": 18, + "name": "Friendz", + "symbol": "FDZ" + }, + { + "address": "0xd9A8cfe21C232D485065cb62a96866799d4645f7", + "decimals": 18, + "name": "FingerPrint", + "symbol": "FGP" + }, + { + "address": "0x52fb36C83ad33C1824912FC81071cA5eEB8AB390", + "decimals": 18, + "name": "Fidelium", + "symbol": "FID" + }, + { + "address": "0xdfC3e857c8cCEA7657E0ed98AB92e048e38deE0f", + "decimals": 18, + "name": "FidelityHouse Token", + "symbol": "FIH" + }, + { + "address": "0x009e864923b49263c7F10D19B7f8Ab7a9A5AAd33", + "decimals": 18, + "name": "Knoxstertoken", + "symbol": "FKX" + }, + { + "address": "0xf04a8ac553FceDB5BA99A64799155826C136b0Be", + "decimals": 18, + "name": "FLIXX", + "symbol": "FLIXX" + }, + { + "address": "0x049399a6B048D52971F7D122aE21A1532722285F", + "decimals": 18, + "name": "Fire Lotto", + "symbol": "FLOT" + }, + { + "address": "0x3a1Bda28AdB5B0a812a7CF10A1950c920F79BcD3", + "decimals": 18, + "name": "FLIP Token", + "symbol": "FLP" + }, + { + "address": "0x9aeFBE0b3C3ba9Eab262CB9856E8157AB7648e09", + "decimals": 18, + "name": "Flair Coin", + "symbol": "FLR" + }, + { + "address": "0x954b5De09A55e59755aCBda29e1Eb74A45D30175", + "decimals": 18, + "name": "Fluz Fluz Global", + "symbol": "FLUZ" + }, + { + "address": "0x70b147E01E9285E7cE68B9BA437Fe3a9190E756a", + "decimals": 18, + "name": "BitFlux", + "symbol": "FLX" + }, + { + "address": "0xb4d0FDFC8497AEF97d3c2892AE682eE06064A2BC", + "decimals": 18, + "name": "Formosa Financial Token", + "symbol": "FMF" + }, + { + "address": "0x4DF47B4969B2911C966506E3592c41389493953b", + "decimals": 18, + "name": "FundRequest", + "symbol": "FND" + }, + { + "address": "0x0707681F344dEB24184037fC0228856F2137B02E", + "decimals": 18, + "name": "FNKOS", + "symbol": "FNKOS" + }, + { + "address": "0xbD4B60a138b3fce3584EA01f50c0908c18f9677A", + "decimals": 8, + "name": "Fintab", + "symbol": "FNTB" + }, + { + "address": "0x2a093BcF0C98Ef744Bb6F69D74f2F85605324290", + "decimals": 8, + "name": "FoodCoin", + "symbol": "FOOD" + }, + { + "address": "0x4270bb238f6DD8B1c3ca01f96CA65b2647c06D3C", + "decimals": 18, + "name": "Fortuna", + "symbol": "FOTA" + }, + { + "address": "0x0ABeFb7611Cb3A01EA3FaD85f33C3C934F8e2cF4", + "decimals": 18, + "name": "FARAD Cryptoken", + "symbol": "FRD" + }, + { + "address": "0x17e67d1CB4e349B9CA4Bc3e17C7DF2a397A7BB64", + "decimals": 18, + "name": "Freyrchain", + "symbol": "FREC" + }, + { + "address": "0x48DF4E0296f908CEAb0428A5182D19B31fC037d6", + "decimals": 8, + "name": "Fitrova", + "symbol": "FRV" + }, + { + "address": "0xD0352a019e9AB9d757776F532377aAEbd36Fd541", + "decimals": 18, + "name": "Fusion", + "symbol": "FSN" + }, + { + "address": "0x78a73B6CBc5D183CE56e786f6e905CaDEC63547B", + "decimals": 18, + "name": "Fabric Token", + "symbol": "FT" + }, + { + "address": "0x943ED852DadB5C3938ECdC6883718df8142DE4C8", + "decimals": 18, + "name": "FansTime", + "symbol": "FTI" + }, + { + "address": "0x2023DCf7c438c8C8C0B0F28dBaE15520B4f3Ee20", + "decimals": 18, + "name": "Futourist Token", + "symbol": "FTR" + }, + { + "address": "0x2AEC18c5500f21359CE1BEA5Dc1777344dF4C0Dc", + "decimals": 18, + "name": "FarmaTrust Token", + "symbol": "FTT" + }, + { + "address": "0xd559f20296FF4895da39b5bd9ADd54b442596a61", + "decimals": 18, + "name": "FintruX Network", + "symbol": "FTX" + }, + { + "address": "0x41875C2332B0877cDFAA699B641402b7D4642c32", + "decimals": 8, + "name": "FUTURAX", + "symbol": "FTXT" + }, + { + "address": "0xEA38eAa3C86c8F9B751533Ba2E562deb9acDED40", + "decimals": 18, + "name": "Etherparty FUEL", + "symbol": "FUEL" + }, + { + "address": "0x419D0d8BdD9aF5e606Ae2232ed285Aff190E711b", + "decimals": 8, + "name": "Funfair", + "symbol": "FUN" + }, + { + "address": "0xc92D6E3E64302C59d734f3292E2A13A13D7E1817", + "decimals": 8, + "name": "FUTURAX", + "symbol": "FXC" + }, + { + "address": "0x1829aA045E21E0D59580024A951DB48096e01782", + "decimals": 18, + "name": "FuzeX", + "symbol": "FXT" + }, + { + "address": "0x88FCFBc22C6d3dBaa25aF478C578978339BDe77a", + "decimals": 18, + "name": "Fund Yourself Now", + "symbol": "FYN" + }, + { + "address": "0x8F0921f30555624143d427b340b1156914882C10", + "decimals": 18, + "name": "FlypMe", + "symbol": "FYP" + }, + { + "address": "0xE5aeE163513119F4F750376C718766B40fA37A5F", + "decimals": 18, + "name": "Frozencoin Network", + "symbol": "Fzcoin" + }, + { + "address": "0xF67451Dc8421F0e0afEB52faa8101034ed081Ed9", + "decimals": 8, + "name": "Gambit", + "symbol": "GAM" + }, + { + "address": "0x687174f8C49ceb7729D925C3A961507ea4Ac7b28", + "decimals": 18, + "name": "Global Awards Token", + "symbol": "GAT" + }, + { + "address": "0x708876f486e448Ee89eB332bFbC8E593553058b9", + "decimals": 18, + "name": "GAVEL", + "symbol": "GAVEL" + }, + { + "address": "0x7585F835ae2d522722d2684323a0ba83401f32f5", + "decimals": 18, + "name": "GBT", + "symbol": "GBT" + }, + { + "address": "0x12fCd6463E66974cF7bBC24FFC4d40d6bE458283", + "decimals": 18, + "name": "Globitex", + "symbol": "GBX" + }, + { + "address": "0xdb0F69306FF8F949f258E83f6b87ee5D052d0b23", + "decimals": 18, + "name": "Globcoin Crypto Platform", + "symbol": "GCP" + }, + { + "address": "0x4F4f0Db4de903B88f2B1a2847971E231D54F8fd3", + "decimals": 8, + "name": "Geens NPO", + "symbol": "GEE" + }, + { + "address": "0x24083Bb30072643C3bB90B44B7285860a755e687", + "decimals": 18, + "name": "GELD", + "symbol": "GELD" + }, + { + "address": "0xc7BbA5b765581eFb2Cdd2679DB5Bea9eE79b201f", + "decimals": 18, + "name": "Gems", + "symbol": "GEM" + }, + { + "address": "0x543Ff227F64Aa17eA132Bf9886cAb5DB55DCAddf", + "decimals": 18, + "name": "DAOstack", + "symbol": "GEN" + }, + { + "address": "0x6DD4e4Aad29A40eDd6A409b9c1625186C9855b4D", + "decimals": 8, + "name": "Parkgene", + "symbol": "GENE" + }, + { + "address": "0x8a854288a5976036A725879164Ca3e91d30c6A1B", + "decimals": 18, + "name": "GET", + "symbol": "GET" + }, + { + "address": "0xFcD862985628b254061F7A918035B80340D045d3", + "decimals": 18, + "name": "GIFcoin Token", + "symbol": "GIF" + }, + { + "address": "0xaE4f56F072c34C0a65B3ae3E4DB797D831439D93", + "decimals": 8, + "name": "Gimli", + "symbol": "GIM" + }, + { + "address": "0x71D01dB8d6a2fBEa7f8d434599C237980C234e4C", + "decimals": 8, + "name": "Gladius", + "symbol": "GLA" + }, + { + "address": "0xb3Bd49E28f8F832b8d1E246106991e546c323502", + "decimals": 18, + "name": "GMT", + "symbol": "GMT" + }, + { + "address": "0x6810e776880C02933D47DB1b9fc05908e5386b96", + "decimals": 18, + "name": "Gnosis", + "symbol": "GNO" + }, + { + "address": "0xa74476443119A942dE498590Fe1f2454d7D4aC0d", + "decimals": 18, + "duplicate": false, + "name": "Golem", + "symbol": "GNT" + }, + { + "address": "0x6EC8a24CaBdc339A06a172F8223ea557055aDAa5", + "decimals": 9, + "name": "Genaro Network", + "symbol": "GNX" + }, + { + "address": "0x247551F2EB3362E222c742E9c788B8957D9BC87e", + "decimals": 18, + "name": "GNY", + "symbol": "GNY" + }, + { + "address": "0xeAb43193CF0623073Ca89DB9B712796356FA7414", + "decimals": 18, + "name": "GOLDX", + "symbol": "GOLDX" + }, + { + "address": "0x423b5F62b328D0D6D44870F4Eee316befA0b2dF5", + "decimals": 18, + "name": "GoNetwork", + "symbol": "GOT" + }, + { + "address": "0x12B19D3e2ccc14Da04FAe33e63652ce469b3F2FD", + "decimals": 12, + "name": "GRID", + "symbol": "GRID" + }, + { + "address": "0xb444208cB0516C150178fCf9a52604BC04A1aCEa", + "decimals": 18, + "name": "GreenMed", + "symbol": "GRMD" + }, + { + "address": "0xC17195bde49D70CefCF8A9F2ee1759FFC27BF0B1", + "decimals": 18, + "name": "Groocoin", + "symbol": "GROO" + }, + { + "address": "0x0a9A9ce600D08BF9b76F49FA4e7b38A67EBEB1E6", + "decimals": 8, + "name": "Growchain", + "symbol": "GROW" + }, + { + "address": "0x228ba514309FFDF03A81a205a6D040E429d6E80C", + "decimals": 18, + "name": "Global Social Chain", + "symbol": "GSC" + }, + { + "address": "0xe530441f4f73bDB6DC2fA5aF7c3fC5fD551Ec838", + "decimals": 4, + "name": "GSENetwork", + "symbol": "GSE" + }, + { + "address": "0xB70835D7822eBB9426B56543E391846C107bd32C", + "decimals": 18, + "name": "GTC Token", + "symbol": "GTC" + }, + { + "address": "0x025abAD9e518516fdaAFBDcdB9701b37fb7eF0FA", + "decimals": 0, + "name": "GTKT", + "symbol": "GTKT" + }, + { + "address": "0xC5bBaE50781Be1669306b9e001EFF57a2957b09d", + "decimals": 5, + "name": "Gifto", + "symbol": "GTO" + }, + { + "address": "0xBDCFbf5C4D91Abc0bC9709C7286d00063c0e6F22", + "decimals": 2, + "name": "Peerguess", + "symbol": "GUESS" + }, + { + "address": "0x9847345de8b614c956146bbea549336d9C8d26b6", + "decimals": 8, + "name": "GULD ERC20", + "symbol": "GULD" + }, + { + "address": "0xf7B098298f7C69Fc14610bf71d5e02c60792894C", + "decimals": 3, + "duplicate": false, + "name": "Matchpool", + "symbol": "GUP" + }, + { + "address": "0x103c3A209da59d3E7C4A89307e66521e081CFDF0", + "decimals": 18, + "name": "Genesis Vision", + "symbol": "GVT" + }, + { + "address": "0x58ca3065C0F24C7c96Aee8d6056b5B5deCf9c2f8", + "decimals": 10, + "name": "GXC", + "symbol": "GXC" + }, + { + "address": "0x22F0AF8D78851b72EE799e05F54A77001586B18A", + "decimals": 10, + "name": "Genevieve VC", + "symbol": "GXVC" + }, + { + "address": "0x9DAe8b7F6D37ea8e5d32C6c3E856a6d8a1d3B363", + "decimals": 18, + "name": "GigziBlack", + "symbol": "GZB" + }, + { + "address": "0x8C65e992297d5f092A756dEf24F4781a280198Ff", + "decimals": 18, + "name": "GazeCoin", + "symbol": "GZE" + }, + { + "address": "0xE638dc39b6aDBEE8526b5C22380b4b45dAf46d8e", + "decimals": 6, + "name": "Gizer", + "symbol": "GZR" + }, + { + "address": "0x48C1B2f3eFA85fbafb2ab951bF4Ba860a08cdBB7", + "decimals": 0, + "name": "ShowHand", + "symbol": "HAND" + }, + { + "address": "0x5A567e28dbFa2bBD3ef13C0a01be114745349657", + "decimals": 2, + "name": "Happiness", + "symbol": "HAPPY" + }, + { + "address": "0x9002D4485b7594e3E850F0a206713B305113f69e", + "decimals": 18, + "name": "Hawala Today", + "symbol": "HAT" + }, + { + "address": "0xE2492F8D2A2618d8709Ca99b1d8d75713Bd84089", + "decimals": 18, + "name": "HeartBout", + "symbol": "HB" + }, + { + "address": "0xDd6C68bb32462e01705011a4e2Ad1a60740f217F", + "decimals": 15, + "name": "Hubii Network", + "symbol": "HBT" + }, + { + "address": "0xE34e1944E776f39B9252790a0527eBDa647aE668", + "decimals": 18, + "name": "HBZ coin", + "symbol": "HBZ" + }, + { + "address": "0xfFe8196bc259E8dEDc544d935786Aa4709eC3E64", + "decimals": 18, + "name": "Hedge Crypto", + "symbol": "HDG" + }, + { + "address": "0x95C4be8534d69C248C0623c4C9a7A2a001c17337", + "decimals": 18, + "name": "HOLDER.TECH", + "symbol": "HDL" + }, + { + "address": "0x491C9A23DB85623EEd455a8EfDd6AbA9b911C5dF", + "decimals": 18, + "name": "HeroNode", + "symbol": "HER" + }, + { + "address": "0xba2184520A1cC49a6159c57e61E1844E085615B6", + "decimals": 8, + "name": "HGT", + "symbol": "HGT" + }, + { + "address": "0x9bb1Db1445b83213a56d90d331894b3f26218e4e", + "decimals": 18, + "name": "HiBTC Token", + "symbol": "HIBT" + }, + { + "address": "0xa9240fBCAC1F0b9A6aDfB04a53c8E3B0cC1D1444", + "decimals": 18, + "name": "ethereumhigh", + "symbol": "HIG" + }, + { + "address": "0x14F37B574242D366558dB61f3335289a5035c506", + "decimals": 3, + "name": "HKG", + "symbol": "HKG" + }, + { + "address": "0x9e6B2B11542f2BC52f3029077acE37E8fD838D7F", + "decimals": 8, + "name": "Hacken", + "symbol": "HKN" + }, + { + "address": "0x88aC94D5d175130347Fc95E109d77AC09dbF5ab7", + "decimals": 18, + "name": "Hicky", + "symbol": "HKY" + }, + { + "address": "0x66eb65D7Ab8e9567ba0fa6E37c305956c5341574", + "decimals": 5, + "name": "Helex", + "symbol": "HLX" + }, + { + "address": "0xAa0bb10CEc1fa372eb3Abc17C933FC6ba863DD9E", + "decimals": 18, + "name": "Hms Token", + "symbol": "HMC" + }, + { + "address": "0xcbCC0F036ED4788F63FC0fEE32873d6A7487b908", + "decimals": 8, + "name": "HMQ", + "symbol": "HMQ" + }, + { + "address": "0xb45d7Bc4cEBcAB98aD09BABDF8C818B2292B672c", + "decimals": 18, + "name": "HODLCoin", + "symbol": "HODL" + }, + { + "address": "0x5B0751713b2527d7f002c0c4e2a37e1219610A6B", + "decimals": 18, + "name": "HORSE", + "symbol": "HORSE" + }, + { + "address": "0x6c6EE5e31d828De241282B9606C8e98Ea48526E2", + "decimals": 18, + "duplicate": false, + "name": "Holo Token", + "symbol": "HOT (Holo)" + }, + { + "address": "0x9AF839687F6C94542ac5ece2e317dAAE355493A1", + "decimals": 18, + "duplicate": false, + "name": "Hydro Protocol", + "symbol": "HOT (Hydro)" + }, + { + "address": "0x38c6A68304cdEfb9BEc48BbFaABA5C5B47818bb2", + "decimals": 18, + "name": "HPBCoin", + "symbol": "HPB" + }, + { + "address": "0x554C20B7c486beeE439277b4540A434566dC4C02", + "decimals": 18, + "name": "HST", + "symbol": "HST" + }, + { + "address": "0x6f259637dcD74C767781E37Bc6133cd6A68aa161", + "decimals": 18, + "name": "Huobi Token", + "symbol": "HT" + }, + { + "address": "0xC0Eb85285d83217CD7c891702bcbC0FC401E2D9D", + "decimals": 8, + "name": "Hiveterminal Token", + "symbol": "HVN" + }, + { + "address": "0xEBBdf302c940c6bfd49C6b165f457fdb324649bc", + "decimals": 18, + "name": "Hydro", + "symbol": "HYDRO" + }, + { + "address": "0xC1E2097d788d33701BA3Cc2773BF67155ec93FC4", + "decimals": 18, + "name": "IADOWR Coin", + "symbol": "IAD" + }, + { + "address": "0x5a84969bb663fb64F6d015DcF9F622Aedc796750", + "decimals": 18, + "name": "ICE", + "symbol": "ICE" + }, + { + "address": "0x888666CA69E0f178DED6D75b5726Cee99A87D698", + "decimals": 18, + "name": "ICONOMI", + "symbol": "ICN" + }, + { + "address": "0xa33e729bf4fdeb868B534e1f20523463D9C46bEe", + "decimals": 10, + "name": "ICO", + "symbol": "ICO" + }, + { + "address": "0x014B50466590340D41307Cc54DCee990c8D58aa8", + "decimals": 6, + "name": "ICOS", + "symbol": "ICOS" + }, + { + "address": "0xb5A5F22694352C15B00323844aD545ABb2B11028", + "decimals": 18, + "name": "ICON", + "symbol": "ICX" + }, + { + "address": "0x814CAfd4782d2e728170FDA68257983F03321c58", + "decimals": 0, + "name": "IDEA Token", + "symbol": "IDEA" + }, + { + "address": "0x5136C98A80811C3f46bDda8B5c4555CFd9f812F0", + "decimals": 6, + "name": "indaHash", + "symbol": "IDH" + }, + { + "address": "0xCc13Fc627EFfd6E35D2D2706Ea3C4D7396c610ea", + "decimals": 8, + "name": "IDEX Membership", + "symbol": "IDXM" + }, + { + "address": "0x859a9C0b44cb7066D956a958B0b82e54C9e44b4B", + "decimals": 8, + "name": "iEthereum", + "symbol": "IETH" + }, + { + "address": "0x7654915A1b82D6D2D0AFc37c52Af556eA8983c7E", + "decimals": 18, + "name": "InvestFeed", + "symbol": "IFT" + }, + { + "address": "0x8a88f04e0c905054D2F33b26BB3A46D7091A039A", + "decimals": 18, + "name": "IGToken", + "symbol": "IG" + }, + { + "address": "0xEda8B016efA8b1161208Cf041cD86972eeE0F31E", + "decimals": 18, + "name": "I HOUSE TOKEN", + "symbol": "IHT" + }, + { + "address": "0x16662F73dF3e79e54c6c5938b4313f92C524C120", + "decimals": 18, + "name": "IIC", + "symbol": "IIC" + }, + { + "address": "0x88AE96845e157558ef59e9Ff90E766E22E480390", + "decimals": 0, + "name": "IKB", + "symbol": "IKB" + }, + { + "address": "0xe3831c5A982B279A198456D577cfb90424cb6340", + "decimals": 6, + "name": "Immune Coin", + "symbol": "IMC" + }, + { + "address": "0xf8e386EDa857484f5a12e4B5DAa9984E06E73705", + "decimals": 18, + "name": "Indorse", + "symbol": "IND" + }, + { + "address": "0x24dDFf6D8B8a42d835af3b440De91f3386554Aa4", + "decimals": 18, + "name": "Iungo", + "symbol": "ING" + }, + { + "address": "0x48e5413b73add2434e47504E2a22d14940dBFe78", + "decimals": 3, + "name": "Integrated Money", + "symbol": "INRM" + }, + { + "address": "0x5B2e4a700dfBc560061e957edec8F6EeEb74a320", + "decimals": 10, + "name": "INS", + "symbol": "INS" + }, + { + "address": "0xc72fe8e3Dd5BeF0F9f31f259399F301272eF2a2D", + "decimals": 18, + "name": "Insights Network", + "symbol": "INSTAR" + }, + { + "address": "0x0b76544F6C413a555F309Bf76260d1E02377c02A", + "decimals": 6, + "name": "Internet Node Token", + "symbol": "INT" + }, + { + "address": "0xEcE83617Db208Ad255Ad4f45Daf81E25137535bb", + "decimals": 8, + "name": "Invacio", + "symbol": "INV" + }, + { + "address": "0xa8006C4ca56F24d6836727D106349320dB7fEF82", + "decimals": 8, + "name": "Internxt", + "symbol": "INXT" + }, + { + "address": "0xFA1a856Cfa3409CFa145Fa4e20Eb270dF3EB21ab", + "decimals": 18, + "name": "IOSToken", + "symbol": "IOST" + }, + { + "address": "0xC34B21f6F8e51cC965c2393B3ccFa3b82BEb2403", + "decimals": 6, + "name": "IoT\u30b3\u30a4\u30f3", + "symbol": "IoT" + }, + { + "address": "0x6fB3e0A217407EFFf7Ca062D46c26E5d60a14d69", + "decimals": 18, + "name": "IoTeX Network", + "symbol": "IOTX" + }, + { + "address": "0x64CdF819d3E75Ac8eC217B3496d7cE167Be42e80", + "decimals": 18, + "name": "InsurePal token", + "symbol": "IPL" + }, + { + "address": "0x001F0aA5dA15585e5b2305DbaB2bac425ea71007", + "decimals": 18, + "name": "IPSX", + "symbol": "IPSX" + }, + { + "address": "0x0DB8D8b76BC361bAcbB72E2C491E06085A97Ab31", + "decimals": 18, + "name": "IQeon", + "symbol": "IQN" + }, + { + "address": "0x0cF713b11C9b986EC40D65bD4F7fbd50F6ff2d64", + "decimals": 18, + "name": "IST34 Token", + "symbol": "IST34" + }, + { + "address": "0x5E6b6d9aBAd9093fdc861Ea1600eBa1b355Cd940", + "decimals": 18, + "name": "IoT Chain", + "symbol": "ITC" + }, + { + "address": "0x0aeF06DcCCC531e581f0440059E6FfCC206039EE", + "decimals": 8, + "name": "ITT Token", + "symbol": "ITT" + }, + { + "address": "0xA4eA687A2A7F29cF2dc66B39c68e4411C0D00C49", + "decimals": 18, + "name": "IvyKoin Public Network Tokens", + "symbol": "IVY" + }, + { + "address": "0xfcA47962D45ADFdfd1Ab2D972315dB4ce7CCf094", + "decimals": 8, + "name": "InsureX", + "symbol": "IXT" + }, + { + "address": "0x0D262e5dC4A06a0F1c90cE79C7a60C09DfC884E4", + "decimals": 8, + "name": "J8T Token", + "symbol": "J8T" + }, + { + "address": "0xE2D82Dc7dA0E6f882E96846451F4faBcc8f90528", + "decimals": 18, + "name": "Jesus Coin", + "symbol": "JC" + }, + { + "address": "0x8727c112C712c4a03371AC87a74dD6aB104Af768", + "decimals": 18, + "name": "JET", + "symbol": "JET" + }, + { + "address": "0x773450335eD4ec3DB45aF74f34F2c85348645D39", + "decimals": 18, + "name": "JetCoins", + "symbol": "JetCoins" + }, + { + "address": "0xa5Fd1A791C4dfcaacC963D4F73c6Ae5824149eA7", + "decimals": 18, + "name": "JNT", + "symbol": "JNT" + }, + { + "address": "0xdb455c71C1bC2de4e80cA451184041Ef32054001", + "decimals": 18, + "name": "Jury.Online Token", + "symbol": "JOT" + }, + { + "address": "0xDDe12a12A6f67156e0DA672be05c374e1B0a3e57", + "decimals": 6, + "name": "JOYSO", + "symbol": "JOY" + }, + { + "address": "0x1410434b0346f5bE678d0FB554E5c7ab620f8f4a", + "decimals": 18, + "name": "BitKan", + "symbol": "KAN" + }, + { + "address": "0x0D6DD9f68d24EC1d5fE2174f3EC8DAB52B52BaF5", + "decimals": 18, + "duplicate": false, + "name": "KMCC", + "symbol": "KC" + }, + { + "address": "0x72D32ac1c5E66BfC5b08806271f8eEF915545164", + "decimals": 0, + "name": "CryptoKEE", + "symbol": "KEE" + }, + { + "address": "0x27695E09149AdC738A978e9A678F99E4c39e9eb9", + "decimals": 8, + "name": "KICK", + "symbol": "KICK" + }, + { + "address": "0x818Fc6C2Ec5986bc6E2CBf00939d90556aB12ce5", + "decimals": 18, + "name": "Kin Foundation", + "symbol": "KIN" + }, + { + "address": "0x4618519de4C304F3444ffa7f812dddC2971cc688", + "decimals": 8, + "name": "Kind Ads Token", + "symbol": "KIND" + }, + { + "address": "0xdd974D5C2e2928deA5F71b9825b8b646686BD200", + "decimals": 18, + "name": "Kyber Network", + "symbol": "KNC" + }, + { + "address": "0x8E5610ab5E39d26828167640EA29823fe1dD5843", + "decimals": 8, + "name": "KanadeCoin", + "symbol": "KNDC" + }, + { + "address": "0xfF5c25D2F40B47C4a37f989DE933E26562Ef0Ac0", + "decimals": 16, + "name": "Kora Network Token", + "symbol": "KNT" + }, + { + "address": "0xb5C33F965C8899D255c34CDD2A3efA8AbCbB3DeA", + "decimals": 18, + "name": "KPRCoin", + "symbol": "KPR" + }, + { + "address": "0x464eBE77c293E473B48cFe96dDCf88fcF7bFDAC0", + "decimals": 18, + "name": "Kryll", + "symbol": "KRL" + }, + { + "address": "0xdf1338FbAfe7aF1789151627B886781ba556eF9a", + "decimals": 18, + "name": "Kuende Token", + "symbol": "KUE" + }, + { + "address": "0x241bA672574A78a3A604CDd0a94429A73a84a324", + "decimals": 18, + "name": "4NEW", + "symbol": "KWATT" + }, + { + "address": "0x9541FD8B9b5FA97381783783CeBF2F5fA793C262", + "decimals": 8, + "name": "KaizenCoin", + "symbol": "KZN" + }, + { + "address": "0xE50365f5D679CB98a1dd62D6F6e58e59321BcdDf", + "decimals": 18, + "name": "LATOKEN", + "symbol": "LA" + }, + { + "address": "0xfD107B473AB90e8Fbd89872144a3DC92C40Fa8C9", + "decimals": 18, + "name": "LALA World Token", + "symbol": "LALA" + }, + { + "address": "0x2f85E502a988AF76f7ee6D83b7db8d6c0A823bf9", + "decimals": 8, + "name": "LatiumX", + "symbol": "LATX" + }, + { + "address": "0xfe5F141Bf94fE84bC28deD0AB966c16B17490657", + "decimals": 18, + "name": "Cred", + "symbol": "LBA" + }, + { + "address": "0xAA19961b6B858D9F18a115f25aa1D98ABc1fdBA8", + "decimals": 18, + "name": "LocalCoinSwap", + "symbol": "LCS" + }, + { + "address": "0x5102791cA02FC3595398400BFE0e33d7B6C82267", + "decimals": 18, + "name": "LEADCOIN", + "symbol": "LDC" + }, + { + "address": "0x80fB784B7eD66730e8b1DBd9820aFD29931aab03", + "decimals": 18, + "name": "EHTLend", + "symbol": "LEND" + }, + { + "address": "0x0F4CA92660Efad97a9a70CB0fe969c755439772C", + "decimals": 9, + "name": "Leverj", + "symbol": "LEV" + }, + { + "address": "0xc798cd1c49db0E297312E4c682752668CE1dB2AD", + "decimals": 5, + "name": "LifeRun Coin", + "symbol": "LFR" + }, + { + "address": "0xc520F3Ac303a107D8F4B08b326B6ea66A4f961cd", + "decimals": 18, + "name": "LG", + "symbol": "LG" + }, + { + "address": "0x123aB195DD38B1b40510d467a6a359b201af056f", + "decimals": 8, + "name": "LGO", + "symbol": "LGO" + }, + { + "address": "0x2eb86e8fC520E0F6Bb5D9Af08F924fe70558Ab89", + "decimals": 8, + "name": "Logarithm", + "symbol": "LGR" + }, + { + "address": "0xE6DfBF1FAcA95036B8E76e1Fb28933D025B76Cc0", + "decimals": 18, + "name": "Libereum", + "symbol": "LIBER" + }, + { + "address": "0xEB9951021698B42e4399f9cBb6267Aa35F82D59D", + "decimals": 18, + "name": "LIF", + "symbol": "LIF" + }, + { + "address": "0xfF18DBc487b4c2E3222d115952bABfDa8BA52F5F", + "decimals": 18, + "name": "LIFE", + "symbol": "LIFE" + }, + { + "address": "0x02F61Fd266DA6E8B102D4121f5CE7b992640CF98", + "decimals": 18, + "name": "LikeCoin", + "symbol": "LIKE" + }, + { + "address": "0x514910771AF9Ca656af840dff83E8264EcF986CA", + "decimals": 18, + "duplicate": false, + "name": "LINK Chainlink", + "symbol": "LINK (Chainlink)" + }, + { + "address": "0x24A77c1F17C547105E14813e517be06b0040aa76", + "decimals": 18, + "name": "LIVE Token", + "symbol": "LIVE" + }, + { + "address": "0x49bD2DA75b1F7AF1E4dFd6b1125FEcDe59dBec58", + "decimals": 18, + "name": "Linkey", + "symbol": "LKY" + }, + { + "address": "0x25B6325f5BB1c1E03cfbC3e53F470E1F1ca022E3", + "decimals": 18, + "name": "LML", + "symbol": "LML" + }, + { + "address": "0x0947b0e6D821378805c9598291385CE7c791A6B2", + "decimals": 18, + "name": "Lendingblock", + "symbol": "LND" + }, + { + "address": "0x5e3346444010135322268a4630d2ED5F8D09446c", + "decimals": 18, + "name": "LockChain", + "symbol": "LOC" + }, + { + "address": "0x9c23D67AEA7B95D80942e3836BCDF7E708A747C2", + "decimals": 18, + "name": "LOCIcoin", + "symbol": "LOCI" + }, + { + "address": "0xC64500DD7B0f1794807e67802F8Abbf5F8Ffb054", + "decimals": 18, + "name": "Locus Chain", + "symbol": "LOCUS" + }, + { + "address": "0x21aE23B882A340A22282162086bC98D3E2B73018", + "decimals": 18, + "name": "LOK", + "symbol": "LOK" + }, + { + "address": "0x253C7dd074f4BaCb305387F922225A4f737C08bd", + "decimals": 18, + "name": "LookRev", + "symbol": "LOOK" + }, + { + "address": "0xA4e8C3Ec456107eA67d3075bF9e3DF3A75823DB0", + "decimals": 18, + "name": "LOOM", + "symbol": "LOOM" + }, + { + "address": "0x5a276Aeb77bCfDAc8Ac6f31BBC7416AE1A85eEF2", + "decimals": 0, + "name": "Love", + "symbol": "LOVE" + }, + { + "address": "0x58b6A8A3302369DAEc383334672404Ee733aB239", + "decimals": 18, + "name": "Livepeer Token", + "symbol": "LPT" + }, + { + "address": "0xEF68e7C694F40c8202821eDF525dE3782458639f", + "decimals": 18, + "name": "LRC", + "symbol": "LRC" + }, + { + "address": "0x5dbe296F97B23C4A6AA6183D73e574D02bA5c719", + "decimals": 18, + "name": "LUCToken", + "symbol": "LUC" + }, + { + "address": "0xFB12e3CcA983B9f59D90912Fd17F8D745A8B2953", + "decimals": 0, + "name": "LUCK", + "symbol": "LUCK" + }, + { + "address": "0xA89b5934863447f6E4Fc53B315a93e873bdA69a3", + "decimals": 18, + "name": "Lumino Coin", + "symbol": "LUM" + }, + { + "address": "0xfa05A73FfE78ef8f1a739473e462c54bae6567D9", + "decimals": 18, + "name": "Lunyr", + "symbol": "LUN" + }, + { + "address": "0x57aD67aCf9bF015E4820Fbd66EA1A21BED8852eC", + "decimals": 18, + "name": "Lympo", + "symbol": "LYM" + }, + { + "address": "0xdD41fBd1Ae95C5D9B198174A28e04Be6b3d1aa27", + "decimals": 8, + "name": "Lightyears", + "symbol": "LYS" + }, + { + "address": "0x3f4B726668da46f5e0E75aA5D478ACEc9f38210F", + "decimals": 18, + "name": "M-ETH", + "symbol": "M-ETH" + }, + { + "address": "0x5B09A0371C1DA44A8E24D36Bf5DEb1141a84d875", + "decimals": 18, + "name": "MAD", + "symbol": "MAD" + }, + { + "address": "0xe25bCec5D3801cE3a794079BF94adF1B8cCD802D", + "decimals": 18, + "name": "MAN", + "symbol": "MAN" + }, + { + "address": "0x0F5D2fB29fb7d3CFeE444a200298f468908cC942", + "decimals": 18, + "name": "Decentraland MANA", + "symbol": "MANA" + }, + { + "address": "0xfdcc07Ab60660de533b5Ad26e1457b565a9D59Bd", + "decimals": 18, + "name": "Martcoin", + "symbol": "MART" + }, + { + "address": "0x386467F1f3ddbE832448650418311a479EECFC57", + "decimals": 0, + "name": "Embers", + "symbol": "MBRS" + }, + { + "address": "0x93E682107d1E9defB0b5ee701C71707a4B2E46Bc", + "decimals": 8, + "name": "MCAP", + "symbol": "MCAP" + }, + { + "address": "0x138A8752093F4f9a79AaeDF48d4B9248fab93c9C", + "decimals": 18, + "name": "Musiconomi", + "symbol": "MCI" + }, + { + "address": "0xB63B606Ac810a52cCa15e44bB630fd42D8d1d83d", + "decimals": 8, + "name": "MCO", + "symbol": "MCO" + }, + { + "address": "0x51DB5Ad35C671a87207d88fC11d593AC0C8415bd", + "decimals": 18, + "name": "MDA", + "symbol": "MDA" + }, + { + "address": "0x66186008C1050627F979d464eABb258860563dbE", + "decimals": 18, + "name": "MediShares", + "symbol": "MDS" + }, + { + "address": "0x814e0908b12A99FeCf5BC101bB5d0b8B5cDf7d26", + "decimals": 18, + "name": "Measurable Data Token", + "symbol": "MDT" + }, + { + "address": "0xfd1e80508F243E64CE234eA88A5Fd2827c71D4b7", + "decimals": 8, + "name": "MediBloc [ERC20]", + "symbol": "MEDX" + }, + { + "address": "0x5B8D43FfdE4a2982B9A5387cDF21D54Ead64Ac8d", + "decimals": 18, + "name": "Monaco Estate", + "symbol": "MEST" + }, + { + "address": "0xa3d58c4E56fedCae3a7c43A725aeE9A71F0ece4e", + "decimals": 18, + "name": "Metronome", + "symbol": "MET" + }, + { + "address": "0xFEF3884b603C33EF8eD4183346E093A173C94da6", + "decimals": 18, + "name": "MetaMorph", + "symbol": "METM" + }, + { + "address": "0x6710c63432A2De02954fc0f851db07146a6c0312", + "decimals": 18, + "name": "SyncFab Smart Manufacturing Blockchain", + "symbol": "MFG" + }, + { + "address": "0xDF2C7238198Ad8B389666574f2d8bc411A4b7428", + "decimals": 18, + "name": "Mainframe Token", + "symbol": "MFT" + }, + { + "address": "0x05D412CE18F24040bB3Fa45CF2C69e506586D8e8", + "decimals": 18, + "name": "Mainstream For The Underground", + "symbol": "MFTU" + }, + { + "address": "0x40395044Ac3c0C57051906dA938B54BD6557F212", + "decimals": 8, + "name": "MobileGo", + "symbol": "MGO" + }, + { + "address": "0x3A1237D38D0Fb94513f85D61679cAd7F38507242", + "decimals": 18, + "name": "Mindexcoin", + "symbol": "MIC" + }, + { + "address": "0x4a527d8fc13C5203AB24BA0944F4Cb14658D1Db6", + "decimals": 18, + "name": "Morpheus Infrastructure Token", + "symbol": "MITX" + }, + { + "address": "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2", + "decimals": 18, + "duplicate": false, + "name": "MakerDAO", + "symbol": "MKR" + }, + { + "address": "0x7939882b54fcf0bCAe6b53dEc39Ad6e806176442", + "decimals": 8, + "name": "Mikado", + "symbol": "MKT" + }, + { + "address": "0xec67005c4E498Ec7f55E092bd1d35cbC47C91892", + "decimals": 18, + "duplicate": false, + "name": "Melonport", + "symbol": "MLN (new)" + }, + { + "address": "0xBEB9eF514a379B997e0798FDcC901Ee474B6D9A1", + "decimals": 18, + "deprecation": { + "announcement_url": "https://medium.com/melonport-blog/mln-token-migration-event-96b1c8003876", + "migration_type": "instructions:https://medium.com/melonport-blog/mln-token-migration-instructions-196a645fc3ac", + "new_address": "0xec67005c4E498Ec7f55E092bd1d35cbC47C91892", + "time": "2019-02-01T00:00:00Z" + }, + "duplicate": false, + "name": "Melonport", + "symbol": "[deprecated] MLN (old)" + }, + { + "address": "0x1a95B271B0535D15fa49932Daba31BA612b52946", + "decimals": 8, + "name": "MNE", + "symbol": "MNE" + }, + { + "address": "0xA9877b1e05D035899131DBd1e403825166D09f92", + "decimals": 18, + "name": "Media Network Token", + "symbol": "MNT" + }, + { + "address": "0x83cee9e086A77e492eE0bB93C2B0437aD6fdECCc", + "decimals": 18, + "name": "Goldmint MNT Prelaunch Token", + "symbol": "MNTP" + }, + { + "address": "0x865ec58b06bF6305B886793AA20A2da31D034E68", + "decimals": 18, + "name": "Moss Coin", + "symbol": "MOC" + }, + { + "address": "0x957c30aB0426e0C93CD8241E2c60392d08c6aC8e", + "decimals": 0, + "name": "Modum", + "symbol": "MOD" + }, + { + "address": "0x263c618480DBe35C300D8d5EcDA19bbB986AcaeD", + "decimals": 18, + "name": "Olympus Labs", + "symbol": "MOT" + }, + { + "address": "0x44bf22949F9cc84b61B9328a9d885d1b5C806b41", + "decimals": 2, + "name": "Mozo Token", + "symbol": "MOZO" + }, + { + "address": "0xf453B5B9d4E0B5c62ffB256BB2378cc2BC8e8a89", + "decimals": 8, + "name": "MARK.SPACE", + "symbol": "MRK" + }, + { + "address": "0x82125AFe01819Dff1535D0D6276d57045291B6c0", + "decimals": 18, + "name": "Marcelo", + "symbol": "MRL" + }, + { + "address": "0x21f0F0fD3141Ee9E11B3d7f13a1028CD515f459c", + "decimals": 18, + "name": "MoneyRebel Token", + "symbol": "MRP" + }, + { + "address": "0xAB6CF87a50F17d7F5E1FEaf81B6fE9FfBe8EBF84", + "decimals": 18, + "name": "MRV", + "symbol": "MRV" + }, + { + "address": "0x68AA3F232dA9bdC2343465545794ef3eEa5209BD", + "decimals": 18, + "name": "Mothership", + "symbol": "MSP" + }, + { + "address": "0xaF4DcE16Da2877f8c9e00544c93B62Ac40631F16", + "decimals": 5, + "name": "Monetha", + "symbol": "MTH" + }, + { + "address": "0xF433089366899D83a9f26A773D59ec7eCF30355e", + "decimals": 8, + "name": "Metal", + "symbol": "MTL" + }, + { + "address": "0x41dBECc1cdC5517C6f76f6a6E836aDbEe2754DE3", + "decimals": 18, + "name": "MedToken", + "symbol": "MTN" + }, + { + "address": "0x7FC408011165760eE31bE2BF20dAf450356692Af", + "decimals": 8, + "name": "Mitrav", + "symbol": "MTR" + }, + { + "address": "0x1e49fF77c355A3e38D6651ce8404AF0E48c5395f", + "decimals": 18, + "name": "MTRCToken", + "symbol": "MTRc" + }, + { + "address": "0x0AF44e2784637218dD1D32A322D44e603A8f0c6A", + "decimals": 18, + "name": "MTX", + "symbol": "MTX" + }, + { + "address": "0x515669d308f887Fd83a471C7764F5d084886D34D", + "decimals": 18, + "name": "MUXE", + "symbol": "MUXE" + }, + { + "address": "0xA849EaaE994fb86Afa73382e9Bd88c2B6b18Dc71", + "decimals": 18, + "name": "Mass Vehicle Ledger Token", + "symbol": "MVL" + }, + { + "address": "0x8a77e40936BbC27e80E9a3F526368C967869c86D", + "decimals": 18, + "name": "Merculet", + "symbol": "MVP" + }, + { + "address": "0x6425c6BE902d692AE2db752B3c268AFAdb099D3b", + "decimals": 18, + "name": "RED MWAT", + "symbol": "MWAT" + }, + { + "address": "0xf7e983781609012307f2514f63D526D83D24F466", + "decimals": 16, + "name": "MYD", + "symbol": "MYD" + }, + { + "address": "0xa645264C5603E96c3b0B078cdab68733794B0A71", + "decimals": 8, + "name": "Mysterium", + "symbol": "MYST" + }, + { + "address": "0x8d80de8A78198396329dfA769aD54d24bF90E7aa", + "decimals": 18, + "name": "Nami ICO", + "symbol": "NAC" + }, + { + "address": "0xFFE02ee4C69eDf1b340fCaD64fbd6b37a7b9e265", + "decimals": 8, + "name": "NANJCOIN", + "symbol": "NANJ" + }, + { + "address": "0x5d65D971895Edc438f465c17DB6992698a52318D", + "decimals": 18, + "name": "Nebula", + "symbol": "NAS" + }, + { + "address": "0x588047365dF5BA589F923604AAC23d673555c623", + "decimals": 18, + "name": "NaviToken", + "symbol": "NAVI" + }, + { + "address": "0x17f8aFB63DfcDcC90ebE6e84F060Cc306A98257D", + "decimals": 18, + "name": "NebulaAiToken", + "symbol": "NBAI" + }, + { + "address": "0x9F195617fA8fbAD9540C5D113A99A0a0172aaEDC", + "decimals": 18, + "name": "Niobium Coin", + "symbol": "NBC" + }, + { + "address": "0x809826cceAb68c387726af962713b64Cb5Cb3CCA", + "decimals": 18, + "name": "Nucleus Vision", + "symbol": "NCASH" + }, + { + "address": "0x9E46A38F5DaaBe8683E10793b06749EEF7D733d1", + "decimals": 18, + "name": "Nectar", + "symbol": "NCT" + }, + { + "address": "0xA54ddC7B3CcE7FC8b1E3Fa0256D0DB80D2c10970", + "decimals": 18, + "name": "Neverdie", + "symbol": "NDC" + }, + { + "address": "0x1966d718A565566e8E202792658D7b5Ff4ECe469", + "decimals": 18, + "name": "nDEX", + "symbol": "NDX" + }, + { + "address": "0xCc80C051057B774cD75067Dc48f8987C4Eb97A5e", + "decimals": 18, + "name": "Ethfinex Nectar Token", + "symbol": "NEC" + }, + { + "address": "0xd8446236FA95b9b5f9fd0f8E7Df1a944823c683d", + "decimals": 18, + "name": "NEEO", + "symbol": "NEEO" + }, + { + "address": "0xcfb98637bcae43C13323EAa1731cED2B716962fD", + "decimals": 18, + "name": "NIMIQ", + "symbol": "NET" + }, + { + "address": "0xA823E6722006afe99E91c30FF5295052fe6b8E32", + "decimals": 18, + "name": "NEU Fund", + "symbol": "NEU" + }, + { + "address": "0x814964b1bceAf24e26296D031EaDf134a2Ca4105", + "decimals": 0, + "name": "Newbium", + "symbol": "NEWB" + }, + { + "address": "0xB62132e35a6c13ee1EE0f84dC5d40bad8d815206", + "decimals": 18, + "name": "Nexo", + "symbol": "NEXO" + }, + { + "address": "0x72dD4b6bd852A3AA172Be4d6C5a6dbEc588cf131", + "decimals": 18, + "name": "NAGA Coin", + "symbol": "NGC" + }, + { + "address": "0xe26517A9967299453d3F1B48Aa005E6127e67210", + "decimals": 18, + "name": "Ninfa Money", + "symbol": "NIMFA" + }, + { + "address": "0x5554e04e76533E1d14c52f05beEF6c9d329E1E30", + "decimals": 0, + "name": "Autonio", + "symbol": "NIO" + }, + { + "address": "0x1776e1F26f98b1A5dF9cD347953a26dd3Cb46671", + "decimals": 18, + "name": "NMR", + "symbol": "NMR" + }, + { + "address": "0x58a4884182d9E835597f405e5F258290E46ae7C2", + "decimals": 18, + "name": "Noah Coin", + "symbol": "NOAH" + }, + { + "address": "0xF4FaEa455575354d2699BC209B0a65CA99F69982", + "decimals": 18, + "name": "No BS Crypto", + "symbol": "NOBS" + }, + { + "address": "0x643B6870beabee941B9260a0A878bcF4A61Fb0f1", + "decimals": 0, + "duplicate": false, + "name": "None", + "symbol": "NONE" + }, + { + "address": "0xeC46f8207D766012454c408De210BCBc2243E71c", + "decimals": 18, + "name": "NOX", + "symbol": "NOX" + }, + { + "address": "0x4cE6B362Bc77A24966Dda9078f9cEF81b3B886a7", + "decimals": 18, + "name": "NPER", + "symbol": "NPER" + }, + { + "address": "0x28b5E12CcE51f15594B0b91d5b5AdaA70F684a02", + "decimals": 2, + "name": "NaPoleonX", + "symbol": "NPX" + }, + { + "address": "0xA15C7Ebe1f07CaF6bFF097D8a589fb8AC49Ae5B3", + "decimals": 18, + "name": "Pundi X Token", + "symbol": "NPXS" + }, + { + "address": "0x8A99ED8a1b204903Ee46e733f2c1286F6d20b177", + "decimals": 18, + "name": "Fujinto", + "symbol": "NTO" + }, + { + "address": "0x2233799Ee2683d75dfefAcbCd2A26c78D34b470d", + "decimals": 18, + "name": "Network", + "symbol": "NTWK" + }, + { + "address": "0x245ef47D4d0505ECF3Ac463F4d81f41ADE8f1fd1", + "decimals": 18, + "name": "Nuggets Token", + "symbol": "NUG" + }, + { + "address": "0xB91318F35Bdb262E9423Bc7c7c2A3A93DD93C92C", + "decimals": 18, + "name": "NULS", + "symbol": "NULS" + }, + { + "address": "0x45e42D659D9f9466cD5DF622506033145a9b89Bc", + "decimals": 3, + "name": "Nexium", + "symbol": "NxC" + }, + { + "address": "0x7627de4B93263a6a7570b8dAfa64bae812e5c394", + "decimals": 8, + "name": "NXX", + "symbol": "NXX" + }, + { + "address": "0x5e888B83B7287EED4fB7DA7b7d0A0D4c735d94b3", + "decimals": 18, + "name": "OAK", + "symbol": "OAK" + }, + { + "address": "0x701C244b988a513c945973dEFA05de933b23Fe1D", + "decimals": 18, + "name": "OAX", + "symbol": "OAX" + }, + { + "address": "0x0235fE624e044A05eeD7A43E16E3083bc8A4287A", + "decimals": 18, + "name": "Original Crypto Coin", + "symbol": "OCC" + }, + { + "address": "0x4092678e4E78230F46A1534C0fbc8fA39780892B", + "decimals": 18, + "name": "Odyssey", + "symbol": "OCN" + }, + { + "address": "0xbf52F2ab39e26E0951d2a02b49B7702aBe30406a", + "decimals": 18, + "name": "ODEM Token", + "symbol": "ODE" + }, + { + "address": "0xBeef546ac8a4e0a80DC1E2d696968Ef54138f1d4", + "decimals": 18, + "name": "Ojooo Coin", + "symbol": "OJX" + }, + { + "address": "0xC66eA802717bFb9833400264Dd12c2bCeAa34a6d", + "decimals": 18, + "name": "MakerDAO", + "symbol": "OLD_MKR" + }, + { + "address": "0x9d9223436dDD466FC247e9dbbD20207e640fEf58", + "decimals": 18, + "name": "Olive", + "symbol": "OLE" + }, + { + "address": "0x64A60493D888728Cf42616e034a0dfEAe38EFCF0", + "decimals": 18, + "name": "OneLedger Token", + "symbol": "OLT" + }, + { + "address": "0xd26114cd6EE289AccF82350c8d8487fedB8A0C07", + "decimals": 18, + "name": "OmiseGO", + "symbol": "OMG" + }, + { + "address": "0x047187e53477be70DBe8Ea5B799318f2e165052F", + "decimals": 18, + "name": "OTCMAKER Token", + "symbol": "OMT" + }, + { + "address": "0xB5DBC6D3cf380079dF3b27135664b6BCF45D1869", + "decimals": 8, + "name": "Shivom", + "symbol": "OMX" + }, + { + "address": "0x4D807509aECe24C0fa5A102b6a3B059Ec6E14392", + "decimals": 18, + "name": "Menlo One", + "symbol": "ONE" + }, + { + "address": "0xB23be73573bC7E03DB6e5dfc62405368716d28a8", + "decimals": 18, + "name": "One K Token", + "symbol": "ONEK" + }, + { + "address": "0xd341d1680Eeee3255b8C4c75bCCE7EB57f144dAe", + "decimals": 18, + "name": "onG", + "symbol": "onG" + }, + { + "address": "0x6863bE0e7CF7ce860A574760e9020D519a8bDC47", + "decimals": 18, + "name": "On.Live", + "symbol": "ONL" + }, + { + "address": "0x4355fC160f74328f9b383dF2EC589bB3dFd82Ba0", + "decimals": 18, + "name": "Opus Foundation", + "symbol": "OPT" + }, + { + "address": "0x832904863978b94802123106e6eB491BDF0Df928", + "decimals": 18, + "name": "OptiToken", + "symbol": "OPTI" + }, + { + "address": "0xff56Cc6b1E6dEd347aA0B7676C85AB0B3D08B0FA", + "decimals": 18, + "name": "Orbs", + "symbol": "ORBS" + }, + { + "address": "0x6F59e0461Ae5E2799F1fB3847f05a63B16d0DbF8", + "decimals": 18, + "name": "ORCA Token", + "symbol": "ORCA" + }, + { + "address": "0xd2Fa8f92Ea72AbB35dBD6DECa57173d22db2BA49", + "decimals": 18, + "name": "Origami", + "symbol": "ORI" + }, + { + "address": "0x516E5436bAfdc11083654DE7Bb9b95382d08d5DE", + "decimals": 8, + "name": "Ormeus Coin", + "symbol": "ORME" + }, + { + "address": "0xEB9A4B185816C354dB92DB09cC3B50bE60b901b6", + "decimals": 18, + "name": "Origin Sport", + "symbol": "ORS" + }, + { + "address": "0x2C4e8f2D746113d0696cE89B35F0d8bF88E0AEcA", + "decimals": 18, + "name": "Simple Token 'OST'", + "symbol": "OST" + }, + { + "address": "0x881Ef48211982D01E2CB7092C915E647Cd40D85C", + "decimals": 18, + "name": "Open Trading Network", + "symbol": "OTN" + }, + { + "address": "0x170b275CEd089FffAEBFe927F445a350ED9160DC", + "decimals": 8, + "name": "OWNDATA", + "symbol": "OWN" + }, + { + "address": "0x65A15014964F2102Ff58647e16a16a6B9E14bCF6", + "decimals": 3, + "name": "Ox Fina", + "symbol": "Ox Fina" + }, + { + "address": "0xB9bb08AB7E9Fa0A1356bd4A39eC0ca267E03b0b3", + "decimals": 18, + "name": "PCHAIN", + "symbol": "PAI" + }, + { + "address": "0xfeDAE5642668f8636A11987Ff386bfd215F942EE", + "decimals": 18, + "name": "PolicyPal Network", + "symbol": "PAL" + }, + { + "address": "0xea5f88E54d982Cbb0c441cde4E79bC305e5b43Bc", + "decimals": 18, + "name": "PARETO", + "symbol": "PARETO" + }, + { + "address": "0xF3b3Cad094B89392fcE5faFD40bC03b80F2Bc624", + "decimals": 18, + "name": "Patron", + "symbol": "PAT" + }, + { + "address": "0x694404595e3075A942397F466AAcD462FF1a7BD0", + "decimals": 18, + "name": "PATENTS", + "symbol": "PATENTS" + }, + { + "address": "0xF813F3902bBc00A6DCe378634d3B79D84F9803d7", + "decimals": 18, + "name": "PATH", + "symbol": "PATH" + }, + { + "address": "0x8E870D67F660D95d5be530380D0eC0bd388289E1", + "decimals": 18, + "name": "Paxos Standard (PAX)", + "symbol": "PAX" + }, + { + "address": "0xB97048628DB6B661D4C2aA833e95Dbe1A905B280", + "decimals": 18, + "name": "TenX", + "symbol": "PAY" + }, + { + "address": "0x55648De19836338549130B1af587F16beA46F66B", + "decimals": 18, + "name": "PBL", + "symbol": "PBL" + }, + { + "address": "0xF4c07b1865bC326A3c01339492Ca7538FD038Cc0", + "decimals": 4, + "name": "Primalbase Token (PBT)", + "symbol": "PBT" + }, + { + "address": "0x3618516F45CD3c913F81F9987AF41077932Bc40d", + "decimals": 8, + "name": "Peculium", + "symbol": "PCL" + }, + { + "address": "0x53148Bb4551707edF51a1e8d7A93698d18931225", + "decimals": 8, + "name": "PeculiumOLD", + "symbol": "PCLOLD" + }, + { + "address": "0x0db03B6CDe0B2d427C64a04FeAfd825938368f1F", + "decimals": 18, + "name": "PDATA", + "symbol": "PDATA" + }, + { + "address": "0x8Ae56a6850a7cbeaC3c3Ab2cB311e7620167eAC8", + "decimals": 18, + "name": "PEG Network Token", + "symbol": "PEG" + }, + { + "address": "0x5884969Ec0480556E11d119980136a4C17eDDEd1", + "decimals": 18, + "name": "PETHEREUM", + "symbol": "PET" + }, + { + "address": "0xeC18f898B4076A3E18f1089D33376CC380BDe61D", + "decimals": 18, + "name": "PETRO", + "symbol": "PETRO" + }, + { + "address": "0x55c2A0C171D920843560594dE3d6EEcC09eFc098", + "decimals": 4, + "name": "PEX-Token", + "symbol": "PEXT" + }, + { + "address": "0x2FA32a39fc1c399E0Cc7B2935868f5165De7cE97", + "decimals": 8, + "name": "Payfair", + "symbol": "PFR" + }, + { + "address": "0x13C2fab6354d3790D8ece4f0f1a3280b4A25aD96", + "decimals": 18, + "name": "PHI Token", + "symbol": "PHI" + }, + { + "address": "0xE64509F0bf07ce2d29A7eF19A8A9bc065477C1B4", + "decimals": 8, + "name": "PIPL Coin", + "symbol": "PIPL" + }, + { + "address": "0x0fF161071e627A0E6de138105C73970F86ca7922", + "decimals": 18, + "name": "Paypite v2", + "symbol": "PIT" + }, + { + "address": "0x8eFFd494eB698cc399AF6231fCcd39E08fd20B15", + "decimals": 0, + "name": "Lampix", + "symbol": "PIX" + }, + { + "address": "0x02F2D4a04E6E01aCE88bD2Cd632875543b2eF577", + "decimals": 18, + "name": "PKG Token", + "symbol": "PKG" + }, + { + "address": "0x2604FA406Be957E542BEb89E6754fCdE6815e83f", + "decimals": 18, + "name": "Playkey", + "symbol": "PKT" + }, + { + "address": "0x59416A25628A76b4730eC51486114c32E0B582A1", + "decimals": 6, + "name": "PLASMA", + "symbol": "PLASMA" + }, + { + "address": "0x0AfFa06e7Fbe5bC9a764C979aA66E8256A631f02", + "decimals": 6, + "name": "Polybius", + "symbol": "PLBT" + }, + { + "address": "0xe3818504c1B32bF1557b16C238B2E01Fd3149C17", + "decimals": 18, + "name": "Pillar Project", + "symbol": "PLR" + }, + { + "address": "0xe43ac1714F7394173b15E7CfF31A63d523Ce4fB9", + "decimals": 18, + "name": "DACPLAY Token", + "symbol": "PLS" + }, + { + "address": "0xD8912C10681D8B21Fd3742244f44658dBA12264E", + "decimals": 18, + "name": "Pluton", + "symbol": "PLU" + }, + { + "address": "0x846C66cf71C43f80403B51fE3906B3599D63336f", + "decimals": 18, + "name": "PumaPay", + "symbol": "PMA" + }, + { + "address": "0x81b4D08645DA11374a03749AB170836E4e539767", + "decimals": 9, + "name": "Paymon", + "symbol": "PMNT" + }, + { + "address": "0x93ED3FBe21207Ec2E8f2d3c3de6e058Cb73Bc04d", + "decimals": 18, + "name": "Pinakion", + "symbol": "PNK" + }, + { + "address": "0x6758B7d441a9739b98552B373703d8d3d14f9e62", + "decimals": 18, + "name": "POA ERC20 on Foundation", + "symbol": "POA20" + }, + { + "address": "0x0e0989b1f9B8A38983c2BA8053269Ca62Ec9B195", + "decimals": 8, + "name": "Po.et Tokens", + "symbol": "POE" + }, + { + "address": "0x43F6a1BE992deE408721748490772B15143CE0a7", + "decimals": 0, + "name": "Potatoin", + "symbol": "POIN" + }, + { + "address": "0x705EE96c1c160842C92c1aeCfCFfccc9C412e3D9", + "decimals": 18, + "name": "ClearPoll", + "symbol": "POLL" + }, + { + "address": "0x9992eC3cF6A55b00978cdDF2b27BC6882d88D1eC", + "decimals": 18, + "name": "Polymath Network", + "symbol": "POLY" + }, + { + "address": "0x779B7b713C86e3E6774f5040D9cCC2D43ad375F8", + "decimals": 8, + "name": "Stake Pool", + "symbol": "POOL" + }, + { + "address": "0x5D858bcd53E085920620549214a8b27CE2f04670", + "decimals": 18, + "name": "POP Network Token", + "symbol": "POP" + }, + { + "address": "0xEe609fE292128Cad03b786DBb9Bc2634Ccdbe7fC", + "decimals": 18, + "name": "PoSToken", + "symbol": "POS" + }, + { + "address": "0x595832F8FC6BF59c85C527fEC3740A1b7a361269", + "decimals": 6, + "name": "PowerLedger", + "symbol": "POWR" + }, + { + "address": "0xc42209aCcC14029c1012fB5680D95fBd6036E2a0", + "decimals": 18, + "name": "PayPie", + "symbol": "PPP" + }, + { + "address": "0xd4fa1460F537bb9085d22C7bcCB5DD450Ef28e3a", + "decimals": 8, + "name": "Populous", + "symbol": "PPT" + }, + { + "address": "0x88A3E4F35D64aAD41A6d4030ac9AFE4356cB84fA", + "decimals": 18, + "name": "Presearch", + "symbol": "PRE" + }, + { + "address": "0x7728dFEF5aBd468669EB7f9b48A7f70a501eD29D", + "decimals": 6, + "name": "Paragon", + "symbol": "PRG" + }, + { + "address": "0x3ADfc4999F77D04c8341BAC5F3A76f58DfF5B37A", + "decimals": 8, + "name": "Privatix", + "symbol": "PRIX" + }, + { + "address": "0x1844b21593262668B7248d0f57a220CaaBA46ab9", + "decimals": 18, + "name": "Oyster Pearl", + "symbol": "PRL" + }, + { + "address": "0xA3149E0fA0061A9007fAf307074cdCd290f0e2Fd", + "decimals": 8, + "name": "PronCoin", + "symbol": "PRON" + }, + { + "address": "0x163733bcc28dbf26B41a8CfA83e369b5B3af741b", + "decimals": 18, + "name": "Persians", + "symbol": "PRS" + }, + { + "address": "0x0C04d4f331DA8dF75f9E2e271E3f3F1494C66C36", + "decimals": 9, + "name": "PRSP", + "symbol": "PRSP" + }, + { + "address": "0x5d4ABC77B8405aD177d8ac6682D584ecbFd46CEc", + "decimals": 18, + "name": "Primas", + "symbol": "PST" + }, + { + "address": "0x66497A283E0a007bA3974e837784C6AE323447de", + "decimals": 18, + "name": "PornToken", + "symbol": "PT" + }, + { + "address": "0x4946583c5b86E01cCD30c71a05617D06E3E73060", + "decimals": 18, + "name": "PTON", + "symbol": "PTON" + }, + { + "address": "0x8Ae4BF2C33a8e667de34B54938B0ccD03Eb8CC06", + "decimals": 8, + "name": "PTOY", + "symbol": "PTOY" + }, + { + "address": "0x4689a4e169eB39cC9078C0940e21ff1Aa8A39B9C", + "decimals": 18, + "name": "Proton Token", + "symbol": "PTT" + }, + { + "address": "0x5512e1D6A7BE424b4323126B4f9E86D023F95764", + "decimals": 18, + "name": "PornTokenV2", + "symbol": "PTWO" + }, + { + "address": "0xEf6B4cE8C9Bc83744fbcdE2657b32eC18790458A", + "decimals": 0, + "name": "Pour Coin", + "symbol": "PUC" + }, + { + "address": "0xe25ff6Eb959BCE67975778e46A47750C243B6B99", + "decimals": 18, + "name": "PureCarbon", + "symbol": "PURC" + }, + { + "address": "0xc14830E53aA344E8c14603A91229A0b925b0B262", + "decimals": 8, + "name": "Populous XBRL Token (PXT)", + "symbol": "PXT" + }, + { + "address": "0x7703C35CfFdC5CDa8D27aa3df2F9ba6964544b6e", + "decimals": 18, + "name": "Pylon Network", + "symbol": "PYLNT" + }, + { + "address": "0x618E75Ac90b12c6049Ba3b27f5d5F8651b0037F6", + "decimals": 6, + "name": "QASH", + "symbol": "QASH" + }, + { + "address": "0x671AbBe5CE652491985342e85428EB1b07bC6c64", + "decimals": 8, + "name": "QAU", + "symbol": "QAU" + }, + { + "address": "0xCb5ea3c190d8f82DEADF7ce5Af855dDbf33e3962", + "decimals": 6, + "name": "Qubitica", + "symbol": "QBIT" + }, + { + "address": "0x2467AA6B5A2351416fD4C3DeF8462d841feeecEC", + "decimals": 18, + "name": "qiibeeToken", + "symbol": "QBX" + }, + { + "address": "0xEA26c4aC16D4a5A106820BC8AEE85fd0b7b2b664", + "decimals": 18, + "name": "QuarkChain", + "symbol": "QKC" + }, + { + "address": "0x4a220E6096B25EADb88358cb44068A3248254675", + "decimals": 18, + "name": "Quant", + "symbol": "QNT" + }, + { + "address": "0xFFAA5ffc455d9131f8A2713A741fD1960330508B", + "decimals": 18, + "name": "QRG", + "symbol": "QRG" + }, + { + "address": "0x697beac28B09E122C4332D163985e8a73121b97F", + "decimals": 8, + "name": "QRL", + "symbol": "QRL" + }, + { + "address": "0x99ea4dB9EE77ACD40B119BD1dC4E33e1C070b80d", + "decimals": 18, + "name": "Quantstamp Token", + "symbol": "QSP" + }, + { + "address": "0x2C3C1F05187dBa7A5f2Dd47Dca57281C4d4F183F", + "decimals": 18, + "name": "TiiQu's Q Token", + "symbol": "QTQ" + }, + { + "address": "0x9a642d6b3368ddc662CA244bAdf32cDA716005BC", + "decimals": 18, + "name": "Qtum", + "symbol": "QTUM" + }, + { + "address": "0x264Dc2DedCdcbb897561A57CBa5085CA416fb7b4", + "decimals": 18, + "name": "QunQun", + "symbol": "QUN" + }, + { + "address": "0x1183F92A5624D68e85FFB9170F16BF0443B4c242", + "decimals": 18, + "name": "QVT", + "symbol": "QVT" + }, + { + "address": "0x48f775EFBE4F5EcE6e0DF2f7b5932dF56823B990", + "decimals": 0, + "name": "Revain", + "symbol": "R" + }, + { + "address": "0x45eDb535942a8C84D9f4b5D37e1b25F91Ea4804c", + "decimals": 18, + "name": "RadioYo", + "symbol": "RAO" + }, + { + "address": "0xE8663A64A96169ff4d95b4299E7ae9a76b905B31", + "decimals": 8, + "name": "DPRating", + "symbol": "RATING" + }, + { + "address": "0xFc2C4D8f95002C14eD0a7aA65102Cac9e5953b5E", + "decimals": 18, + "name": "Rublix", + "symbol": "RBLX" + }, + { + "address": "0xF970b8E36e23F7fC3FD752EeA86f8Be8D83375A6", + "decimals": 18, + "name": "Ripio Credit Network", + "symbol": "RCN" + }, + { + "address": "0x255Aa6DF07540Cb5d3d297f0D0D4D84cb52bc8e6", + "decimals": 18, + "duplicate": false, + "name": "Raiden Network", + "symbol": "RDN" + }, + { + "address": "0x767bA2915EC344015a7938E3eEDfeC2785195D05", + "decimals": 18, + "name": "Realisto", + "symbol": "REA" + }, + { + "address": "0x9214eC02CB71CbA0ADA6896b8dA260736a67ab10", + "decimals": 18, + "name": "Real Estate Asset Ledger", + "symbol": "REAL" + }, + { + "address": "0x5F53f7A8075614b699Baad0bC2c899f4bAd8FBBF", + "decimals": 18, + "name": "Rebellious", + "symbol": "REBL" + }, + { + "address": "0x76960Dccd5a1fe799F7c29bE9F19ceB4627aEb2f", + "decimals": 18, + "name": "Red Community Token", + "symbol": "RED" + }, + { + "address": "0xB563300A3BAc79FC09B93b6F84CE0d4465A2AC27", + "decimals": 18, + "name": "RedCab", + "symbol": "REDC" + }, + { + "address": "0x89303500a7Abfb178B274FD89F2469C264951e1f", + "decimals": 8, + "name": "RefToken", + "symbol": "REF" + }, + { + "address": "0x83984d6142934bb535793A82ADB0a46EF0F66B6d", + "decimals": 4, + "name": "Remme", + "symbol": "REM" + }, + { + "address": "0x13cb85823f78Cff38f0B0E90D3e975b8CB3AAd64", + "decimals": 18, + "name": "REMI", + "symbol": "REMI" + }, + { + "address": "0x408e41876cCCDC0F92210600ef50372656052a38", + "decimals": 18, + "name": "Republic Token", + "symbol": "REN" + }, + { + "address": "0x1985365e9f78359a9B6AD760e32412f4a445E862", + "decimals": 18, + "duplicate": false, + "name": "Augur", + "symbol": "REP" + }, + { + "address": "0xE94327D07Fc17907b4DB788E5aDf2ed424adDff6", + "decimals": 18, + "deprecation": { + "announcement_url": "https://medium.com/@AugurProject/rep-migration-deployment-122e7189779d", + "migration_type": "auto", + "new_address": "0x1985365e9f78359a9B6AD760e32412f4a445E862", + "time": "2018-07-09T18:01:00Z" + }, + "duplicate": false, + "name": "Augur", + "symbol": "[deprecated] REP" + }, + { + "address": "0x8f8221aFbB33998d8584A2B05749bA73c37a938a", + "decimals": 18, + "name": "Request Network", + "symbol": "REQ" + }, + { + "address": "0xf05a9382A4C3F29E2784502754293D88b835109C", + "decimals": 18, + "name": "REX", + "symbol": "REX" + }, + { + "address": "0xd0929d411954c47438dc1d871dd6081F5C5e149c", + "decimals": 4, + "name": "Refereum", + "symbol": "RFR" + }, + { + "address": "0x4c383bDCae52a6e1cb810C76C70d6f31A249eC9B", + "decimals": 8, + "name": "Rusgas", + "symbol": "RGS" + }, + { + "address": "0x168296bb09e24A88805CB9c33356536B980D3fC5", + "decimals": 8, + "name": "RChain", + "symbol": "RHOC" + }, + { + "address": "0xdd007278B667F6bef52fD0a4c23604aA1f96039a", + "decimals": 8, + "name": "RiptideCoin", + "symbol": "RIPT" + }, + { + "address": "0x0b1724cc9FDA0186911EF6a75949e9c0d3F0f2F3", + "decimals": 8, + "name": "Etheriya", + "symbol": "RIYA" + }, + { + "address": "0x106Aa49295B525fcf959aA75eC3f7dCbF5352f1C", + "decimals": 18, + "name": "Rock", + "symbol": "RKT" + }, + { + "address": "0x607F4C5BB672230e8672085532f7e901544a7375", + "decimals": 9, + "name": "IEx.ec", + "symbol": "RLC" + }, + { + "address": "0xcCeD5B8288086BE8c38E23567e684C3740be4D48", + "decimals": 10, + "name": "RLT", + "symbol": "RLT" + }, + { + "address": "0xbe99B09709fc753b09BCf557A992F6605D5997B0", + "decimals": 8, + "name": "SMARTRealty", + "symbol": "RLTY" + }, + { + "address": "0x4A42d2c580f83dcE404aCad18dab26Db11a1750E", + "decimals": 18, + "name": "Relex", + "symbol": "RLX" + }, + { + "address": "0x7Dc4f41294697a7903C4027f6Ac528C5d14cd7eB", + "decimals": 8, + "name": "RemiCoin", + "symbol": "RMC" + }, + { + "address": "0x8D5682941cE456900b12d47ac06a88b47C764CE1", + "decimals": 18, + "name": "RightMesh Token", + "symbol": "RMESH" + }, + { + "address": "0x0996bFb5D057faa237640E2506BE7B4f9C46de0B", + "decimals": 18, + "name": "Render Token", + "symbol": "RNDR" + }, + { + "address": "0xFF603F43946A3A28DF5E6A73172555D8C8b02386", + "decimals": 18, + "name": "OneRoot Network", + "symbol": "RNT" + }, + { + "address": "0x1FE70bE734e473e5721ea57C8B5B01e6Caa52686", + "decimals": 18, + "name": "BitRent", + "symbol": "RNTB" + }, + { + "address": "0x1BcBc54166F6bA149934870b60506199b6C9dB6D", + "decimals": 10, + "name": "ROC", + "symbol": "ROC" + }, + { + "address": "0xA40106134c5bF4c41411554e6db99B95A15ed9d8", + "decimals": 18, + "name": "Rocket Token", + "symbol": "ROCK" + }, + { + "address": "0xC16b542ff490e01fcc0DC58a60e1EFdc3e357cA6", + "decimals": 0, + "name": "ICE ROCK MINING", + "symbol": "ROCK2" + }, + { + "address": "0x0E3de3B0E3D617FD8D1D8088639bA877feb4d742", + "decimals": 18, + "name": "ICE ROCK MINING", + "symbol": "ROCK2PAY" + }, + { + "address": "0xc9De4B7F0C3d991e967158E4D4bFA4b51Ec0b114", + "decimals": 18, + "name": "Rocketchain", + "symbol": "ROK" + }, + { + "address": "0x4993CB95c7443bdC06155c5f5688Be9D8f6999a5", + "decimals": 18, + "name": "ROUND", + "symbol": "ROUND" + }, + { + "address": "0xB4EFd85c19999D84251304bDA99E90B92300Bd93", + "decimals": 18, + "name": "Rocket Pool", + "symbol": "RPL" + }, + { + "address": "0xEC491c1088Eae992B7A214efB0a266AD0927A72A", + "decimals": 18, + "name": "AB-Chain RTB", + "symbol": "RTB" + }, + { + "address": "0x3FD8f39A962eFDA04956981C31AB89FAB5FB8bC8", + "decimals": 18, + "name": "Rotharium", + "symbol": "RTH" + }, + { + "address": "0x54b293226000ccBFC04DF902eEC567CB4C35a903", + "decimals": 18, + "name": "RiderToken", + "symbol": "RTN" + }, + { + "address": "0xf278c1CA969095ffddDED020290cf8B5C424AcE2", + "decimals": 18, + "name": "Ruff", + "symbol": "RUFF" + }, + { + "address": "0xdEE02D94be4929d26f67B64Ada7aCf1914007F10", + "decimals": 18, + "name": "Rune", + "symbol": "RUNE" + }, + { + "address": "0x41f615E24fAbd2b097a320E9E6c1f448cb40521c", + "decimals": 18, + "name": "RVL", + "symbol": "RVL" + }, + { + "address": "0x3d1BA9be9f66B8ee101911bC36D3fB562eaC2244", + "decimals": 18, + "name": "Rivetz", + "symbol": "RVT" + }, + { + "address": "0x1EC8fE51a9B6A3a6C427D17d9ECC3060fbc4a45c", + "decimals": 18, + "name": "S-A-PAT", + "symbol": "S-A-PAT" + }, + { + "address": "0x3eb91D237e491E0DEE8582c402D85CB440fb6b54", + "decimals": 18, + "name": "S-ETH", + "symbol": "S-ETH" + }, + { + "address": "0xabC1280A0187a2020cC675437aed400185F86Db6", + "decimals": 18, + "name": "Smart Application Chain", + "symbol": "SAC" + }, + { + "address": "0x4156D3342D5c385a87D264F90653733592000581", + "decimals": 8, + "name": "Salt Lending Token", + "symbol": "SALT" + }, + { + "address": "0x7C5A0CE9267ED19B22F8cae653F198e3E8daf098", + "decimals": 18, + "name": "Santiment", + "symbol": "SAN" + }, + { + "address": "0x78fE18e41f436e1981a3a60D1557c8a7a9370461", + "decimals": 2, + "name": "Scandiweb Coin", + "symbol": "SCANDI" + }, + { + "address": "0xd7631787B4dCc87b1254cfd1e5cE48e96823dEe8", + "decimals": 8, + "name": "SocialCoin", + "symbol": "SCL" + }, + { + "address": "0x24DCc881E7Dd730546834452F21872D5cb4b5293", + "decimals": 18, + "name": "SCRL", + "symbol": "SCRL" + }, + { + "address": "0xB1eeF147028E9f480DbC5ccaA3277D417D1b85F0", + "decimals": 18, + "name": "Seele", + "symbol": "SEELE" + }, + { + "address": "0xA13f0743951B4f6E3e3AA039f682E17279f52bc3", + "decimals": 18, + "name": "Sentinel Chain", + "symbol": "SENC" + }, + { + "address": "0x4cA74185532DC1789527194e5B9c866dD33F4E82", + "decimals": 18, + "name": "SenSatorI Token", + "symbol": "SenSatorI" + }, + { + "address": "0x6745fAB6801e376cD24F03572B9C9B0D4EdDDCcf", + "decimals": 8, + "name": "Sensay", + "symbol": "SENSE" + }, + { + "address": "0xa44E5137293E855B1b7bC7E2C6f8cD796fFCB037", + "decimals": 8, + "name": "SENTinel", + "symbol": "SENT" + }, + { + "address": "0xe06eda7435bA749b047380CEd49121ddE93334Ae", + "decimals": 0, + "name": "SET", + "symbol": "SET" + }, + { + "address": "0x98F5e9b7F0e33956C0443E81bF7deB8B5b1ed545", + "decimals": 18, + "name": "Sexy Token", + "symbol": "SEXY" + }, + { + "address": "0xa1ccc166faf0E998b3E33225A1A0301B1C86119D", + "decimals": 18, + "name": "SGELDER", + "symbol": "SGEL" + }, + { + "address": "0xB2135AB9695a7678Dd590B1A996CB0f37BCB0718", + "decimals": 9, + "name": "Signals Network", + "symbol": "SGN" + }, + { + "address": "0x33C623a2BAAfEb8D15DfaF3cE44095efec83D72C", + "decimals": 18, + "name": "SGPay", + "symbol": "SGP" + }, + { + "address": "0xCB5A05beF3257613E984C17DbcF039952B6d883F", + "decimals": 8, + "name": "Sugar Exchange", + "symbol": "SGR" + }, + { + "address": "0xe25b0BBA01Dc5630312B6A21927E578061A13f55", + "decimals": 18, + "name": "ShipChain", + "symbol": "SHIP" + }, + { + "address": "0xEF2E9966eb61BB494E5375d5Df8d67B7dB8A780D", + "decimals": 0, + "name": "SHIT", + "symbol": "SHIT" + }, + { + "address": "0x8542325B72C6D9fC0aD2Ca965A78435413a915A0", + "decimals": 18, + "name": "Oyster Shell", + "symbol": "SHL" + }, + { + "address": "0xEF2463099360a085f1f10b076Ed72Ef625497a06", + "decimals": 18, + "name": "Sharpe Platform Token", + "symbol": "SHP" + }, + { + "address": "0x8a187D5285d316bcBC9ADafc08b51d70a0d8e000", + "decimals": 0, + "name": "SIFT", + "symbol": "SIFT" + }, + { + "address": "0x6888a16eA9792c15A4DCF2f6C623D055c8eDe792", + "decimals": 18, + "name": "Signal", + "symbol": "SIG" + }, + { + "address": "0x4aF328C52921706dCB739F25786210499169AFe6", + "decimals": 8, + "name": "Sakura Bloom", + "symbol": "SKB" + }, + { + "address": "0x13DB74B3cf512F65C4b91683940B4f3955E05085", + "decimals": 8, + "name": "Super Keep Token", + "symbol": "SKE" + }, + { + "address": "0x2bDC0D42996017fCe214b21607a515DA41A9E0C5", + "decimals": 6, + "name": "SKIN", + "symbol": "SKIN" + }, + { + "address": "0xd99b8A7fA48E25Cce83B81812220A3E03Bf64e5f", + "decimals": 18, + "name": "Skrumble Network", + "symbol": "SKM" + }, + { + "address": "0x4994e81897a920c0FEA235eb8CEdEEd3c6fFF697", + "decimals": 18, + "name": "Sikoba", + "symbol": "SKO1" + }, + { + "address": "0x4c382F8E09615AC86E08CE58266CC227e7d4D913", + "decimals": 6, + "name": "SKR Token", + "symbol": "SKR" + }, + { + "address": "0x7297862B9670fF015192799cc849726c88bf1d77", + "decimals": 18, + "name": "Skymap Token", + "symbol": "SKYM" + }, + { + "address": "0x7A5fF295Dc8239d5C2374E4D894202aAF029Cab6", + "decimals": 3, + "name": "Smartlands", + "symbol": "SLT" + }, + { + "address": "0x7928c8aBF1F74eF9F96D4D0a44e3b4209d360785", + "decimals": 18, + "name": "Selfllery", + "symbol": "SLY" + }, + { + "address": "0x39013F961c378f02C2b82A6E1d31E9812786FD9D", + "decimals": 3, + "name": "Speed Mining Service", + "symbol": "SMS" + }, + { + "address": "0x198A87b3114143913d4229Fb0f6D4BCb44aa8AFF", + "decimals": 8, + "name": "Snowball", + "symbol": "SNBL" + }, + { + "address": "0xF4134146AF2d511Dd5EA8cDB1C4AC88C57D60404", + "decimals": 18, + "name": "SunContract", + "symbol": "SNC" + }, + { + "address": "0xf333b2Ace992ac2bBD8798bF57Bc65a06184afBa", + "decimals": 0, + "name": "Sandcoin", + "symbol": "SND" + }, + { + "address": "0xcFD6Ae8BF13f42DE14867351eAff7A8A3b9FbBe7", + "decimals": 8, + "name": "SINERGIA", + "symbol": "SNG" + }, + { + "address": "0xaeC2E87E0A235266D9C5ADc9DEb4b2E29b54D009", + "decimals": 0, + "name": "SingularDTV", + "symbol": "SNGLS" + }, + { + "address": "0x44F588aEeB8C44471439D1270B3603c66a9262F1", + "decimals": 18, + "name": "SNIP", + "symbol": "SNIP" + }, + { + "address": "0x983F6d60db79ea8cA4eB9968C6aFf8cfA04B3c63", + "decimals": 18, + "name": "SNM", + "symbol": "SNM" + }, + { + "address": "0xBDC5bAC39Dbe132B1E030e898aE3830017D7d969", + "decimals": 18, + "name": "SNOV", + "symbol": "SNOV" + }, + { + "address": "0x744d70FDBE2Ba4CF95131626614a1763DF805B9E", + "decimals": 18, + "name": "Status Network Token", + "symbol": "SNT" + }, + { + "address": "0x2859021eE7F2Cb10162E67F33Af2D22764B31aFf", + "decimals": 4, + "name": "Silent Notary", + "symbol": "SNTR" + }, + { + "address": "0xC011A72400E58ecD99Ee497CF89E3775d4bd732F", + "decimals": 18, + "name": "Synthetix Network Token", + "symbol": "SNX" + }, + { + "address": "0xD65960FAcb8E4a2dFcb2C2212cb2e44a02e2a57E", + "decimals": 6, + "name": "Soarcoin", + "symbol": "SOAR" + }, + { + "address": "0x2d0E95bd4795D7aCe0da3C0Ff7b706a5970eb9D3", + "decimals": 18, + "name": "All Sports", + "symbol": "SOC" + }, + { + "address": "0x1F54638b7737193FFd86c19Ec51907A7c41755D8", + "decimals": 6, + "name": "Sola Token", + "symbol": "SOL" + }, + { + "address": "0x1C62aCa2b7605Db3606eAcdA7Bc67A1857DDb8FF", + "decimals": 18, + "name": "Soniq", + "symbol": "SONIQ" + }, + { + "address": "0xBb1f24C0c1554b9990222f036b0AaD6Ee4CAec29", + "decimals": 18, + "name": "CryptoSoul", + "symbol": "SOUL" + }, + { + "address": "0x42d6622deCe394b54999Fbd73D108123806f6a18", + "decimals": 18, + "name": "SpankChain", + "symbol": "SPANK" + }, + { + "address": "0x58bf7df57d9DA7113c4cCb49d8463D4908C735cb", + "decimals": 18, + "name": "SPARC", + "symbol": "SPARC" + }, + { + "address": "0x24AEF3BF1A47561500f9430D74Ed4097C47F51F2", + "decimals": 4, + "name": "SPARTA", + "symbol": "SPARTA" + }, + { + "address": "0x1dEa979ae76f26071870F824088dA78979eb91C8", + "decimals": 18, + "name": "SPINDLE", + "symbol": "SPD" + }, + { + "address": "0x85089389C14Bd9c77FC2b8F0c3d1dC3363Bf06Ef", + "decimals": 18, + "name": "Sportify", + "symbol": "SPF" + }, + { + "address": "0x3833ddA0AEB6947b98cE454d89366cBA8Cc55528", + "decimals": 18, + "name": "SPHTX", + "symbol": "SPHTX" + }, + { + "address": "0x0324dd195D0Cd53F9F07bEe6a48eE7a20bad738f", + "decimals": 8, + "name": "SPiCE VC Token", + "symbol": "SPICE" + }, + { + "address": "0x20F7A3DdF244dc9299975b4Da1C39F8D5D75f05A", + "decimals": 6, + "name": "Sapien", + "symbol": "SPN" + }, + { + "address": "0x05aAaA829Afa407D83315cDED1d45EB16025910c", + "decimals": 18, + "name": "Sp8de", + "symbol": "SPX" + }, + { + "address": "0x68d57c9a1C35f63E2c83eE8e49A64e9d70528D25", + "decimals": 18, + "name": "Sirin Labs", + "symbol": "SRN" + }, + { + "address": "0x6e2050CBFB3eD8A4d39b64cC9f47E711a03a5a89", + "decimals": 18, + "name": "StreamShares", + "symbol": "SSH" + }, + { + "address": "0x624d520BAB2E4aD83935Fa503fB130614374E850", + "decimals": 4, + "name": "Smartshare", + "symbol": "SSP" + }, + { + "address": "0x4A89cD486fA996ad50c0a63C35c78702f5422a50", + "decimals": 3, + "name": "StabitCoin", + "symbol": "STABIT" + }, + { + "address": "0x9a005c9a89BD72a4Bd27721E7a09A3c11D2b03C4", + "decimals": 18, + "name": "Starter Coin", + "symbol": "STAC" + }, + { + "address": "0x286708f069225905194673755F12359e6afF6FE1", + "decimals": 18, + "name": "STACS", + "symbol": "STACS" + }, + { + "address": "0xF70a642bD387F94380fFb90451C2c81d4Eb82CBc", + "decimals": 18, + "name": "Star Token", + "symbol": "STAR" + }, + { + "address": "0x09BcA6eBAb05Ee2ae945BE4edA51393d94Bf7b99", + "decimals": 4, + "name": "STABLE Token", + "symbol": "STB" + }, + { + "address": "0x629aEe55ed49581C33ab27f9403F7992A289ffd5", + "decimals": 18, + "name": "StrikeCoin Token", + "symbol": "STC" + }, + { + "address": "0xaE73B38d1c9A8b274127ec30160a4927C4d71824", + "decimals": 18, + "name": "STK Token", + "symbol": "STK" + }, + { + "address": "0x599346779e90fc3F5F997b5ea715349820F91571", + "decimals": 4, + "name": "Saturn Network", + "symbol": "STN" + }, + { + "address": "0xB64ef51C888972c908CFacf59B47C1AfBC0Ab8aC", + "decimals": 8, + "name": "STORJ", + "symbol": "STORJ" + }, + { + "address": "0xD0a4b8946Cb52f0661273bfbC6fD0E0C75Fc6433", + "decimals": 18, + "name": "Storm Token", + "symbol": "STORM" + }, + { + "address": "0xecd570bBf74761b960Fa04Cc10fe2c4e86FfDA36", + "decimals": 8, + "name": "StashPay", + "symbol": "STP" + }, + { + "address": "0x5c3a228510D246b78a3765C20221Cbf3082b44a4", + "decimals": 18, + "name": "Storiqa", + "symbol": "STQ" + }, + { + "address": "0xBAE235823D7255D9D48635cEd4735227244Cd583", + "decimals": 18, + "name": "Staker", + "symbol": "STR" + }, + { + "address": "0x46492473755e8dF960F8034877F61732D718CE96", + "decimals": 8, + "name": "STRC", + "symbol": "STRC" + }, + { + "address": "0x0371A82e4A9d0A4312f3ee2Ac9c6958512891372", + "decimals": 18, + "name": "bitJob", + "symbol": "STU" + }, + { + "address": "0x006BeA43Baa3f7A6f765F14f10A1a1b08334EF45", + "decimals": 18, + "name": "StoxToken", + "symbol": "STX" + }, + { + "address": "0x12480E24eb5bec1a9D4369CaB6a80caD3c0A377A", + "decimals": 2, + "name": "Substratum", + "symbol": "SUB" + }, + { + "address": "0xe120c1ECBfdFeA7F0A8f0Ee30063491E8c26fedf", + "decimals": 8, + "name": "Suretly", + "symbol": "SUR" + }, + { + "address": "0x57Ab1E02fEE23774580C119740129eAC7081e9D3", + "decimals": 18, + "name": "USD Synth (sUSD)", + "symbol": "sUSD" + }, + { + "address": "0xbdEB4b83251Fb146687fa19D1C660F99411eefe3", + "decimals": 18, + "name": "savedroid", + "symbol": "SVD" + }, + { + "address": "0x0bb217E40F8a5Cb79Adf04E1aAb60E5abd0dfC1e", + "decimals": 8, + "name": "SwftCoin", + "symbol": "SWFTC" + }, + { + "address": "0x9e88613418cF03dCa54D6a2cf6Ad934A78C7A17A", + "decimals": 18, + "name": "Swarm Fund Token", + "symbol": "SWM" + }, + { + "address": "0xB9e7F8568e08d5659f5D29C4997173d84CdF2607", + "decimals": 18, + "name": "Swarm City Token", + "symbol": "SWT" + }, + { + "address": "0x12B306fA98F4CbB8d4457FdFf3a0A0a56f07cCdf", + "decimals": 18, + "name": "Spectre.ai D-Token", + "symbol": "SXDT" + }, + { + "address": "0x2C82c73d5B34AA015989462b2948cd616a37641F", + "decimals": 18, + "name": "Spectre.ai U-Token", + "symbol": "SXUT" + }, + { + "address": "0x10B123FdDde003243199aaD03522065dC05827A0", + "decimals": 18, + "name": "Synapse", + "symbol": "SYN" + }, + { + "address": "0xE7775A6e9Bcf904eb39DA2b68c5efb4F9360e08C", + "decimals": 6, + "name": "Token-as-a-Service", + "symbol": "TaaS" + }, + { + "address": "0x1D4cCC31dAB6EA20f461d329a0562C1c58412515", + "decimals": 18, + "name": "Talao", + "symbol": "TALAO" + }, + { + "address": "0xc27A2F05fa577a83BA0fDb4c38443c0718356501", + "decimals": 18, + "name": "Lamden Tau", + "symbol": "TAU" + }, + { + "address": "0xFACCD5Fc83c3E4C3c1AC1EF35D15adf06bCF209C", + "decimals": 8, + "name": "TBC2", + "symbol": "TBC2" + }, + { + "address": "0xAFe60511341a37488de25Bef351952562E31fCc1", + "decimals": 8, + "name": "TBitBot", + "symbol": "TBT" + }, + { + "address": "0x3A92bD396aEf82af98EbC0Aa9030D25a23B11C6b", + "decimals": 18, + "name": "Tokenbox", + "symbol": "TBX" + }, + { + "address": "0xfA0eF5E034CaE1AE752d59bdb8aDcDe37Ed7aB97", + "decimals": 18, + "name": "TangguoTao Token", + "symbol": "TCA" + }, + { + "address": "0x9972A0F24194447E73a7e8b6CD26a52e02DDfAD5", + "decimals": 0, + "name": "Thore Cash", + "symbol": "TCH" + }, + { + "address": "0x2a1dbabe65c595B0022e75208C34014139d5d357", + "decimals": 18, + "name": "TrustedHealth", + "symbol": "TDH" + }, + { + "address": "0x1c79ab32C66aCAa1e9E81952B8AAa581B43e54E7", + "decimals": 4, + "name": "TEAM (TokenStars)", + "symbol": "TEAM" + }, + { + "address": "0xDD16eC0F66E54d453e6756713E533355989040E4", + "decimals": 18, + "name": "Tokenomy", + "symbol": "TEN" + }, + { + "address": "0xE5F166c0D8872B68790061317BB6CcA04582C912", + "decimals": 18, + "name": "TE-FOOD", + "symbol": "TFD" + }, + { + "address": "0xa7f976C360ebBeD4465c2855684D1AAE5271eFa9", + "decimals": 8, + "name": "TrueFlip", + "symbol": "TFL" + }, + { + "address": "0xF8e06E4e4A80287FDCa5b02dcCecAa9D0954840F", + "decimals": 18, + "name": "Truegame", + "symbol": "TGAME" + }, + { + "address": "0xAc3Da587eac229C9896D919aBC235CA4Fd7f72c1", + "decimals": 1, + "name": "Target Coin", + "symbol": "TGT" + }, + { + "address": "0x3883f5e181fccaF8410FA61e12b59BAd963fb645", + "decimals": 18, + "name": "Theta Token", + "symbol": "THETA" + }, + { + "address": "0x1Cb3209D45B2a60B7fBCA1cCDBF87f674237A4aa", + "decimals": 4, + "name": "ThoreCoin", + "symbol": "THR" + }, + { + "address": "0x4f27053F32edA8Af84956437Bc00e5fFa7003287", + "decimals": 18, + "name": "Thrive Token", + "symbol": "THRT" + }, + { + "address": "0xfe7B915A0bAA0E79f85c5553266513F7C1c03Ed0", + "decimals": 18, + "name": "THUG", + "symbol": "THUG" + }, + { + "address": "0x72430A612Adc007c50e3b6946dBb1Bb0fd3101D1", + "decimals": 8, + "name": "Thingschain", + "symbol": "TIC" + }, + { + "address": "0x999967E2Ec8A74B7c8E9dB19E039d920B31d39D0", + "decimals": 18, + "name": "Ties.DB", + "symbol": "TIE" + }, + { + "address": "0xEee2d00Eb7DEB8Dd6924187f5AA3496B7d06E62A", + "decimals": 18, + "name": "Tigereum", + "symbol": "TIG" + }, + { + "address": "0x6531f133e6DeeBe7F2dcE5A0441aA7ef330B4e53", + "decimals": 8, + "name": "Chronobank", + "symbol": "TIME" + }, + { + "address": "0x80BC5512561c7f85A3A9508c7df7901b370Fa1DF", + "decimals": 18, + "name": "TIO", + "symbol": "TIO" + }, + { + "address": "0xEa1f346faF023F974Eb5adaf088BbCdf02d761F4", + "decimals": 18, + "name": "Blocktix", + "symbol": "TIX" + }, + { + "address": "0xdaE1Baf249964bc4b6aC98c3122f0e3E785fd279", + "decimals": 18, + "name": "Tokia", + "symbol": "TKA" + }, + { + "address": "0x0675DAa94725A528b05A3A88635C03EA964BFA7E", + "decimals": 18, + "name": "Taklimakan Network", + "symbol": "TKLN" + }, + { + "address": "0xaAAf91D9b90dF800Df4F55c205fd6989c977E73a", + "decimals": 8, + "name": "TokenCard", + "symbol": "TKN" + }, + { + "address": "0xB45a50545bEEAB73F38F31E5973768C421805E5E", + "decimals": 18, + "name": "TKRToken", + "symbol": "TKR" + }, + { + "address": "0xb3616550aBc8AF79c7A5902DEF9Efa3bC9A95200", + "decimals": 8, + "name": "Telex", + "symbol": "TLX" + }, + { + "address": "0x3209f98BeBF0149B769ce26D71F7aEA8E435EfEa", + "decimals": 18, + "name": "TRAXIA", + "symbol": "TMT" + }, + { + "address": "0xb0280743b44bF7db4B6bE482b2Ba7b75E5dA096C", + "decimals": 18, + "name": "Transcodium", + "symbol": "TNS" + }, + { + "address": "0x08f5a9235B08173b7569F83645d2c7fB55e8cCD8", + "decimals": 8, + "name": "Tierion Network Token", + "symbol": "TNT" + }, + { + "address": "0x9a49f02e128a8E989b443a8f94843C0918BF45E7", + "decimals": 8, + "name": "TOKOK", + "symbol": "TOK" + }, + { + "address": "0x8b353021189375591723E7384262F45709A3C3dC", + "decimals": 18, + "name": "Tomocoin", + "symbol": "TOMO" + }, + { + "address": "0x8eb965ee9cCFBCE76c0a06264492c0afEfc2826d", + "decimals": 18, + "name": "ToorCoin", + "symbol": "TOOR" + }, + { + "address": "0xaA7a9CA87d3694B5755f213B5D04094b8d0F0A6F", + "decimals": 18, + "name": "OriginTrail", + "symbol": "TRAC" + }, + { + "address": "0x12759512D326303B45f1ceC8F7B6fd96F387778E", + "decimals": 18, + "name": "TrakInvest", + "symbol": "TRAK" + }, + { + "address": "0x566Fd7999B1Fc3988022bD38507A48F0bCf22c77", + "decimals": 18, + "name": "The Real Coin", + "symbol": "TRCN" + }, + { + "address": "0x30ceCB5461A449A90081F5a5F55db4e048397BAB", + "decimals": 8, + "name": "Tracto", + "symbol": "TRCT" + }, + { + "address": "0x33f90Dee07c6E8B9682dD20F73E6C358B2ED0f03", + "decimals": 0, + "name": "Trident Group", + "symbol": "TRDT" + }, + { + "address": "0xCb94be6f13A1182E4A4B6140cb7bf2025d28e41B", + "decimals": 6, + "name": "TRST", + "symbol": "TRST" + }, + { + "address": "0x6B87999bE87358065bBdE41e8a0fe0B7b1cd2514", + "decimals": 18, + "name": "TeslaWatt", + "symbol": "TSW" + }, + { + "address": "0xaaB606817809841E8b1168be8779Eeaf6744Ef64", + "decimals": 18, + "name": "Tend Token", + "symbol": "TTA" + }, + { + "address": "0x9389434852b94bbaD4c8AfEd5B7BDBc5Ff0c2275", + "decimals": 18, + "name": "TTC Protocol", + "symbol": "TTC" + }, + { + "address": "0x9CDa8A60dd5AfA156c95Bd974428d91a0812e054", + "decimals": 18, + "name": "TaTaTu", + "symbol": "TTU" + }, + { + "address": "0x0000000000085d4780B73119b644AE5ecd22b376", + "decimals": 18, + "duplicate": false, + "name": "TrueUSD", + "symbol": "TUSD" + }, + { + "address": "0x8dd5fbCe2F6a956C3022bA3663759011Dd51e73E", + "decimals": 18, + "deprecation": { + "announcement_url": "https://blog.trusttoken.com/scnote-33ec9f1fdb32", + "migration_type": "auto", + "new_address": "0x0000000000085d4780B73119b644AE5ecd22b376", + "time": "2019-01-03T00:00:00Z" + }, + "duplicate": false, + "name": "TrueUSD", + "symbol": "[deprecated] TUSD" + }, + { + "address": "0x2eF1aB8a26187C58BB8aAeB11B2fC6D25C5c0716", + "decimals": 18, + "name": "The World News", + "symbol": "TWN" + }, + { + "address": "0xfbd0d1c77B501796A35D86cF91d65D9778EeE695", + "decimals": 3, + "name": "Twinkle", + "symbol": "TWNKL" + }, + { + "address": "0x8400D94A5cb0fa0D041a3788e395285d61c9ee5e", + "decimals": 8, + "name": "Unibright", + "symbol": "UBT" + }, + { + "address": "0x92e52a1A235d9A103D970901066CE910AAceFD37", + "decimals": 8, + "name": "U.CASH", + "symbol": "UCASH" + }, + { + "address": "0xAAf37055188Feee4869dE63464937e683d61b2a1", + "decimals": 18, + "name": "UChain", + "symbol": "UCN" + }, + { + "address": "0xEA097A2b1dB00627B2Fa17460Ad260c016016977", + "decimals": 18, + "name": "Upfiring", + "symbol": "UFR" + }, + { + "address": "0x24692791Bc444c5Cd0b81e3CBCaba4b04Acd1F3B", + "decimals": 18, + "name": "UnikoinGold", + "symbol": "UKG" + }, + { + "address": "0x89205A3A3b2A69De6Dbf7f01ED13B2108B2c43e7", + "decimals": 0, + "name": "Unicorn", + "symbol": "Unicorn" + }, + { + "address": "0x6Ba460AB75Cd2c56343b3517ffeBA60748654D26", + "decimals": 8, + "name": "UpToken", + "symbol": "UP" + }, + { + "address": "0xC86D054809623432210c107af2e3F619DcFbf652", + "decimals": 18, + "name": "Sentinel Protocol", + "symbol": "UPP" + }, + { + "address": "0xD01DB73E047855Efb414e6202098C4Be4Cd2423B", + "decimals": 18, + "name": "Uquid Coin", + "symbol": "UQC" + }, + { + "address": "0x931684139f756C24eC0731E9F74FE50e5548dDeF", + "decimals": 18, + "name": "Urbit Data", + "symbol": "URB" + }, + { + "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", + "decimals": 6, + "name": "USD//Coin", + "symbol": "USDC" + }, + { + "address": "0xD760ADdFb24D9C01Fe4Bfea7475C5e3636684058", + "decimals": 2, + "name": "Mether (USDM)", + "symbol": "USDM" + }, + { + "address": "0xA4Bdb11dc0a2bEC88d24A3aa1E6Bb17201112eBe", + "decimals": 6, + "name": "StableUSD", + "symbol": "USDS" + }, + { + "address": "0xdAC17F958D2ee523a2206206994597C13D831ec7", + "decimals": 6, + "name": "USD Tether (erc20)", + "symbol": "USDT" + }, + { + "address": "0x70a72833d6bF7F508C8224CE59ea1Ef3d0Ea3A38", + "decimals": 18, + "name": "UTK", + "symbol": "UTK" + }, + { + "address": "0x9e3319636e2126e3c0bc9e3134AEC5e1508A46c7", + "decimals": 18, + "name": "Universa", + "symbol": "UTNP" + }, + { + "address": "0x16f812Be7FfF02cAF662B85d5d58a5da6572D4Df", + "decimals": 8, + "name": "United Traders Token", + "symbol": "UTT" + }, + { + "address": "0x3543638eD4a9006E4840B105944271Bcea15605D", + "decimals": 18, + "name": "U Networks", + "symbol": "UUU" + }, + { + "address": "0x57C75ECCc8557136D32619a191fBCDc88560d711", + "decimals": 0, + "name": "VeriDocGlobal", + "symbol": "VDG" + }, + { + "address": "0x82BD526bDB718C6d4DD2291Ed013A5186cAE2DCa", + "decimals": 18, + "name": "Duty of Care Token", + "symbol": "VDOC" + }, + { + "address": "0x340D2bdE5Eb28c1eed91B2f790723E3B160613B7", + "decimals": 18, + "name": "BLOCKv", + "symbol": "VEE" + }, + { + "address": "0xD850942eF8811f2A866692A623011bDE52a462C1", + "decimals": 18, + "name": "VeChain", + "symbol": "VEN" + }, + { + "address": "0xEbeD4fF9fe34413db8fC8294556BBD1528a4DAca", + "decimals": 3, + "name": "VENUS", + "symbol": "VENUS" + }, + { + "address": "0x8f3470A7388c05eE4e7AF3d01D8C722b0FF52374", + "decimals": 18, + "name": "Veritaseum", + "symbol": "VERI" + }, + { + "address": "0x2C974B2d0BA1716E644c1FC59982a89DDD2fF724", + "decimals": 18, + "name": "VIB", + "symbol": "VIB" + }, + { + "address": "0xF03f8D65BaFA598611C3495124093c56e8F638f0", + "decimals": 18, + "name": "Viewly", + "symbol": "VIEW" + }, + { + "address": "0xd2946be786F35c3Cc402C29b323647aBda799071", + "decimals": 8, + "name": "VikkyToken", + "symbol": "VIKKY" + }, + { + "address": "0xF3e014fE81267870624132ef3A646B8E83853a96", + "decimals": 18, + "name": "VIN", + "symbol": "VIN" + }, + { + "address": "0x23b75Bc7AaF28e2d6628C3f424B3882F8f072a3c", + "decimals": 18, + "name": "Vice Industry Token", + "symbol": "VIT" + }, + { + "address": "0x1b793E49237758dBD8b752AFC9Eb4b329d5Da016", + "decimals": 18, + "name": "Vite", + "symbol": "VITE" + }, + { + "address": "0x519475b31653E46D20cD09F9FdcF3B12BDAcB4f5", + "decimals": 18, + "name": "VIU", + "symbol": "VIU" + }, + { + "address": "0x922aC473A3cC241fD3a0049Ed14536452D58D73c", + "decimals": 18, + "name": "VETRI", + "symbol": "VLD" + }, + { + "address": "0xc3bC9Eb71f75Ec439A6b6C8E8b746fCF5b62F703", + "decimals": 18, + "name": "VORMACOIN", + "symbol": "VOC" + }, + { + "address": "0x83eEA00D838f92dEC4D1475697B9f4D3537b56E3", + "decimals": 8, + "name": "Voise", + "symbol": "VOISE" + }, + { + "address": "0x5c543e7AE0A1104f78406C340E9C64FD9fCE5170", + "decimals": 18, + "name": "Vdice", + "symbol": "VSL" + }, + { + "address": "0x4b96bf1feF93A216914fc843D81207A027ce52b3", + "decimals": 18, + "name": "Vuulr Token", + "symbol": "VUU" + }, + { + "address": "0x9720b467a710382A232a32F540bDCed7d662a10B", + "decimals": 18, + "name": "Vezt", + "symbol": "VZT" + }, + { + "address": "0x4BBbC57aF270138Ef2FF2C50DbfAD684e9E0e604", + "decimals": 18, + "name": "WABnetwork", + "symbol": "WAB" + }, + { + "address": "0x286BDA1413a2Df81731D4930ce2F862a35A609fE", + "decimals": 18, + "name": "WaBi", + "symbol": "WaBi" + }, + { + "address": "0x829A4cA1303383F1082B6B1fB937116e4b3b5605", + "decimals": 18, + "name": "WorkChain App Token", + "symbol": "WATT" + }, + { + "address": "0x39Bb259F66E1C59d5ABEF88375979b4D20D98022", + "decimals": 8, + "name": "WAX", + "symbol": "WAX" + }, + { + "address": "0x74951B677de32D596EE851A233336926e6A2cd09", + "decimals": 7, + "name": "WeBetCrypto", + "symbol": "WBA" + }, + { + "address": "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599", + "decimals": 8, + "name": "Wrapped Bitcoin", + "symbol": "WBTC" + }, + { + "address": "0x8F936fE0faF0604c9C0Ef2406bde0A65365515d6", + "decimals": 18, + "name": "WorldCoinNetwork", + "symbol": "WCN" + }, + { + "address": "0x6a0A97E47d15aAd1D132a1Ac79a480E3F2079063", + "decimals": 18, + "name": "WePower", + "symbol": "WCT" + }, + { + "address": "0x840fe75ABfaDc0F2d54037829571B2782e919ce4", + "decimals": 18, + "name": "Webcoin", + "symbol": "WEB" + }, + { + "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2", + "decimals": 18, + "name": "WETH", + "symbol": "WETH" + }, + { + "address": "0xF4FE95603881D0e07954fD7605E0e9a916e42C44", + "decimals": 18, + "name": "WHEN Token", + "symbol": "WHEN" + }, + { + "address": "0xD3C00772B24D997A812249ca637a921e81357701", + "decimals": 18, + "name": "WILD Token", + "symbol": "WILD" + }, + { + "address": "0x899338b84D25aC505a332aDCE7402d697D947494", + "decimals": 8, + "name": "WCOIN", + "symbol": "WIN" + }, + { + "address": "0x667088b212ce3d06a1b553a7221E1fD19000d9aF", + "decimals": 18, + "name": "WINGS", + "symbol": "WINGS" + }, + { + "address": "0x1b22C32cD936cB97C28C5690a0695a82Abf688e6", + "decimals": 18, + "name": "MyWish", + "symbol": "WISH" + }, + { + "address": "0xBFbe5332f172d77811bC6c272844f3e54A7B23bB", + "decimals": 18, + "name": "WemarkToken", + "symbol": "WMK" + }, + { + "address": "0xd73A66B8FB26Be8B0AcD7c52Bd325054Ac7d468b", + "decimals": 18, + "name": "Woonk", + "symbol": "WNK" + }, + { + "address": "0xF9D9702D031407F425a4412682fDc56b07d05262", + "decimals": 0, + "name": "WallOfChain", + "symbol": "WOC" + }, + { + "address": "0x62087245087125d3DB5B9A3D713d78E7BBc31e54", + "decimals": 18, + "name": "WorldPeaceCoin", + "symbol": "WPC" + }, + { + "address": "0x4CF488387F035FF08c371515562CBa712f9015d4", + "decimals": 18, + "name": "WePower Token", + "symbol": "WPR" + }, + { + "address": "0x72aDadb447784dd7AB1F472467750fC485e4cb2d", + "decimals": 6, + "name": "Worldcore", + "symbol": "WRC" + }, + { + "address": "0x71e8d74fF1C923E369D0e70DFb09866629C4DD35", + "decimals": 18, + "name": "WorkCoin", + "symbol": "WRK" + }, + { + "address": "0xb7cB1C96dB6B22b0D3d9536E0108d062BD488F74", + "decimals": 18, + "name": "Waltonchain", + "symbol": "WTC" + }, + { + "address": "0x84119cb33E8F590D75c2D6Ea4e6B0741a7494EDA", + "decimals": 0, + "name": "WTT", + "symbol": "WTT" + }, + { + "address": "0xd8950fDeaa10304B7A7Fd03a2FC66BC39f3c711a", + "decimals": 18, + "name": "wystoken", + "symbol": "WYS" + }, + { + "address": "0x056017c55aE7AE32d12AeF7C679dF83A85ca75Ff", + "decimals": 18, + "name": "WyvernToken", + "symbol": "WYV" + }, + { + "address": "0x910Dfc18D6EA3D6a7124A6F8B5458F281060fa4c", + "decimals": 18, + "name": "X8X", + "symbol": "X8X" + }, + { + "address": "0x4DF812F6064def1e5e029f1ca858777CC98D2D81", + "decimals": 8, + "name": "Xaurum", + "symbol": "XAUR" + }, + { + "address": "0x49AeC0752E68D0282Db544C677f6BA407BA17ED7", + "decimals": 18, + "name": "Billionaire Token", + "symbol": "XBL" + }, + { + "address": "0x28dee01D53FED0Edf5f6E310BF8Ef9311513Ae40", + "decimals": 18, + "name": "BlitzPredict", + "symbol": "XBP" + }, + { + "address": "0x4d829f8C92a6691c56300D020c9e0dB984Cfe2BA", + "decimals": 18, + "name": "CoinCrowd", + "symbol": "XCC" + }, + { + "address": "0xB4272071eCAdd69d933AdcD19cA99fe80664fc08", + "decimals": 18, + "name": "CryptoFranc", + "symbol": "XCHF" + }, + { + "address": "0x1E26b3D07E57F453caE30F7DDd2f945f5bF3EF33", + "decimals": 8, + "name": "ClearCoin", + "symbol": "XCLR" + }, + { + "address": "0x41AB1b6fcbB2fA9DCEd81aCbdeC13Ea6315F2Bf2", + "decimals": 18, + "name": "XinFin Network", + "symbol": "XDCE" + }, + { + "address": "0xA017ac5faC5941f95010b12570B812C974469c2C", + "decimals": 18, + "name": "Proxeus", + "symbol": "XES" + }, + { + "address": "0x054C64741dBafDC19784505494029823D89c3b13", + "decimals": 8, + "name": "ETERNAL TOKEN", + "symbol": "XET" + }, + { + "address": "0x16aF5bfb4Ae7E475b9aDC3Bf5Cb2f1E6a50d7940", + "decimals": 8, + "name": "Fanship", + "symbol": "XFS" + }, + { + "address": "0xf6b6AA0Ef0f5Edc2C1c5d925477F97eAF66303e7", + "decimals": 8, + "name": "Going Gems", + "symbol": "XGG" + }, + { + "address": "0x533ef0984b2FAA227AcC620C67cce12aA39CD8CD", + "decimals": 8, + "name": "XGM", + "symbol": "XGM" + }, + { + "address": "0x30f4A3e0aB7a76733D8b60b89DD93c3D0b4c9E2f", + "decimals": 18, + "name": "XGT", + "symbol": "XGT" + }, + { + "address": "0xB110eC7B1dcb8FAB8dEDbf28f53Bc63eA5BEdd84", + "decimals": 8, + "name": "XID", + "symbol": "XID" + }, + { + "address": "0x44449Fa4d607F807d1eD4a69ad942971728391C8", + "decimals": 18, + "name": "XMED Chain", + "symbol": "XMCT" + }, + { + "address": "0x0f8c45B896784A1E408526B9300519ef8660209c", + "decimals": 8, + "name": "XMax", + "symbol": "XMX" + }, + { + "address": "0xBC86727E770de68B1060C91f6BB6945c73e10388", + "decimals": 18, + "name": "Ink Protocol", + "symbol": "XNK" + }, + { + "address": "0xab95E915c123fdEd5BDfB6325e35ef5515F1EA69", + "decimals": 18, + "name": "XENON", + "symbol": "XNN" + }, + { + "address": "0x572E6f318056ba0C5d47A422653113843D250691", + "decimals": 0, + "name": "XNT", + "symbol": "XNT" + }, + { + "address": "0x153eD9CC1b792979d2Bde0BBF45CC2A7e436a5F9", + "decimals": 18, + "name": "XOVBank", + "symbol": "XOV" + }, + { + "address": "0x90528aeb3a2B736B780fD1B6C478bB7E1d643170", + "decimals": 18, + "name": "XPA", + "symbol": "XPA" + }, + { + "address": "0xBB1fA4FdEB3459733bF67EbC6f893003fA976a82", + "decimals": 18, + "name": "Pangea Arbitration Token", + "symbol": "XPAT" + }, + { + "address": "0xB24754bE79281553dc1adC160ddF5Cd9b74361a4", + "decimals": 9, + "name": "XRL", + "symbol": "XRL" + }, + { + "address": "0x0F513fFb4926ff82D7F60A05069047AcA295C413", + "decimals": 18, + "name": "XSC", + "symbol": "XSC" + }, + { + "address": "0x55296f69f40Ea6d20E478533C15A6B08B654E758", + "decimals": 18, + "name": "XYO", + "symbol": "XYO" + }, + { + "address": "0x922105fAd8153F516bCfB829f56DC097a0E1D705", + "decimals": 18, + "name": "Yee Token", + "symbol": "YEE" + }, + { + "address": "0xcbeAEc699431857FDB4d37aDDBBdc20E132D4903", + "decimals": 18, + "name": "YOYOW", + "symbol": "YOYOW" + }, + { + "address": "0xD9A12Cde03a86E800496469858De8581D3A5353d", + "decimals": 18, + "name": "YUP", + "symbol": "YUP" + }, + { + "address": "0x0F33bb20a282A7649C7B3AFf644F084a9348e933", + "decimals": 18, + "name": "YUPIE", + "symbol": "YUPIE" + }, + { + "address": "0x6781a0F84c7E9e846DCb84A9a5bd49333067b104", + "decimals": 18, + "name": "ZAP", + "symbol": "ZAP" + }, + { + "address": "0xb9EF770B6A5e12E45983C5D80545258aA38F3B78", + "decimals": 10, + "name": "0chain", + "symbol": "ZCN" + }, + { + "address": "0x2008e3057BD734e10AD13c9EAe45Ff132aBc1722", + "decimals": 8, + "name": "Zebi", + "symbol": "ZCO" + }, + { + "address": "0x7A41e0517a5ecA4FdbC7FbebA4D4c47B9fF6DC63", + "decimals": 18, + "name": "Zeusshield", + "symbol": "ZCS" + }, + { + "address": "0xe7E4279b80D319EDe2889855135A22021baf0907", + "decimals": 18, + "name": "ZeusNetwork", + "symbol": "ZEUS" + }, + { + "address": "0x05f4a42e251f2d52b8ed15E9FEdAacFcEF1FAD27", + "decimals": 12, + "name": "Zilliqa", + "symbol": "ZIL" + }, + { + "address": "0x4AaC461C86aBfA71e9d00d9a2cde8d74E4E1aeEa", + "decimals": 18, + "name": "ZINC", + "symbol": "ZINC" + }, + { + "address": "0xA9d2927d3a04309E008B6af6E2e282AE2952e7fD", + "decimals": 18, + "name": "Zipper", + "symbol": "ZIP" + }, + { + "address": "0xEDD7c94FD7B4971b916d15067Bc454b9E1bAD980", + "decimals": 18, + "name": "Zippie", + "symbol": "ZIPT" + }, + { + "address": "0xf3C092cA8CD6D3d4ca004Dc1d0f1fe8CcAB53599", + "decimals": 18, + "name": "ZIX", + "symbol": "ZIX" + }, + { + "address": "0xfd8971d5E8E1740cE2d0A84095fCA4De729d0c16", + "decimals": 18, + "name": "Zilla", + "symbol": "ZLA" + }, + { + "address": "0x554FFc77F4251a9fB3c0E3590a6a205f8d4e067D", + "decimals": 18, + "name": "ZMINE", + "symbol": "ZMN" + }, + { + "address": "0xb5b8F5616Fe42d5ceCA3e87F3FddbDd8F496d760", + "decimals": 18, + "name": "ZPER", + "symbol": "ZPR" + }, + { + "address": "0xE41d2489571d322189246DaFA5ebDe1F4699F498", + "decimals": 18, + "duplicate": false, + "name": "0x Project", + "symbol": "ZRX" + }, + { + "address": "0xe386B139Ed3715Ca4B18Fd52671bDcea1cdFE4b1", + "decimals": 8, + "name": "Zeus Exchange", + "symbol": "ZST" + }, + { + "address": "0xE8F9fa977ea585591d9F394681318C16552577fB", + "decimals": 18, + "name": "ZTX", + "symbol": "ZTX" + }, + { + "address": "0x83e2BE8d114F9661221384B3a50d24B96a5653F5", + "decimals": 18, + "name": "0xcert Protocol Token", + "symbol": "ZXC" + } +] \ No newline at end of file From a34bae240dfd33eecd3ab63b1c30d1016334e7f1 Mon Sep 17 00:00:00 2001 From: Vladimir Volek Date: Tue, 26 Feb 2019 15:24:59 +0100 Subject: [PATCH 219/219] Update changelog with tokens --- CHANGELOG.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bce4b0d1..478f54f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,22 @@ ## 1.1.0-beta __added__ -- Ripple support enabled +- Ripple support - responsive sidebar - QR code scanner in send form - clear send form button - backup notification modal +__updated__ +- connect v7 +- babel v7 +- ethereum tokens list +- most of dependencies + __changed__ -- update dependencies -- upgrade babel7 -- split icons for T1 and TT +- icons for T1 and TT - device header styles - input styles -- split sign and verify title -- connect v7 +- sign and verify title __fixed__ - beta disclaimer wrapper position