mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Merge pull request #10107 from MetaMask/Version-v8.1.10
Version v8.1.10 RC
This commit is contained in:
commit
e7a839d224
@ -2,6 +2,13 @@
|
|||||||
|
|
||||||
## Current Develop Branch
|
## Current Develop Branch
|
||||||
|
|
||||||
|
## 8.1.10 Fri Dec 18 2020
|
||||||
|
- [#10084](https://github.com/MetaMask/metamask-extension/pull/10084): Set last provider when switching to a customRPC
|
||||||
|
- [#10096](https://github.com/MetaMask/metamask-extension/pull/10096): Update `@metamask/controllers` to v5.1.0
|
||||||
|
- [#10103](https://github.com/MetaMask/metamask-extension/pull/10103): Prevent stuck loading screen in some situations
|
||||||
|
- [#10104](https://github.com/MetaMask/metamask-extension/pull/10104): Bump @metamask/contract-metadata from 1.19.0 to 1.20.0
|
||||||
|
- [#10110](https://github.com/MetaMask/metamask-extension/pull/10110): Fix frozen loading screen on Firefox when strict Enhanced Tracking Protection is enabled
|
||||||
|
|
||||||
## 8.1.9 Tue Dec 15 2020
|
## 8.1.9 Tue Dec 15 2020
|
||||||
- [#10034](https://github.com/MetaMask/metamask-extension/pull/10034): Fix contentscript injection failure on Firefox 56
|
- [#10034](https://github.com/MetaMask/metamask-extension/pull/10034): Fix contentscript injection failure on Firefox 56
|
||||||
- [#10045](https://github.com/MetaMask/metamask-extension/pull/10045): Fix token validation in Send flow
|
- [#10045](https://github.com/MetaMask/metamask-extension/pull/10045): Fix token validation in Send flow
|
||||||
|
@ -78,6 +78,6 @@
|
|||||||
"notifications"
|
"notifications"
|
||||||
],
|
],
|
||||||
"short_name": "__MSG_appName__",
|
"short_name": "__MSG_appName__",
|
||||||
"version": "8.1.9",
|
"version": "8.1.10",
|
||||||
"web_accessible_resources": ["inpage.js", "phishing.html"]
|
"web_accessible_resources": ["inpage.js", "phishing.html"]
|
||||||
}
|
}
|
||||||
|
@ -268,6 +268,8 @@ function setupController(initState, initLangCode) {
|
|||||||
return versionedData
|
return versionedData
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let dataPersistenceFailing = false
|
||||||
|
|
||||||
async function persistData(state) {
|
async function persistData(state) {
|
||||||
if (!state) {
|
if (!state) {
|
||||||
throw new Error('MetaMask - updated state is missing')
|
throw new Error('MetaMask - updated state is missing')
|
||||||
@ -278,9 +280,15 @@ function setupController(initState, initLangCode) {
|
|||||||
if (localStore.isSupported) {
|
if (localStore.isSupported) {
|
||||||
try {
|
try {
|
||||||
await localStore.set(state)
|
await localStore.set(state)
|
||||||
|
if (dataPersistenceFailing) {
|
||||||
|
dataPersistenceFailing = false
|
||||||
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
// log error so we dont break the pipeline
|
// log error so we dont break the pipeline
|
||||||
captureException(err)
|
if (!dataPersistenceFailing) {
|
||||||
|
dataPersistenceFailing = true
|
||||||
|
captureException(err)
|
||||||
|
}
|
||||||
log.error('error setting state in local store:', err)
|
log.error('error setting state in local store:', err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -265,7 +265,13 @@ export default class MetaMetricsController {
|
|||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const callback = (err) => {
|
const callback = (err) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
return reject(err)
|
// The error that segment gives us has some manipulation done to it
|
||||||
|
// that seemingly breaks with lockdown enabled. Creating a new error
|
||||||
|
// here prevents the system from freezing when the network request to
|
||||||
|
// segment fails for any reason.
|
||||||
|
const safeError = new Error(err.message)
|
||||||
|
safeError.stack = err.stack
|
||||||
|
return reject(safeError)
|
||||||
}
|
}
|
||||||
return resolve()
|
return resolve()
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,10 @@ if (
|
|||||||
!(typeof process !== 'undefined' && process.env.METAMASK_DEBUG) &&
|
!(typeof process !== 'undefined' && process.env.METAMASK_DEBUG) &&
|
||||||
typeof console !== undefined
|
typeof console !== undefined
|
||||||
) {
|
) {
|
||||||
console.log = () => undefined
|
console.log = noop
|
||||||
console.info = () => undefined
|
console.info = noop
|
||||||
|
}
|
||||||
|
|
||||||
|
function noop() {
|
||||||
|
return undefined
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@
|
|||||||
"@fortawesome/fontawesome-free": "^5.13.0",
|
"@fortawesome/fontawesome-free": "^5.13.0",
|
||||||
"@material-ui/core": "^4.11.0",
|
"@material-ui/core": "^4.11.0",
|
||||||
"@metamask/contract-metadata": "^1.19.0",
|
"@metamask/contract-metadata": "^1.19.0",
|
||||||
"@metamask/controllers": "^4.2.0",
|
"@metamask/controllers": "^5.1.0",
|
||||||
"@metamask/eth-ledger-bridge-keyring": "^0.2.6",
|
"@metamask/eth-ledger-bridge-keyring": "^0.2.6",
|
||||||
"@metamask/eth-token-tracker": "^3.0.1",
|
"@metamask/eth-token-tracker": "^3.0.1",
|
||||||
"@metamask/etherscan-link": "^1.4.0",
|
"@metamask/etherscan-link": "^1.4.0",
|
||||||
|
@ -218,8 +218,8 @@ describe('Actions', function () {
|
|||||||
|
|
||||||
const expectedActions = [
|
const expectedActions = [
|
||||||
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
||||||
{ type: 'HIDE_LOADING_INDICATION' },
|
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
]
|
]
|
||||||
|
|
||||||
submitPasswordSpy = sinon.stub(background, 'verifySeedPhrase')
|
submitPasswordSpy = sinon.stub(background, 'verifySeedPhrase')
|
||||||
@ -368,8 +368,8 @@ describe('Actions', function () {
|
|||||||
type: 'SHOW_LOADING_INDICATION',
|
type: 'SHOW_LOADING_INDICATION',
|
||||||
value: 'This may take a while, please be patient.',
|
value: 'This may take a while, please be patient.',
|
||||||
},
|
},
|
||||||
{ type: 'HIDE_LOADING_INDICATION' },
|
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
]
|
]
|
||||||
|
|
||||||
importAccountWithStrategySpy = sinon.stub(
|
importAccountWithStrategySpy = sinon.stub(
|
||||||
@ -428,6 +428,7 @@ describe('Actions', function () {
|
|||||||
const expectedActions = [
|
const expectedActions = [
|
||||||
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
]
|
]
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -465,6 +466,7 @@ describe('Actions', function () {
|
|||||||
const expectedActions = [
|
const expectedActions = [
|
||||||
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
]
|
]
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -507,6 +509,7 @@ describe('Actions', function () {
|
|||||||
value: 'Looking for your Ledger...',
|
value: 'Looking for your Ledger...',
|
||||||
},
|
},
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
]
|
]
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -545,6 +548,7 @@ describe('Actions', function () {
|
|||||||
|
|
||||||
const expectedActions = [
|
const expectedActions = [
|
||||||
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -581,8 +585,8 @@ describe('Actions', function () {
|
|||||||
const store = mockStore()
|
const store = mockStore()
|
||||||
const expectedActions = [
|
const expectedActions = [
|
||||||
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
||||||
{ type: 'HIDE_LOADING_INDICATION' },
|
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
]
|
]
|
||||||
|
|
||||||
await store.dispatch(actions.setCurrentCurrency())
|
await store.dispatch(actions.setCurrentCurrency())
|
||||||
@ -623,8 +627,8 @@ describe('Actions', function () {
|
|||||||
const store = mockStore()
|
const store = mockStore()
|
||||||
const expectedActions = [
|
const expectedActions = [
|
||||||
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
||||||
{ type: 'HIDE_LOADING_INDICATION' },
|
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
]
|
]
|
||||||
|
|
||||||
signMessageSpy = sinon.stub(background, 'signMessage')
|
signMessageSpy = sinon.stub(background, 'signMessage')
|
||||||
@ -675,8 +679,8 @@ describe('Actions', function () {
|
|||||||
const store = mockStore()
|
const store = mockStore()
|
||||||
const expectedActions = [
|
const expectedActions = [
|
||||||
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
||||||
{ type: 'HIDE_LOADING_INDICATION' },
|
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
]
|
]
|
||||||
|
|
||||||
signPersonalMessageSpy = sinon.stub(background, 'signPersonalMessage')
|
signPersonalMessageSpy = sinon.stub(background, 'signPersonalMessage')
|
||||||
@ -765,8 +769,8 @@ describe('Actions', function () {
|
|||||||
const store = mockStore()
|
const store = mockStore()
|
||||||
const expectedActions = [
|
const expectedActions = [
|
||||||
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
||||||
{ type: 'HIDE_LOADING_INDICATION' },
|
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
]
|
]
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@ -1005,8 +1009,8 @@ describe('Actions', function () {
|
|||||||
const store = mockStore()
|
const store = mockStore()
|
||||||
const expectedActions = [
|
const expectedActions = [
|
||||||
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
||||||
{ type: 'HIDE_LOADING_INDICATION' },
|
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
]
|
]
|
||||||
|
|
||||||
await store.dispatch(actions.setSelectedAddress())
|
await store.dispatch(actions.setSelectedAddress())
|
||||||
@ -1044,8 +1048,8 @@ describe('Actions', function () {
|
|||||||
})
|
})
|
||||||
const expectedActions = [
|
const expectedActions = [
|
||||||
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
||||||
{ type: 'HIDE_LOADING_INDICATION' },
|
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
]
|
]
|
||||||
|
|
||||||
await store.dispatch(actions.showAccountDetail())
|
await store.dispatch(actions.showAccountDetail())
|
||||||
@ -1426,8 +1430,8 @@ describe('Actions', function () {
|
|||||||
const store = mockStore()
|
const store = mockStore()
|
||||||
const expectedActions = [
|
const expectedActions = [
|
||||||
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
{ type: 'SHOW_LOADING_INDICATION', value: undefined },
|
||||||
{ type: 'HIDE_LOADING_INDICATION' },
|
|
||||||
{ type: 'DISPLAY_WARNING', value: 'error' },
|
{ type: 'DISPLAY_WARNING', value: 'error' },
|
||||||
|
{ type: 'HIDE_LOADING_INDICATION' },
|
||||||
]
|
]
|
||||||
setCurrentLocaleSpy = sinon.stub(background, 'setCurrentLocale')
|
setCurrentLocaleSpy = sinon.stub(background, 'setCurrentLocale')
|
||||||
setCurrentLocaleSpy.callsFake((_, callback) => {
|
setCurrentLocaleSpy.callsFake((_, callback) => {
|
||||||
|
@ -40,6 +40,9 @@ function mapDispatchToProps(dispatch) {
|
|||||||
setProviderType: (type) => {
|
setProviderType: (type) => {
|
||||||
dispatch(actions.setProviderType(type))
|
dispatch(actions.setProviderType(type))
|
||||||
},
|
},
|
||||||
|
setPreviousProvider: (type) => {
|
||||||
|
dispatch(actions.setPreviousProvider(type))
|
||||||
|
},
|
||||||
setRpcTarget: (target, chainId, ticker, nickname) => {
|
setRpcTarget: (target, chainId, ticker, nickname) => {
|
||||||
dispatch(actions.setRpcTarget(target, chainId, ticker, nickname))
|
dispatch(actions.setRpcTarget(target, chainId, ticker, nickname))
|
||||||
},
|
},
|
||||||
@ -82,6 +85,7 @@ class NetworkDropdown extends Component {
|
|||||||
setRpcTarget: PropTypes.func.isRequired,
|
setRpcTarget: PropTypes.func.isRequired,
|
||||||
hideNetworkDropdown: PropTypes.func.isRequired,
|
hideNetworkDropdown: PropTypes.func.isRequired,
|
||||||
setNetworksTabAddMode: PropTypes.func.isRequired,
|
setNetworksTabAddMode: PropTypes.func.isRequired,
|
||||||
|
setPreviousProvider: PropTypes.func.isRequired,
|
||||||
setSelectedSettingsRpcUrl: PropTypes.func.isRequired,
|
setSelectedSettingsRpcUrl: PropTypes.func.isRequired,
|
||||||
frequentRpcListDetail: PropTypes.array.isRequired,
|
frequentRpcListDetail: PropTypes.array.isRequired,
|
||||||
networkDropdownOpen: PropTypes.bool.isRequired,
|
networkDropdownOpen: PropTypes.bool.isRequired,
|
||||||
@ -112,6 +116,10 @@ class NetworkDropdown extends Component {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderCustomRpcList(rpcListDetail, provider) {
|
renderCustomRpcList(rpcListDetail, provider) {
|
||||||
|
const {
|
||||||
|
provider: { type: providerType },
|
||||||
|
setPreviousProvider,
|
||||||
|
} = this.props
|
||||||
const reversedRpcListDetail = rpcListDetail.slice().reverse()
|
const reversedRpcListDetail = rpcListDetail.slice().reverse()
|
||||||
|
|
||||||
return reversedRpcListDetail.map((entry) => {
|
return reversedRpcListDetail.map((entry) => {
|
||||||
@ -125,6 +133,7 @@ class NetworkDropdown extends Component {
|
|||||||
closeMenu={() => this.props.hideNetworkDropdown()}
|
closeMenu={() => this.props.hideNetworkDropdown()}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
if (isPrefixedFormattedHexString(chainId)) {
|
if (isPrefixedFormattedHexString(chainId)) {
|
||||||
|
setPreviousProvider(providerType)
|
||||||
this.props.setRpcTarget(rpcUrl, chainId, ticker, nickname)
|
this.props.setRpcTarget(rpcUrl, chainId, ticker, nickname)
|
||||||
} else {
|
} else {
|
||||||
this.props.displayInvalidCustomNetworkAlert(nickname || rpcUrl)
|
this.props.displayInvalidCustomNetworkAlert(nickname || rpcUrl)
|
||||||
|
@ -121,12 +121,12 @@ export function createNewVaultAndGetSeedPhrase(password) {
|
|||||||
try {
|
try {
|
||||||
await createNewVault(password)
|
await createNewVault(password)
|
||||||
const seedWords = await verifySeedPhrase()
|
const seedWords = await verifySeedPhrase()
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
return seedWords
|
return seedWords
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
throw new Error(error.message)
|
throw new Error(error.message)
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -139,12 +139,12 @@ export function unlockAndGetSeedPhrase(password) {
|
|||||||
await submitPassword(password)
|
await submitPassword(password)
|
||||||
const seedWords = await verifySeedPhrase()
|
const seedWords = await verifySeedPhrase()
|
||||||
await forceUpdateMetamaskState(dispatch)
|
await forceUpdateMetamaskState(dispatch)
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
return seedWords
|
return seedWords
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
throw new Error(error.message)
|
throw new Error(error.message)
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -209,12 +209,12 @@ export function requestRevealSeedWords(password) {
|
|||||||
try {
|
try {
|
||||||
await verifyPassword(password)
|
await verifyPassword(password)
|
||||||
const seedWords = await verifySeedPhrase()
|
const seedWords = await verifySeedPhrase()
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
return seedWords
|
return seedWords
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
throw new Error(error.message)
|
throw new Error(error.message)
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -306,11 +306,12 @@ export function importNewAccount(strategy, args) {
|
|||||||
log.debug(`background.getState`)
|
log.debug(`background.getState`)
|
||||||
newState = await promisifiedBackground.getState()
|
newState = await promisifiedBackground.getState()
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch(displayWarning(err.message))
|
dispatch(displayWarning(err.message))
|
||||||
throw err
|
throw err
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch(updateMetamaskState(newState))
|
dispatch(updateMetamaskState(newState))
|
||||||
if (newState.selectedAddress) {
|
if (newState.selectedAddress) {
|
||||||
dispatch({
|
dispatch({
|
||||||
@ -335,11 +336,13 @@ export function addNewAccount() {
|
|||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
throw error
|
throw error
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
|
|
||||||
const newAccountAddress = Object.keys(newIdentities).find(
|
const newAccountAddress = Object.keys(newIdentities).find(
|
||||||
(address) => !oldIdentities[address],
|
(address) => !oldIdentities[address],
|
||||||
)
|
)
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
await forceUpdateMetamaskState(dispatch)
|
await forceUpdateMetamaskState(dispatch)
|
||||||
return newAccountAddress
|
return newAccountAddress
|
||||||
}
|
}
|
||||||
@ -360,9 +363,10 @@ export function checkHardwareStatus(deviceName, hdPath) {
|
|||||||
log.error(error)
|
log.error(error)
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
throw error
|
throw error
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
await forceUpdateMetamaskState(dispatch)
|
await forceUpdateMetamaskState(dispatch)
|
||||||
return unlocked
|
return unlocked
|
||||||
}
|
}
|
||||||
@ -378,9 +382,10 @@ export function forgetDevice(deviceName) {
|
|||||||
log.error(error)
|
log.error(error)
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
throw error
|
throw error
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
await forceUpdateMetamaskState(dispatch)
|
await forceUpdateMetamaskState(dispatch)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -403,10 +408,11 @@ export function connectHardware(deviceName, page, hdPath) {
|
|||||||
log.error(error)
|
log.error(error)
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
throw error
|
throw error
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
await forceUpdateMetamaskState(dispatch)
|
|
||||||
|
|
||||||
|
await forceUpdateMetamaskState(dispatch)
|
||||||
return accounts
|
return accounts
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -421,6 +427,7 @@ export function unlockHardwareWalletAccount(index, deviceName, hdPath) {
|
|||||||
deviceName,
|
deviceName,
|
||||||
hdPath,
|
hdPath,
|
||||||
(err) => {
|
(err) => {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
if (err) {
|
if (err) {
|
||||||
log.error(err)
|
log.error(err)
|
||||||
dispatch(displayWarning(err.message))
|
dispatch(displayWarning(err.message))
|
||||||
@ -428,7 +435,6 @@ export function unlockHardwareWalletAccount(index, deviceName, hdPath) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
resolve()
|
resolve()
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
@ -454,12 +460,13 @@ export function setCurrentCurrency(currencyCode) {
|
|||||||
try {
|
try {
|
||||||
data = await promisifiedBackground.setCurrentCurrency(currencyCode)
|
data = await promisifiedBackground.setCurrentCurrency(currencyCode)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
log.error(error.stack)
|
log.error(error.stack)
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
return
|
return
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch({
|
dispatch({
|
||||||
type: actionConstants.SET_CURRENT_FIAT,
|
type: actionConstants.SET_CURRENT_FIAT,
|
||||||
value: {
|
value: {
|
||||||
@ -480,12 +487,13 @@ export function signMsg(msgData) {
|
|||||||
try {
|
try {
|
||||||
newState = await promisifiedBackground.signMessage(msgData)
|
newState = await promisifiedBackground.signMessage(msgData)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
log.error(error)
|
log.error(error)
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
throw error
|
throw error
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch(updateMetamaskState(newState))
|
dispatch(updateMetamaskState(newState))
|
||||||
dispatch(completedTx(msgData.metamaskId))
|
dispatch(completedTx(msgData.metamaskId))
|
||||||
dispatch(closeCurrentNotificationWindow())
|
dispatch(closeCurrentNotificationWindow())
|
||||||
@ -503,12 +511,13 @@ export function signPersonalMsg(msgData) {
|
|||||||
try {
|
try {
|
||||||
newState = await promisifiedBackground.signPersonalMessage(msgData)
|
newState = await promisifiedBackground.signPersonalMessage(msgData)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
log.error(error)
|
log.error(error)
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
throw error
|
throw error
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch(updateMetamaskState(newState))
|
dispatch(updateMetamaskState(newState))
|
||||||
dispatch(completedTx(msgData.metamaskId))
|
dispatch(completedTx(msgData.metamaskId))
|
||||||
dispatch(closeCurrentNotificationWindow())
|
dispatch(closeCurrentNotificationWindow())
|
||||||
@ -547,12 +556,13 @@ export function decryptMsg(decryptedMsgData) {
|
|||||||
try {
|
try {
|
||||||
newState = await promisifiedBackground.decryptMessage(decryptedMsgData)
|
newState = await promisifiedBackground.decryptMessage(decryptedMsgData)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
log.error(error)
|
log.error(error)
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
throw error
|
throw error
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch(updateMetamaskState(newState))
|
dispatch(updateMetamaskState(newState))
|
||||||
dispatch(completedTx(decryptedMsgData.metamaskId))
|
dispatch(completedTx(decryptedMsgData.metamaskId))
|
||||||
dispatch(closeCurrentNotificationWindow())
|
dispatch(closeCurrentNotificationWindow())
|
||||||
@ -570,12 +580,13 @@ export function encryptionPublicKeyMsg(msgData) {
|
|||||||
try {
|
try {
|
||||||
newState = await promisifiedBackground.encryptionPublicKey(msgData)
|
newState = await promisifiedBackground.encryptionPublicKey(msgData)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
log.error(error)
|
log.error(error)
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
throw error
|
throw error
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch(updateMetamaskState(newState))
|
dispatch(updateMetamaskState(newState))
|
||||||
dispatch(completedTx(msgData.metamaskId))
|
dispatch(completedTx(msgData.metamaskId))
|
||||||
dispatch(closeCurrentNotificationWindow())
|
dispatch(closeCurrentNotificationWindow())
|
||||||
@ -593,12 +604,13 @@ export function signTypedMsg(msgData) {
|
|||||||
try {
|
try {
|
||||||
newState = await promisifiedBackground.signTypedMessage(msgData)
|
newState = await promisifiedBackground.signTypedMessage(msgData)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
log.error(error)
|
log.error(error)
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
throw error
|
throw error
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch(updateMetamaskState(newState))
|
dispatch(updateMetamaskState(newState))
|
||||||
dispatch(completedTx(msgData.metamaskId))
|
dispatch(completedTx(msgData.metamaskId))
|
||||||
dispatch(closeCurrentNotificationWindow())
|
dispatch(closeCurrentNotificationWindow())
|
||||||
@ -788,14 +800,19 @@ export function updateSendEnsResolutionError(errorMessage) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function signTokenTx(tokenAddress, toAddress, amount, txData) {
|
export function signTokenTx(tokenAddress, toAddress, amount, txData) {
|
||||||
return (dispatch) => {
|
return async (dispatch) => {
|
||||||
dispatch(showLoadingIndication())
|
dispatch(showLoadingIndication())
|
||||||
const token = global.eth.contract(abi).at(tokenAddress)
|
|
||||||
token.transfer(toAddress, addHexPrefix(amount), txData).catch((err) => {
|
try {
|
||||||
|
const token = global.eth.contract(abi).at(tokenAddress)
|
||||||
|
const txPromise = token.transfer(toAddress, addHexPrefix(amount), txData)
|
||||||
|
dispatch(showConfTxPage())
|
||||||
dispatch(hideLoadingIndication())
|
dispatch(hideLoadingIndication())
|
||||||
dispatch(displayWarning(err.message))
|
await txPromise
|
||||||
})
|
} catch (error) {
|
||||||
dispatch(showConfTxPage())
|
dispatch(hideLoadingIndication())
|
||||||
|
dispatch(displayWarning(error.message))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -815,30 +832,29 @@ const updateMetamaskStateFromBackground = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function updateTransaction(txData, dontShowLoadingIndicator) {
|
export function updateTransaction(txData, dontShowLoadingIndicator) {
|
||||||
return (dispatch) => {
|
return async (dispatch) => {
|
||||||
!dontShowLoadingIndicator && dispatch(showLoadingIndication())
|
!dontShowLoadingIndicator && dispatch(showLoadingIndication())
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
try {
|
||||||
background.updateTransaction(txData, (err) => {
|
await promisifiedBackground.updateTransaction(txData)
|
||||||
dispatch(updateTransactionParams(txData.id, txData.txParams))
|
} catch (error) {
|
||||||
if (err) {
|
dispatch(updateTransactionParams(txData.id, txData.txParams))
|
||||||
dispatch(txError(err))
|
dispatch(hideLoadingIndication())
|
||||||
dispatch(goHome())
|
dispatch(txError(error))
|
||||||
log.error(err.message)
|
dispatch(goHome())
|
||||||
reject(err)
|
log.error(error.message)
|
||||||
return
|
throw error
|
||||||
}
|
}
|
||||||
|
|
||||||
resolve(txData)
|
try {
|
||||||
})
|
dispatch(updateTransactionParams(txData.id, txData.txParams))
|
||||||
})
|
const newState = await updateMetamaskStateFromBackground()
|
||||||
.then(() => updateMetamaskStateFromBackground())
|
dispatch(updateMetamaskState(newState))
|
||||||
.then((newState) => dispatch(updateMetamaskState(newState)))
|
dispatch(showConfTxPage({ id: txData.id }))
|
||||||
.then(() => {
|
return txData
|
||||||
dispatch(showConfTxPage({ id: txData.id }))
|
} finally {
|
||||||
dispatch(hideLoadingIndication())
|
dispatch(hideLoadingIndication())
|
||||||
return txData
|
}
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -950,6 +966,7 @@ export function cancelMsg(msgData) {
|
|||||||
} finally {
|
} finally {
|
||||||
dispatch(hideLoadingIndication())
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(updateMetamaskState(newState))
|
dispatch(updateMetamaskState(newState))
|
||||||
dispatch(completedTx(msgData.id))
|
dispatch(completedTx(msgData.id))
|
||||||
dispatch(closeCurrentNotificationWindow())
|
dispatch(closeCurrentNotificationWindow())
|
||||||
@ -967,6 +984,7 @@ export function cancelPersonalMsg(msgData) {
|
|||||||
} finally {
|
} finally {
|
||||||
dispatch(hideLoadingIndication())
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(updateMetamaskState(newState))
|
dispatch(updateMetamaskState(newState))
|
||||||
dispatch(completedTx(msgData.id))
|
dispatch(completedTx(msgData.id))
|
||||||
dispatch(closeCurrentNotificationWindow())
|
dispatch(closeCurrentNotificationWindow())
|
||||||
@ -984,6 +1002,7 @@ export function cancelDecryptMsg(msgData) {
|
|||||||
} finally {
|
} finally {
|
||||||
dispatch(hideLoadingIndication())
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(updateMetamaskState(newState))
|
dispatch(updateMetamaskState(newState))
|
||||||
dispatch(completedTx(msgData.id))
|
dispatch(completedTx(msgData.id))
|
||||||
dispatch(closeCurrentNotificationWindow())
|
dispatch(closeCurrentNotificationWindow())
|
||||||
@ -1003,6 +1022,7 @@ export function cancelEncryptionPublicKeyMsg(msgData) {
|
|||||||
} finally {
|
} finally {
|
||||||
dispatch(hideLoadingIndication())
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(updateMetamaskState(newState))
|
dispatch(updateMetamaskState(newState))
|
||||||
dispatch(completedTx(msgData.id))
|
dispatch(completedTx(msgData.id))
|
||||||
dispatch(closeCurrentNotificationWindow())
|
dispatch(closeCurrentNotificationWindow())
|
||||||
@ -1020,6 +1040,7 @@ export function cancelTypedMsg(msgData) {
|
|||||||
} finally {
|
} finally {
|
||||||
dispatch(hideLoadingIndication())
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(updateMetamaskState(newState))
|
dispatch(updateMetamaskState(newState))
|
||||||
dispatch(completedTx(msgData.id))
|
dispatch(completedTx(msgData.id))
|
||||||
dispatch(closeCurrentNotificationWindow())
|
dispatch(closeCurrentNotificationWindow())
|
||||||
@ -1031,9 +1052,9 @@ export function cancelTx(txData) {
|
|||||||
return (dispatch) => {
|
return (dispatch) => {
|
||||||
dispatch(showLoadingIndication())
|
dispatch(showLoadingIndication())
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
background.cancelTransaction(txData.id, (err) => {
|
background.cancelTransaction(txData.id, (error) => {
|
||||||
if (err) {
|
if (error) {
|
||||||
reject(err)
|
reject(error)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1050,6 +1071,10 @@ export function cancelTx(txData) {
|
|||||||
|
|
||||||
return txData
|
return txData
|
||||||
})
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
|
throw error
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1061,34 +1086,38 @@ export function cancelTx(txData) {
|
|||||||
export function cancelTxs(txDataList) {
|
export function cancelTxs(txDataList) {
|
||||||
return async (dispatch) => {
|
return async (dispatch) => {
|
||||||
dispatch(showLoadingIndication())
|
dispatch(showLoadingIndication())
|
||||||
const txIds = txDataList.map(({ id }) => id)
|
|
||||||
const cancellations = txIds.map(
|
|
||||||
(id) =>
|
|
||||||
new Promise((resolve, reject) => {
|
|
||||||
background.cancelTransaction(id, (err) => {
|
|
||||||
if (err) {
|
|
||||||
reject(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
resolve()
|
try {
|
||||||
})
|
const txIds = txDataList.map(({ id }) => id)
|
||||||
}),
|
const cancellations = txIds.map(
|
||||||
)
|
(id) =>
|
||||||
|
new Promise((resolve, reject) => {
|
||||||
|
background.cancelTransaction(id, (err) => {
|
||||||
|
if (err) {
|
||||||
|
reject(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
await Promise.all(cancellations)
|
resolve()
|
||||||
const newState = await updateMetamaskStateFromBackground()
|
})
|
||||||
dispatch(updateMetamaskState(newState))
|
}),
|
||||||
dispatch(clearSend())
|
)
|
||||||
|
|
||||||
txIds.forEach((id) => {
|
await Promise.all(cancellations)
|
||||||
dispatch(completedTx(id))
|
|
||||||
})
|
|
||||||
|
|
||||||
dispatch(hideLoadingIndication())
|
const newState = await updateMetamaskStateFromBackground()
|
||||||
|
dispatch(updateMetamaskState(newState))
|
||||||
|
dispatch(clearSend())
|
||||||
|
|
||||||
if (getEnvironmentType() === ENVIRONMENT_TYPE_NOTIFICATION) {
|
txIds.forEach((id) => {
|
||||||
global.platform.closeCurrentWindow()
|
dispatch(completedTx(id))
|
||||||
|
})
|
||||||
|
} finally {
|
||||||
|
if (getEnvironmentType() === ENVIRONMENT_TYPE_NOTIFICATION) {
|
||||||
|
global.platform.closeCurrentWindow()
|
||||||
|
} else {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1235,11 +1264,11 @@ export function setSelectedAddress(address) {
|
|||||||
try {
|
try {
|
||||||
await _setSelectedAddress(dispatch, address)
|
await _setSelectedAddress(dispatch, address)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
return
|
return
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1270,11 +1299,12 @@ export function showAccountDetail(address) {
|
|||||||
try {
|
try {
|
||||||
await _setSelectedAddress(dispatch, address)
|
await _setSelectedAddress(dispatch, address)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch(displayWarning(error.message))
|
dispatch(displayWarning(error.message))
|
||||||
return
|
return
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
dispatch({
|
dispatch({
|
||||||
type: actionConstants.SHOW_ACCOUNT_DETAIL,
|
type: actionConstants.SHOW_ACCOUNT_DETAIL,
|
||||||
value: address,
|
value: address,
|
||||||
@ -2024,13 +2054,13 @@ export function setCompletedOnboarding() {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
await promisifiedBackground.completeOnboarding()
|
await promisifiedBackground.completeOnboarding()
|
||||||
|
dispatch(completeOnboarding())
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
dispatch(displayWarning(err.message))
|
dispatch(displayWarning(err.message))
|
||||||
throw err
|
throw err
|
||||||
|
} finally {
|
||||||
|
dispatch(hideLoadingIndication())
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch(completeOnboarding())
|
|
||||||
dispatch(hideLoadingIndication())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2179,20 +2209,19 @@ export function setIpfsGateway(val) {
|
|||||||
export function updateCurrentLocale(key) {
|
export function updateCurrentLocale(key) {
|
||||||
return async (dispatch) => {
|
return async (dispatch) => {
|
||||||
dispatch(showLoadingIndication())
|
dispatch(showLoadingIndication())
|
||||||
await loadRelativeTimeFormatLocaleData(key)
|
|
||||||
return fetchLocale(key).then((localeMessages) => {
|
try {
|
||||||
log.debug(`background.setCurrentLocale`)
|
await loadRelativeTimeFormatLocaleData(key)
|
||||||
background.setCurrentLocale(key, (err, textDirection) => {
|
const localeMessages = await fetchLocale(key)
|
||||||
if (err) {
|
const textDirection = await promisifiedBackground.setCurrentLocale(key)
|
||||||
dispatch(hideLoadingIndication())
|
await switchDirection(textDirection)
|
||||||
dispatch(displayWarning(err.message))
|
dispatch(setCurrentLocale(key, localeMessages))
|
||||||
return
|
} catch (error) {
|
||||||
}
|
dispatch(displayWarning(error.message))
|
||||||
switchDirection(textDirection)
|
return
|
||||||
dispatch(setCurrentLocale(key, localeMessages))
|
} finally {
|
||||||
dispatch(hideLoadingIndication())
|
dispatch(hideLoadingIndication())
|
||||||
})
|
}
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
21
yarn.lock
21
yarn.lock
@ -2015,9 +2015,9 @@
|
|||||||
react-is "^16.8.0"
|
react-is "^16.8.0"
|
||||||
|
|
||||||
"@metamask/contract-metadata@^1.19.0":
|
"@metamask/contract-metadata@^1.19.0":
|
||||||
version "1.19.0"
|
version "1.20.0"
|
||||||
resolved "https://registry.yarnpkg.com/@metamask/contract-metadata/-/contract-metadata-1.19.0.tgz#2f074bce7ab7ffd0d20e3905b1936da0749a0473"
|
resolved "https://registry.yarnpkg.com/@metamask/contract-metadata/-/contract-metadata-1.20.0.tgz#8a127ca08edeb2c19b2f725b439b1630926c8aa9"
|
||||||
integrity sha512-TklMuz7ZbFJ2Zc6C7I+9qL3J9J+4prs5Ok5MJzoxD/57Iq6espzArhpI275elVCFF9ci8IMvach1kH8+F04/hA==
|
integrity sha512-Htb2yUwmAe4GrABpqahNDpYR3ErcCcaavF6tKamqvyymICeywi6HV0y/A7rbe86gLy5UW6wJG9yP4pCpQxs4RQ==
|
||||||
|
|
||||||
"@metamask/controllers@^3.1.0":
|
"@metamask/controllers@^3.1.0":
|
||||||
version "3.2.0"
|
version "3.2.0"
|
||||||
@ -2047,13 +2047,13 @@
|
|||||||
web3 "^0.20.7"
|
web3 "^0.20.7"
|
||||||
web3-provider-engine "^16.0.1"
|
web3-provider-engine "^16.0.1"
|
||||||
|
|
||||||
"@metamask/controllers@^4.2.0":
|
"@metamask/controllers@^5.1.0":
|
||||||
version "4.2.0"
|
version "5.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/@metamask/controllers/-/controllers-4.2.0.tgz#ee304fa26aa1d291e21e7969dffee0977b149cbf"
|
resolved "https://registry.yarnpkg.com/@metamask/controllers/-/controllers-5.1.0.tgz#02c1957295bcb6db1655a716d165665d170e7f34"
|
||||||
integrity sha512-NPpBFP6x2YPEdJhjP5jC9E/WHJ+FJNWH7wf8he5/dfeY0J9hlXgkRv6vrvYI3wo6YvcgPy3IF1EOA0rR4jNbeg==
|
integrity sha512-4piqkIrpphe+9nEy68WH+yBw9wsXZyCMVeBZeRtliVHAJFXUdz+KZDUi/R1Y+568JBzqAvsOtOzbUIU4btD3Fw==
|
||||||
dependencies:
|
dependencies:
|
||||||
|
"@metamask/contract-metadata" "^1.19.0"
|
||||||
await-semaphore "^0.1.3"
|
await-semaphore "^0.1.3"
|
||||||
eth-contract-metadata "^1.11.0"
|
|
||||||
eth-ens-namehash "^2.0.8"
|
eth-ens-namehash "^2.0.8"
|
||||||
eth-json-rpc-infura "^5.1.0"
|
eth-json-rpc-infura "^5.1.0"
|
||||||
eth-keyring-controller "^6.1.0"
|
eth-keyring-controller "^6.1.0"
|
||||||
@ -2063,14 +2063,13 @@
|
|||||||
eth-rpc-errors "^4.0.0"
|
eth-rpc-errors "^4.0.0"
|
||||||
eth-sig-util "^3.0.0"
|
eth-sig-util "^3.0.0"
|
||||||
ethereumjs-util "^6.1.0"
|
ethereumjs-util "^6.1.0"
|
||||||
ethereumjs-wallet "0.6.0"
|
ethereumjs-wallet "^0.6.4"
|
||||||
ethjs-query "^0.3.8"
|
ethjs-query "^0.3.8"
|
||||||
human-standard-collectible-abi "^1.0.2"
|
human-standard-collectible-abi "^1.0.2"
|
||||||
human-standard-token-abi "^2.0.0"
|
human-standard-token-abi "^2.0.0"
|
||||||
isomorphic-fetch "^3.0.0"
|
isomorphic-fetch "^3.0.0"
|
||||||
jsonschema "^1.2.4"
|
jsonschema "^1.2.4"
|
||||||
nanoid "^3.1.12"
|
nanoid "^3.1.12"
|
||||||
percentile "^1.2.1"
|
|
||||||
single-call-balance-checker-abi "^1.0.0"
|
single-call-balance-checker-abi "^1.0.0"
|
||||||
uuid "^3.3.2"
|
uuid "^3.3.2"
|
||||||
web3 "^0.20.7"
|
web3 "^0.20.7"
|
||||||
@ -10259,7 +10258,7 @@ ethereumjs-wallet@0.6.0:
|
|||||||
utf8 "^2.1.1"
|
utf8 "^2.1.1"
|
||||||
uuid "^2.0.1"
|
uuid "^2.0.1"
|
||||||
|
|
||||||
ethereumjs-wallet@0.6.5, ethereumjs-wallet@^0.6.0:
|
ethereumjs-wallet@0.6.5, ethereumjs-wallet@^0.6.0, ethereumjs-wallet@^0.6.4:
|
||||||
version "0.6.5"
|
version "0.6.5"
|
||||||
resolved "https://registry.yarnpkg.com/ethereumjs-wallet/-/ethereumjs-wallet-0.6.5.tgz#685e9091645cee230ad125c007658833991ed474"
|
resolved "https://registry.yarnpkg.com/ethereumjs-wallet/-/ethereumjs-wallet-0.6.5.tgz#685e9091645cee230ad125c007658833991ed474"
|
||||||
integrity sha512-MDwjwB9VQVnpp/Dc1XzA6J1a3wgHQ4hSvA1uWNatdpOrtCbPVuQSKSyRnjLvS0a+KKMw2pvQ9Ybqpb3+eW8oNA==
|
integrity sha512-MDwjwB9VQVnpp/Dc1XzA6J1a3wgHQ4hSvA1uWNatdpOrtCbPVuQSKSyRnjLvS0a+KKMw2pvQ9Ybqpb3+eW8oNA==
|
||||||
|
Loading…
Reference in New Issue
Block a user