diff --git a/.travis.yml b/.travis.yml index 3aaa21bd..dcf6ad4b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: - docker language: node_js node_js: - - '10' + - '12' os: - linux env: diff --git a/package.json b/package.json index e86e4342..eaa407ed 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "safe-react", - "version": "2.8.1", + "version": "2.9.0", "description": "Allowing crypto users manage funds in a safer way", "website": "https://github.com/gnosis/safe-react#readme", "bugs": { @@ -44,7 +44,8 @@ }, "husky": { "hooks": { - "pre-commit": "lint-staged --allow-empty" + "pre-commit": "lint-staged --allow-empty", + "pre-push": "tsc" } }, "lint-staged": { @@ -161,8 +162,8 @@ ] }, "dependencies": { - "@gnosis.pm/safe-contracts": "1.1.1-dev.2", - "@gnosis.pm/safe-react-components": "https://github.com/gnosis/safe-react-components.git#7bb55de", + "@gnosis.pm/safe-contracts": "1.1.1-dev.2", + "@gnosis.pm/safe-react-components": "https://github.com/gnosis/safe-react-components.git#45c746a", "@gnosis.pm/util-contracts": "2.0.6", "@ledgerhq/hw-transport-node-hid": "5.19.1", "@material-ui/core": "4.11.0", diff --git a/src/components/Header/components/ProviderDetails/UserDetails.tsx b/src/components/Header/components/ProviderDetails/UserDetails.tsx index 73fbdf7c..9210d814 100644 --- a/src/components/Header/components/ProviderDetails/UserDetails.tsx +++ b/src/components/Header/components/ProviderDetails/UserDetails.tsx @@ -2,11 +2,10 @@ import { withStyles } from '@material-ui/core/styles' import Dot from '@material-ui/icons/FiberManualRecord' import classNames from 'classnames' import * as React from 'react' +import { Identicon } from '@gnosis.pm/safe-react-components' +import { EthHashInfo } from '@gnosis.pm/safe-react-components' -import CopyBtn from 'src/components/CopyBtn' -import EtherscanBtn from 'src/components/EtherscanBtn' import CircleDot from 'src/components/Header/components/CircleDot' -import Identicon from 'src/components/Identicon' import Spacer from 'src/components/Spacer' import Block from 'src/components/layout/Block' import Button from 'src/components/layout/Button' @@ -14,7 +13,6 @@ import Hairline from 'src/components/layout/Hairline' import Img from 'src/components/layout/Img' import Paragraph from 'src/components/layout/Paragraph' import Row from 'src/components/layout/Row' -import { shortVersionOf } from 'src/logic/wallets/ethAddresses' import { background, connected as connectedBg, lg, md, sm, warning, xs } from 'src/theme/variables' import { upperFirst } from 'src/utils/css' @@ -93,8 +91,6 @@ const styles = () => ({ const UserDetails = ({ classes, connected, network, onDisconnect, openDashboard, provider, userAddress }) => { const status = connected ? 'Connected' : 'Connection error' - const address = userAddress ? shortVersionOf(userAddress, 4) : 'Address not available' - const identiconAddress = userAddress || 'random' const color = connected ? 'primary' : 'warning' return ( @@ -102,20 +98,16 @@ const UserDetails = ({ classes, connected, network, onDisconnect, openDashboard, {connected ? ( - + ) : ( )} - - {address} - - {userAddress && ( - <> - - - + {userAddress ? ( + + ) : ( + 'Address not available' )} diff --git a/src/components/Header/components/ProviderInfo/ProviderAccessible.tsx b/src/components/Header/components/ProviderInfo/ProviderAccessible.tsx index 61bf63b2..cfe1fdaf 100644 --- a/src/components/Header/components/ProviderInfo/ProviderAccessible.tsx +++ b/src/components/Header/components/ProviderInfo/ProviderAccessible.tsx @@ -1,12 +1,11 @@ import { makeStyles } from '@material-ui/core/styles' import * as React from 'react' +import { EthHashInfo, Text } from '@gnosis.pm/safe-react-components' import NetworkLabel from '../NetworkLabel' import CircleDot from 'src/components/Header/components/CircleDot' -import Identicon from 'src/components/Identicon' import Col from 'src/components/layout/Col' import Paragraph from 'src/components/layout/Paragraph' -import { shortVersionOf } from 'src/logic/wallets/ethAddresses' import WalletIcon from '../WalletIcon' import { connected as connectedBg, screenSm, sm } from 'src/theme/variables' @@ -69,10 +68,7 @@ interface ProviderInfoProps { const ProviderInfo = ({ connected, provider, userAddress, network }: ProviderInfoProps): React.ReactElement => { const classes = useStyles() - const cutAddress = connected ? shortVersionOf(userAddress, 4) : 'Connection Error' - const color = connected ? 'primary' : 'warning' - const identiconAddress = userAddress || 'random' - + const addressColor = connected ? 'text' : 'warning' return ( <> {!connected && } @@ -89,10 +85,25 @@ const ProviderInfo = ({ connected, provider, userAddress, network }: ProviderInf {provider}
- {connected && } - + {connected ? ( + + ) : ( + + Connection Error + + )} + + {/* {cutAddress} - + */}
diff --git a/src/components/Sidebar/SafeList/index.tsx b/src/components/Sidebar/SafeList/index.tsx index 852be4a3..2f93498f 100644 --- a/src/components/Sidebar/SafeList/index.tsx +++ b/src/components/Sidebar/SafeList/index.tsx @@ -1,34 +1,64 @@ import MuiList from '@material-ui/core/List' import ListItem from '@material-ui/core/ListItem' -import ListItemIcon from '@material-ui/core/ListItemIcon' -import ListItemText from '@material-ui/core/ListItemText' import { makeStyles } from '@material-ui/core/styles' +import { EthHashInfo, Icon, Text, ButtonLink } from '@gnosis.pm/safe-react-components' import * as React from 'react' +import styled from 'styled-components' +import { SafeRecord } from 'src/routes/safe/store/models/safe' +import { DefaultSafe } from 'src/routes/safe/store/reducer/types/safe' +import { SetDefaultSafe } from 'src/routes/safe/store/actions/setDefaultSafe' +import { getNetwork } from 'src/config' import DefaultBadge from './DefaultBadge' - -import check from 'src/assets/icons/check.svg' -import Identicon from 'src/components/Identicon' -import ButtonLink from 'src/components/layout/ButtonLink' import Hairline from 'src/components/layout/Hairline' -import Img from 'src/components/layout/Img' import Link from 'src/components/layout/Link' -import Paragraph from 'src/components/layout/Paragraph' import { formatAmount } from 'src/logic/tokens/utils/formatAmount' -import { sameAddress, shortVersionOf } from 'src/logic/wallets/ethAddresses' +import { sameAddress } from 'src/logic/wallets/ethAddresses' import { SAFELIST_ADDRESS } from 'src/routes/routes' -import { disabled, md, mediumFontSize, primary, sm } from 'src/theme/variables' - export const SIDEBAR_SAFELIST_ROW_TESTID = 'SIDEBAR_SAFELIST_ROW_TESTID' +const StyledIcon = styled(Icon)` + margin-right: 4px; +` +const AddressWrapper = styled.div` + display: flex; + padding: 5px 0; + width: 100%; + justify-content: space-between; + + > nth-child(2) { + display: flex; + align-items: center; + } +` + +const StyledButtonLink = styled(ButtonLink)` + visibility: hidden; + white-space: nowrap; +` + +const AddressDetails = styled.div` + display: flex; + align-items: center; + justify-content: space-between; + width: 175px; + + div { + margin-left: 0px; + padding: 5px 20px; + + img { + margin-right: 5px; + } + + p { + margin-top: 3px; + } + } +` + const useStyles = makeStyles({ - icon: { - marginRight: sm, - }, - checkIcon: { - marginRight: '10px', - }, list: { height: '100%', overflowX: 'hidden', @@ -38,33 +68,28 @@ const useStyles = makeStyles({ listItemRoot: { paddingTop: 0, paddingBottom: 0, - '&:hover $makeDefaultBtn': { + '&:hover .safeListMakeDefaultButton': { visibility: 'initial', }, - '&:focus $makeDefaultBtn': { + '&:focus .safeListMakeDefaultButton': { visibility: 'initial', }, }, - safeName: { - color: primary, - overflowWrap: 'break-word', - }, - safeAddress: { - color: disabled, - fontSize: mediumFontSize, - }, - makeDefaultBtn: { - padding: 0, - marginLeft: md, - visibility: 'hidden', - }, noIcon: { visibility: 'hidden', width: '28px', }, }) -const SafeList = ({ currentSafe, defaultSafe, onSafeClick, safes, setDefaultSafe }) => { +type Props = { + currentSafe: string | null + defaultSafe: DefaultSafe + safes: SafeRecord[] + onSafeClick: () => void + setDefaultSafe: SetDefaultSafe +} + +const SafeList = ({ currentSafe, defaultSafe, onSafeClick, safes, setDefaultSafe }: Props): React.ReactElement => { const classes = useStyles() return ( @@ -78,42 +103,38 @@ const SafeList = ({ currentSafe, defaultSafe, onSafeClick, safes, setDefaultSafe > {sameAddress(currentSafe, safe.address) ? ( - - check - + ) : (
placeholder
)} - - - - - - {`${formatAmount(safe.ethBalance)} ETH`} - - {sameAddress(defaultSafe, safe.address) ? ( - - ) : ( - { - e.preventDefault() - e.stopPropagation() - setDefaultSafe(safe.address) - }} - size="sm" - > - Make default - - )} + + + + + {`${formatAmount(safe.ethBalance)} ETH`} + {sameAddress(defaultSafe, safe.address) ? ( + + ) : ( + { + setDefaultSafe(safe.address) + }} + color="primary" + > + Make default + + )} + +
diff --git a/src/logic/safe/transactions/offchainSigner/ethSigner.ts b/src/logic/safe/transactions/offchainSigner/ethSigner.ts index 622da500..005a983e 100644 --- a/src/logic/safe/transactions/offchainSigner/ethSigner.ts +++ b/src/logic/safe/transactions/offchainSigner/ethSigner.ts @@ -1,5 +1,6 @@ import { EMPTY_DATA } from 'src/logic/wallets/ethTransactions' import { getWeb3 } from 'src/logic/wallets/getWeb3' +import { AbstractProvider } from 'web3-core/types' const ETH_SIGN_NOT_SUPPORTED_ERROR_MSG = 'ETH_SIGN_NOT_SUPPORTED' @@ -16,26 +17,17 @@ export const ethSigner = async ({ sender, to, valueInWei, -}) => { - const web3: any = await getWeb3() - const txHash = await safeInstance.getTransactionHash( - to, - valueInWei, - data, - operation, - safeTxGas, - baseGas, - gasPrice, - gasToken, - refundReceiver, - nonce, - { +}): Promise => { + const web3 = await getWeb3() + const txHash = await safeInstance.methods + .getTransactionHash(to, valueInWei, data, operation, safeTxGas, baseGas, gasPrice, gasToken, refundReceiver, nonce) + .call({ from: sender, - }, - ) + }) return new Promise(function (resolve, reject) { - web3.currentProvider.sendAsync( + const provider = web3.currentProvider as AbstractProvider + provider.sendAsync( { jsonrpc: '2.0', method: 'eth_sign', diff --git a/src/routes/open/utils/safeDataExtractor.spec.ts b/src/routes/open/utils/safeDataExtractor.spec.ts index 42bde6e1..ff1946b3 100644 --- a/src/routes/open/utils/safeDataExtractor.spec.ts +++ b/src/routes/open/utils/safeDataExtractor.spec.ts @@ -1,4 +1,4 @@ -// +// import { getAccountsFrom, getNamesFrom, getThresholdFrom } from './safeDataExtractor' describe('Test JS', () => { diff --git a/src/routes/safe/components/Apps/index.tsx b/src/routes/safe/components/Apps/index.tsx index 4495bf94..60e29679 100644 --- a/src/routes/safe/components/Apps/index.tsx +++ b/src/routes/safe/components/Apps/index.tsx @@ -23,6 +23,9 @@ import { } from 'src/routes/safe/store/selectors' import { isSameHref } from 'src/utils/url' +const StyledCard = styled(Card)` + margin-bottom: 24px; +` const StyledIframe = styled.iframe` padding: 15px; box-sizing: border-box; @@ -52,6 +55,7 @@ const IframeWrapper = styled.div` position: relative; height: 100%; width: 100%; + overflow: hidden; ` const operations = { ON_SAFE_INFO: 'ON_SAFE_INFO', @@ -271,11 +275,11 @@ function Apps({ closeModal, closeSnackbar, enqueueSnackbar, openModal }) { {getContent()} ) : ( - + No Apps Enabled - + )} = [ { url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmUDTSghr154kCCGguyA3cbG5HRVd2tQgNR7yD69bcsjm5`, disabled: false }, // Aave { url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmY1MUZo44UkT8EokYHs7xDvWEziYSn7n3c4ojVB6qo3SM`, disabled: false }, + //Balancer Exchange + { url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmfPLXne1UrY399RQAcjD1dmBhQrPGZWgp311CDLLW3VTn`, disabled: false }, + //Balancer Pool + { url: `${process.env.REACT_APP_IPFS_GATEWAY}/QmSiUgsYQE6y4ADZQtKuVCwszvUeeHnaRc7kmQMZRiF4ZH`, disabled: false }, // Compound { url: `${gnosisAppsUrl}/compound`, disabled: false }, // Idle diff --git a/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/CreationTx/index.tsx b/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/CreationTx/index.tsx index 8d899ace..455b8f73 100644 --- a/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/CreationTx/index.tsx +++ b/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/CreationTx/index.tsx @@ -1,10 +1,12 @@ import { makeStyles } from '@material-ui/core/styles' import React from 'react' +import { EthHashInfo } from '@gnosis.pm/safe-react-components' +import { getNetwork } from 'src/config' +import { Transaction } from 'src/routes/safe/store/models/types/transaction' import { formatDate } from 'src/routes/safe/components/Transactions/TxsTable/columns' import Bold from 'src/components/layout/Bold' import Paragraph from 'src/components/layout/Paragraph' -import EtherscanLink from 'src/components/EtherscanLink' import Block from 'src/components/layout/Block' import { TransactionTypes } from 'src/routes/safe/store/models/types/transaction' @@ -22,7 +24,11 @@ const useStyles = makeStyles({ }, }) -export const CreationTx = ({ tx }) => { +type Props = { + tx: Transaction +} + +export const CreationTx = ({ tx }: Props): React.ReactElement => { const classes = useStyles() if (!tx) { @@ -39,15 +45,27 @@ export const CreationTx = ({ tx }) => { Creator: - {tx.creator ? : 'n/a'} + {tx.creator ? ( + + ) : ( + 'n/a' + )} Factory: - {tx.factoryAddress ? : 'n/a'} + {tx.factoryAddress ? ( + + ) : ( + 'n/a' + )} Mastercopy: - {tx.masterCopy ? : 'n/a'} + {tx.masterCopy ? ( + + ) : ( + 'n/a' + )} ) : null diff --git a/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/OwnersColumn/OwnerComponent.tsx b/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/OwnersColumn/OwnerComponent.tsx index 9406d49b..6e62177f 100644 --- a/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/OwnersColumn/OwnerComponent.tsx +++ b/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/OwnersColumn/OwnerComponent.tsx @@ -2,6 +2,8 @@ import { makeStyles } from '@material-ui/core/styles' import cn from 'classnames' import React from 'react' import { useSelector } from 'react-redux' +import { EthHashInfo } from '@gnosis.pm/safe-react-components' +import { getNetwork } from 'src/config' import CancelSmallFilledCircle from './assets/cancel-small-filled.svg' import ConfirmSmallFilledCircle from './assets/confirm-small-filled.svg' @@ -11,12 +13,9 @@ import ConfirmSmallRedCircle from './assets/confirm-small-red.svg' import PendingSmallYellowCircle from './assets/confirm-small-yellow.svg' import { styles } from './style' -import EtherscanLink from 'src/components/EtherscanLink' -import Identicon from 'src/components/Identicon' import Block from 'src/components/layout/Block' import Button from 'src/components/layout/Button' import Img from 'src/components/layout/Img' -import Paragraph from 'src/components/layout/Paragraph' import { getNameFromAddressBook } from 'src/logic/addressBook/store/selectors' import { OwnersWithoutConfirmations } from './index' @@ -177,13 +176,15 @@ const OwnerComponent = (props: OwnerComponentProps): React.ReactElement => {
- - - - {!nameInAdbk || nameInAdbk === 'UNKNOWN' ? null : nameInAdbk} - - - + {owner === userAddress && {isCancelTx ? rejectButton() : confirmButton()}} {owner === executor && Executor} diff --git a/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/index.tsx b/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/index.tsx index 6431bc16..1db95e78 100644 --- a/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/index.tsx +++ b/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/index.tsx @@ -2,6 +2,7 @@ import { makeStyles } from '@material-ui/core/styles' import cn from 'classnames' import React, { useState } from 'react' import { useSelector } from 'react-redux' +import { EthHashInfo } from '@gnosis.pm/safe-react-components' import ApproveTxModal from './ApproveTxModal' import OwnersColumn from './OwnersColumn' @@ -12,7 +13,7 @@ import { CreationTx } from './CreationTx' import { OutgoingTx } from './OutgoingTx' import { styles } from './style' -import EtherScanLink from 'src/components/EtherscanLink' +import { getNetwork } from 'src/config' import Block from 'src/components/layout/Block' import Bold from 'src/components/layout/Bold' import Col from 'src/components/layout/Col' @@ -61,10 +62,20 @@ const ExpandedTx = ({ cancelTx, tx }: ExpandedTxProps): React.ReactElement => { - +
Hash: - {tx.executionTxHash ? : 'n/a'} - + {tx.executionTxHash ? ( + + ) : ( + 'n/a' + )} +
{!isIncomingTx && !isCreationTx && ( Nonce: diff --git a/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/style.ts b/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/style.ts index 2c993e97..f149263b 100644 --- a/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/style.ts +++ b/src/routes/safe/components/Transactions/TxsTable/ExpandedTx/style.ts @@ -1,32 +1,12 @@ -import { border, connected, disabled, error, lg, md } from 'src/theme/variables' +import { border, lg, md } from 'src/theme/variables' -export const styles = () => ({ +const cssStyles = { expandedTxBlock: { borderBottom: `2px solid ${border}`, }, txDataContainer: { padding: `${lg} ${md}`, }, - txData: { - alignItems: 'center', - display: 'flex', - lineHeight: '1.6', - }, - awaiting_your_confirmation: { - color: disabled, - }, - awaiting_confirmations: { - color: disabled, - }, - awaiting_execution: { - color: disabled, - }, - success: { - color: connected, - }, - cancelled: { - color: error, - }, txHash: { paddingRight: '3px', }, @@ -39,4 +19,6 @@ export const styles = () => ({ paddingBottom: md, borderRight: '2px solid rgb(232, 231, 230)', }, -}) +} + +export const styles = (): typeof cssStyles => cssStyles diff --git a/src/routes/safe/store/actions/createTransaction.ts b/src/routes/safe/store/actions/createTransaction.ts index c3ab58cb..ddece725 100644 --- a/src/routes/safe/store/actions/createTransaction.ts +++ b/src/routes/safe/store/actions/createTransaction.ts @@ -202,6 +202,7 @@ const createTransaction = ({ confirmations: [], // this is used to determine if a tx is pending or not. See `calculateTransactionStatus` helper value: txArgs.valueInWei, safeTxHash: generateSafeTxHash(safeAddress, txArgs), + submissionDate: new Date().toISOString(), } const mockedTx = await mockTransaction(txToMock, safeAddress, state) diff --git a/src/routes/safe/store/actions/processTransaction.ts b/src/routes/safe/store/actions/processTransaction.ts index c5ff2e94..34e6a34e 100644 --- a/src/routes/safe/store/actions/processTransaction.ts +++ b/src/routes/safe/store/actions/processTransaction.ts @@ -108,6 +108,7 @@ const processTransaction = ({ ...txArgs, confirmations: [], // this is used to determine if a tx is pending or not. See `calculateTransactionStatus` helper value: txArgs.valueInWei, + submissionDate: new Date().toISOString(), } const mockedTx = await mockTransaction(txToMock, safeAddress, state) diff --git a/src/routes/safe/store/actions/setDefaultSafe.ts b/src/routes/safe/store/actions/setDefaultSafe.ts index 4322e635..e45f7328 100644 --- a/src/routes/safe/store/actions/setDefaultSafe.ts +++ b/src/routes/safe/store/actions/setDefaultSafe.ts @@ -2,6 +2,8 @@ import { createAction } from 'redux-actions' export const SET_DEFAULT_SAFE = 'SET_DEFAULT_SAFE' -const setDefaultSafe = createAction(SET_DEFAULT_SAFE) +export type SetDefaultSafe = (safe: string) => void + +const setDefaultSafe: SetDefaultSafe = createAction(SET_DEFAULT_SAFE) export default setDefaultSafe diff --git a/src/routes/safe/store/actions/transactions/utils/transactionHelpers.ts b/src/routes/safe/store/actions/transactions/utils/transactionHelpers.ts index eca0a64d..a1c0922b 100644 --- a/src/routes/safe/store/actions/transactions/utils/transactionHelpers.ts +++ b/src/routes/safe/store/actions/transactions/utils/transactionHelpers.ts @@ -314,6 +314,7 @@ export type TxToMock = TxArgs & { confirmations: [] safeTxHash: string value: string + submissionDate: string } export const mockTransaction = (tx: TxToMock, safeAddress: string, state: AppReduxState): Promise => { diff --git a/src/routes/safe/store/models/transaction.ts b/src/routes/safe/store/models/transaction.ts index 8fd058fd..98b6531b 100644 --- a/src/routes/safe/store/models/transaction.ts +++ b/src/routes/safe/store/models/transaction.ts @@ -13,7 +13,7 @@ export const makeTransaction = Record({ blockNumber: 0, cancelled: false, confirmations: List([]), - created: false, + created: '', creator: '', creationTx: false, customTx: false, @@ -25,6 +25,7 @@ export const makeTransaction = Record({ executionTxHash: undefined, executor: '', factoryAddress: '', + fee: null, gasPrice: '0', gasToken: ZERO_ADDRESS, isCancellationTx: false, diff --git a/src/routes/safe/store/models/types/transaction.ts b/src/routes/safe/store/models/types/transaction.ts index 808f4d4d..02411b40 100644 --- a/src/routes/safe/store/models/types/transaction.ts +++ b/src/routes/safe/store/models/types/transaction.ts @@ -38,7 +38,7 @@ export type TransactionProps = { blockNumber?: number | null cancelled?: boolean confirmations: List - created: boolean + created: string creator: string creationTx: boolean customTx: boolean @@ -50,7 +50,7 @@ export type TransactionProps = { executionTxHash?: string | null executor: string factoryAddress: string - fee?: string + fee?: string // It will be replace with the new TXs types. gasPrice: string gasToken: string isCancellationTx: boolean diff --git a/src/routes/safe/store/reducer/types/safe.ts b/src/routes/safe/store/reducer/types/safe.ts index 202e3e06..9981ae57 100644 --- a/src/routes/safe/store/reducer/types/safe.ts +++ b/src/routes/safe/store/reducer/types/safe.ts @@ -3,8 +3,10 @@ import { Map } from 'immutable' export type SafesMap = Map +export type DefaultSafe = 'NOT_ASKED' | string | undefined + export interface SafeReducerState { - defaultSafe: 'NOT_ASKED' | string | undefined + defaultSafe: DefaultSafe safes: SafesMap latestMasterContractVersion: string } diff --git a/yarn.lock b/yarn.lock index 7761e33d..065aba11 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1337,9 +1337,9 @@ solc "0.5.14" truffle "^5.1.21" -"@gnosis.pm/safe-react-components@https://github.com/gnosis/safe-react-components.git#7bb55de": +"@gnosis.pm/safe-react-components@https://github.com/gnosis/safe-react-components.git#45c746a": version "0.2.0" - resolved "https://github.com/gnosis/safe-react-components.git#7bb55de2d8a2b6f192466043dc643387fb42dbf6" + resolved "https://github.com/gnosis/safe-react-components.git#45c746a12661b9c38e839e76022b6a0a92285db7" dependencies: classnames "^2.2.6" polished "3.6.5" @@ -18784,7 +18784,6 @@ websocket@^1.0.31: dependencies: debug "^2.2.0" es5-ext "^0.10.50" - gulp "^4.0.2" nan "^2.14.0" typedarray-to-buffer "^3.1.5" yaeti "^0.0.6"