1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-29 15:50:28 +01:00
Commit Graph

3656 Commits

Author SHA1 Message Date
MetaMask Bot
dcd3b059df Version v7.4.0 2019-11-01 00:55:16 -03:00
Whymarrh Whitby
5455b8e3fd Add web3 deprecation warning (#7334)
* Add web3 deprecation warning

* Update web3 deprecation article URL
2019-11-01 00:55:16 -03:00
Kristian Tapia
f9cd775eae Add Estimated time to pending tx (#6924)
* Add estimated time to pending transactions

* add sytles for pending transactions component

* add media queries styling for pending transactions component

* fix lint errors, remove extra spaces

* refactor code to call `fetchBasicGasAndTimeEstimates` method once

* refactor code to call `getgetRenderableTimeEstimate` method once

* fix, correct export to use `transaction-time-remaining-component`

* fix indentation issues after running `yarn lint`

* newBigSigDig in gas-price-chart.utils supports strings

* Code cleanup

* Ensure fetchBasicGasAndTimeEstimates is only called from tx-list if there are pending-txs

* Move gas time estimate utilities into utility file

* Move getTxParams to transaction selector file

* Add feature flag for display of remaining transaction time in tx history list

* Fix circular dependency by removing unused import of transactionSelector in selectors.js

* Use correct feature flag property name transactionTime

* Ensure that tx list component correctly responds to turning tx time feature on

* Prevent precision errors in newBigSigDig

* Code clean up for pending transaction times

* Update transaction-time-remaining feature to count down seconds, countdown seconds and show '< 30'

* Code clean up for transaction-time-remaining feature
2019-10-31 23:21:28 -02:30
Whymarrh Whitby
6bd87e1f09
Add web3 deprecation warning (#7334)
* Add web3 deprecation warning

* Update web3 deprecation article URL
2019-10-31 21:56:02 -02:30
Filip Š
30606327f0 Add support for ZeroNet (#7038) 2019-10-31 15:37:06 -03:00
Frankie
514be408f8
I#6704 eth_getTransactionByHash will now check metamask's local history for pending transactions (#7327)
* tests - create tests for pending middlewares

* transactions - add r,s,v values to the txMeta to match the JSON rpc response

* network - add new middleware for eth_getTransactionByHash that the checks pending tx's for a response value

* transactions/pending - use getTransactionReceipt for checking if tx is in a block

* meta - file rename
2019-10-30 12:15:54 -10:00
Frankie
51e5220d5e
I#3669 ignore known transactions on first broadcast and continue with normal flow (#7328)
* transactions - ignore known tx errors

* tests - test ignoreing Transaction Failed: known transaction message
2019-10-30 11:40:33 -10:00
Erik Marks
5d843db533
Update eth-json-rpc-filters (#7325)
* update eth-json-rpc-filters

* update gaba
2019-10-29 18:38:00 -07:00
Mark Stacey
8dfb0e8154
Add hostname and extensionId to site metadata (#7218)
If the extension ID is set, an alternate title and subtitle are used
for the Connect Request screen. The title is always `External
Extension`, and the subtitle is `Extension ID: [id]` instead of the
origin (which would just be `[extension-scheme]://[id]` anyway).

The hostname for the site is used as a fallback in case it has no
title.

The artificial hostname set for internal connections has been renamed
from 'MetaMask' to 'metamask' because URL objects automatically
normalize hostnames to be all lower-case, and it was more convenient to
use a URL object so that the parameter would be the same type as used
for an untrusted connection.
2019-10-29 13:14:41 -03:00
ricky
af888d0ab2 Add "Retry" option for failed transactions (#7296)
* Begin mocking out retry ui

* Remove "Failed"

* I guess this works?

* Update corresponding test

* wip

* Ok, this appears to be working now

* cleanup

* Move this back to 3

* I don't think I need this

* Rename showRetry to showSpeedUp

* Address PR feedback

* Remove notes

* Rename shouldShowRetry -> shouldShowSpeedUp

* oops
2019-10-28 10:58:46 -02:30
Erik Marks
478d6563f2
Freeze Promise global on boot (#7309)
* freeze background and UI Promise globals on boot

* add new tests

* remove tape
2019-10-24 06:54:32 -07:00
Sirius Tsou
5f4cce13f0 correct the zh-TW translation (#7306) 2019-10-24 08:49:48 -03:00
Dan Finlay
5c8048fcc1
Merge pull request #7304 from MetaMask/routeTypedSignaturesToKeyrings
Move signTypedData signing out to keyrings
2019-10-23 09:43:57 -07:00
Dan Finlay
25076da9cb
Remove unused dependency 2019-10-23 08:59:20 +09:00
Dan Finlay
3eee9a2458
Linted 2019-10-23 08:47:15 +09:00
Dan Finlay
d26a8e7f82 Allow non strigified typed data params 2019-10-22 14:53:25 -07:00
Dan Finlay
4b4bee77c7 Move signTypedData signing out to keyrings
This simplifies the logic of signing and improves security:
- Private keys are never moved to the base controller.
- Hardware wallets are abstracted in the same way as local keys.

This also paves the way for allowing even more modular accounts,
provided by plugins:
https://github.com/MetaMask/metamask-plugin-beta/pull/63

Fixes #7075.
2019-10-22 11:37:04 -07:00
Dan J Miller
55bc9936c6 Turn off full screen vs popup a/b test (#7298) 2019-10-21 20:59:02 -03:00
MetaMask Bot
6bdf6e07db Version v7.3.1 2019-10-21 23:10:57 +00:00
Dan Miller
51cc2faf56 Turn off full screen vs popup a/b test 2019-10-21 20:38:55 -02:30
MetaMask Bot
a5035d49fc Version v7.3.0 2019-10-21 09:21:27 -03:00
Whymarrh Whitby
06536b1d0f
Fix phishing detect script (#7287) 2019-10-18 13:35:32 -02:30
Thomas Huang
9d9f3685bb Prevent Logout Timer that's longer than a week. (#7253) 2019-10-17 12:25:37 -03:00
Dan J Miller
f1c774d8f3 Handle empty fetch response (#7111) 2019-10-09 11:41:18 -03:00
Mark Stacey
08a7308b04 Merge branch 'master' into develop
* master: (34 commits)
  Update changelog for v7.2.3
  Fix e2e tests and gas default (#7267)
  Do not transate on seed phrases
  test:integration - fix renamed test data file
  lint fix
  test:e2e - fix bail condition
  test:e2e - fix responsie argument
  test:e2e - refactor missed spec file
  test:e2e - only overwrite window.fetch once per session
  test:e2e - rework fetch-mocks
  test:e2e - add extra delay before closing popups
  test:e2e - factor out prepareExtensionForTesting
  test - e2e - dedupe fetchMocking + compose script as fn
  Ensure correct tx category when sending to contracts without tx data (#7252)
  Version v7.2.3
  Add v7.2.2 to changelog
  Update minimum Firefox verison to 56.0 (#7213)
  Version v7.2.2
  Update changelog for v7.2.1, v7.2.0, and v7.1.1
  Add `appName` message to each locale
  ...
2019-10-08 20:26:21 -03:00
Dan J Miller
b884cd573c Ensure correct tx category when sending to contracts without tx data (#7252)
* Ensure correct transaction category when sending to contracts but there is no txParams data

* Update gas when pasting address in send

* Gracefully fall back is send.util/estimateGas when blockGasLimit from background is falsy

* Remove network request frontend fallback for blockGasLimit

* Add some needed slow downs to e2e tests
2019-10-08 14:16:23 -03:00
Dan J Miller
38df64783d Ensure correct tx category when sending to contracts without tx data (#7252)
* Ensure correct transaction category when sending to contracts but there is no txParams data

* Update gas when pasting address in send

* Gracefully fall back is send.util/estimateGas when blockGasLimit from background is falsy

* Remove network request frontend fallback for blockGasLimit

* Add some needed slow downs to e2e tests
2019-10-08 04:29:37 +09:00
MetaMask Bot
f94c3b96ed Version v7.2.3 2019-10-07 16:28:17 -03:00
ryanml
3383eabc9d Use translated string for state log (#7255) 2019-10-07 14:54:44 -03:00
Mark Stacey
1369d0280d Mark 3Box sync as experimental
The initial release of the 3Box sync will be marked as experimental.
This is to allow us time to test the 3Box sync and reduce the load on
3Box's infrastructure.
2019-10-02 17:11:20 -03:00
Mark Stacey
9541d1e281
Don't wait for 3Box initialization during login (#7242)
The 3Box initialization is triggered by login, but it no longer blocks
the login from finishing. The 3Box initialization is designed to run in
the background, so there's no reason to block on it.
2019-10-02 16:12:20 -03:00
Dan J Miller
e6e8897434
Custom nonce fixes (#7240)
* Allow default nextNonce to be the custom nonce in cases where highest locally pending is higher than nextNonce

* Reset custom nonce in cases of transaction submission failures

* Make the recommended nonce in the custom nonce field the true 'nextNonce'

* Revert automatic setting of custom nonce to nextNonce

* Make the nextNonce the default placeholder value

* Fix getNextNonce

* Remove unused nonceFieldPlaceholder message

* Fix nits in getPendingNonce and getNextNonce

* Properly handle errors in getNextNonce

* Improve placeholder and value defaults in custom nonce field

* Remove custom error message from getNextNonce
2019-10-02 15:42:04 -02:30
Thomas Huang
45a8fdebf7 Update ETH logo, update deposit Ether logo height and width (#7239) 2019-10-02 10:15:44 -06:00
Dan J Miller
daf4fe439c Ensure 3box validation uses the correct address (#7235) 2019-10-01 10:03:13 -03:00
Mark Stacey
8d97bdc5c9
Fix error handling when checking for 3Box backup (#7232)
The 3Box SDK throws an HTTP 404 error when attempting to get the config
for an account that doesn't yet exist in 3Box. The regex we were using
to differentiate this error from others was broken. This ended up
preventing the user from logging in if they had 3Box enabled but hadn't
yet synced.

The regex has been corrected to catch this case, while allowing other
errors to propogate upward. Other 3Box errors will now be caught and
reported rather than interrupting login completely.

At some point in the future, we should expose these errors to the user
in some way, and allow them to retry in case 3Box was just temporarily
offline.
2019-10-01 10:01:57 -03:00
Thomas Huang
67ab13b74b Master parity with developer/release (#7225)
* Version v7.2.2

* Add v7.2.2 to changelog
2019-09-27 10:35:38 -06:00
ricky
5f254f7325 Add advanced setting to enable editing nonce on confirmation screens (#7089)
* Add UseNonce toggle

* Get the toggle actually working and dispatching

* Display nonce field on confirmation page

* Remove console.log

* Add placeholder

* Set customNonceValue

* Add nonce key/value to txParams

* remove customNonceValue from component state

* Use translation file and existing CSS class

* Use existing TextField component

* Remove console.log

* Fix lint nits

* Okay this sorta works?

* Move nonce toggle to advanced tab

* Set min to 0

* Wrap value in Number()

* Add customNonceMap

* Update custom nonce translation

* Update styles

* Reset CustomNonce

* Fix lint

* Get tests passing

* Add customNonceValue to defaults

* Fix test

* Fix comments

* Update tests

* Use camel case

* Ensure custom nonce can only be whole number

* Correct font size for custom nonce input

* UX improvements for custom nonce feature

* Fix advanced-tab-component tests for custom nonce changes

* Update title of nonce toggle in settings

* Remove unused locale message

* Cast custom nonce to string in confirm-transaction-base.component

* Handle string conversion and invalid values for custom nonces in handler

* Don't call getNonceLock in tx controller if there is a custom nonce

* Set nonce details for cases where nonce is customized

* Fix incorrectly use value for deciding whether to getnoncelock in approveTransaction

* Default nonceLock to empty object in approveTransaction

* Reapply use on nonceLock in cases where customNonceValue in approveTransaction.

* Show warning message if custom nonce is higher than MetaMask's next nonce

* Fix e2e test failure caused by custom nonce and 3box toggle conflict

* Update nonce warning message to include the suggested nonce

* Handle nextNonce comparison and update logic in lifecycle

* Default nonce field to suggested nonce

* Clear custom nonce on reject or confirm

* Fix bug where nonces are not shown in tx list on self sent transactions

* Ensure custom nonce is reset after tx is created in background

* Convert customNonceValue to number in approve tranasction controller

* Lint fix

* Call getNextNonce after updating custom nonce
2019-09-27 00:30:36 -04:00
Dan J Miller
970e90ea70
Add migration on 3box imports and remove feature flag (#7209)
* Delete unused code

* Run threebox imports through migrations

* Remove 3box feature flag

* Remove unnecessary use of 'type' in threebox._updatePlugin

* Fix threebox controller getLastUpdated

* Turn off threebox by default

* Rename restoredFromThreeBox to showRestorePrompt

* Remove accientally added method from threebox controller

* Restore from threebox on import from unlock screen

* Throw on non 404 errors from Box.getconfig in new3Box
2019-09-26 03:24:52 -04:00
Dan J Miller
1bd22b58c0
Add a/b test for full screen transaction confirmations (#7162)
* Adds ab test controller with a fullScreenVsPopup test

* Add migration for fullScreenVsPopup state

* Move abtest state under an 'abtests' object.

* MetaMask shows fullScreen group of a/b test unapproved txs in a full browser tab

* Ensure cancel metrics event in confirm-transaction-base.component.js is sent in all cases

* Switch to existing tab for unapproved tx if it exists when opening in full screen

* Send metrics event for entering a/b test from confirm screen

* Fix lint, unit and integration tests related to a/b test code

* Remove unnecessary tabs.query call in triggerUiInNewTab
2019-09-24 17:08:38 -04:00
Mark Stacey
288553f300 Update minimum Firefox verison to 56.0 (#7213)
The previous minimum version of 56.2 resulted in the build failing
validation when it was uploaded to the Firefox web store, because that
version doesn't exist. It was set to that version because a Firefox
fork uses it.

Instead the minimum version has been reduced so that we pass
validation. Unfortunately this will mean that a single incompatible
version of Firefox Mobile will allow the extension to be installed
(in theory), but there was no other way to avoid cutting off support
to WaterFox (the Firefox fork). The warning about this from the addons
linter can be ignored for now.
2019-09-24 09:56:41 -06:00
MetaMask Bot
2fc6c50de2 Version v7.2.2 2019-09-24 15:50:32 +00:00
Mark Stacey
0ad6e2ada8
Update minimum Firefox verison to 56.0 (#7213)
The previous minimum version of 56.2 resulted in the build failing
validation when it was uploaded to the Firefox web store, because that
version doesn't exist. It was set to that version because a Firefox
fork uses it.

Instead the minimum version has been reduced so that we pass
validation. Unfortunately this will mean that a single incompatible
version of Firefox Mobile will allow the extension to be installed
(in theory), but there was no other way to avoid cutting off support
to WaterFox (the Firefox fork). The warning about this from the addons
linter can be ignored for now.
2019-09-24 12:49:24 -03:00
kumavis
4d71f3f854 mesh-testing - submit infura rpc requests to mesh-testing container (#7031) 2019-09-23 02:54:41 -07:00
kumavis
f5b2977764
obs-store/local-store should upgrade webextension error to real error (#7207)
* obs-store/local-store should upgrade webextension error to real error

* lint fix

* local-store - allow lastError through unchanged if error-like
2019-09-23 11:45:20 +08:00
Jenny Pollack
e86cebde3b address book entries by chainId (#7205) 2019-09-21 14:36:05 -03:00
Dan Finlay
85cbf8a894
Merge pull request #7173 from rekmarks/fix-errors
Fix RPC error messages
2019-09-19 09:40:11 -07:00
Erik Marks
672ade33a6 add user rejected errors 2019-09-18 19:19:12 -07:00
Erik Marks
58c5fe01bf use eth-json-rpc-errors 2019-09-18 19:17:31 -07:00
Mark Stacey
48bf2f8731
Remove unused locale messages (#7190)
* Switch to using string literals for locale keys

Various message keys were being specified with a string template
instead of a string literal. They have been switched to use string
literals so that the script for detecting unused messages can find
them.

* Remove unused locale messages

A number of unused locale messages have been removed - probably
leftover from old UI elements that have since been removed.

The `verify_locale_strings` script has been augmented to search the UI
for string literals, and match those against the locale message keys in
the `en` locale. Any messages without a corresponding string literal
are assumed to be unused.

The script has also been updated with an optional `--fix` parameter,
which will automatically delete any unused messages from locales.

148 unused messages were found in this case, out of a total of about
650 messages. Another 70 messages are _potentially_ unused and require
further investigation, but weren't as easy to rule out because they
were found in string literals.

* Remove additional unused locale messages

The following messages were more difficult to rule out because they
were present as string literals in the UI. They do appear to be
unused as locale keys though.
2019-09-18 20:29:46 -03:00
Jenny Pollack
03f216e27c add goerli to incoming tx 2019-09-18 10:04:39 -07:00
Sunghee Lee
87ac07bb35 Refactor validation function (#7187)
* Update invalidBlockExplorerURL message

* Refactor validation function
2019-09-18 10:57:18 -03:00
Mark Stacey
c007fcab1a
master => develop (#7182)
* Version v7.1.1

* Version v7.2.0

* Version v7.2.1

* Update changelog for v7.2.1, v7.2.0, and v7.1.1
2019-09-17 19:47:42 -03:00
Sergej Müller
ef7d0192c1 Performance: Delivery optimized images (#7176) 2019-09-17 19:01:48 -03:00
Mark Stacey
30e0a85f1d Add appName message to each locale
The Chrome Web store was rejecting the build because `appName` was
missing from some locales.
2019-09-17 18:04:39 -03:00
Mark Stacey
a0b9eff5c4 Add appName message to each locale
The Chrome Web store was rejecting the build because `appName` was
missing from some locales.
2019-09-17 17:26:19 -03:00
MetaMask Bot
9ca0c6fcdd Version v7.2.1 2019-09-17 19:53:30 +00:00
Mark Stacey
b5da8a237e
Remove the disk store (#7170)
The disk store has not been written to since MetaMask v4.3.0, as it was
removed in #3083. It was kept around so that anything written to disk
prior to v4.3.0 could still be restored.

It has been a year and a half since that release, so I think it's time
to remove the disk store altogether. The consequences of losing locally
stored data are small anyway - it's an inconvenience at worst.
2019-09-16 19:29:26 -03:00
Sergej Müller
e7a0939f53 Add fixes for German translations (#7168) 2019-09-16 16:27:50 -04:00
Dan J Miller
7985f4f4f8
3box integration 2.0 (#6972)
* Adds threebox controller

* Adds threebox approval modal

* Fix unit tests and lint after addition of threebox

* Correct threebox behaviour after rejecting request for backup; fixes e2e tests.

* Update threebox controller for automatic syncing

* Ensure frontend locale updates when preferences are changed via direct update within controller

* Add toggle in settings for 3box syncing

* Update threebox controller for latest 3box version

* Delete unnecessary frontend changes for threebox integration

* Backing up address book contacts with threebox

* Update unit tests for 3box-integration additions

* Only enable threebox by default for new wallets

* Mock globals for correct unit tests

* 3box '1.10.2' -> '^1.10.2'

* Correct capilalization on 3Box

* Use log.debug instead of console.log in threebox controller

* Update yarn.lock

* Remove edge build

* Split 3box module into background deps js file

* extra bundle opts for bg-libs

* sync yarn.lock

* new3Box logic

* Show confirm threebox restore after import

* Remove bg-libs.js from manifest file for dev builds

* Switch 3Box controller to using the spaces api (instead of the profile api)

* Finalize switching to spaces api and only restoring from 3box after import

* Update metamask-controller-test.js for threebox controller changes

* Make threebox modal style consistent with others and update success button wording

* Use mock 3box when in test

* Correct 3box modal header

* Remove unnecessary property of threebox controller provider

* Remove unnecessary method calls after restoration from 3box in the threebox-restore-confirm modal.

* Replace setThreeBoxSyncingPermission calls in routes/index.js with turnThreeBoxSyncingOn

* Replace erroneous use of  with

* Replace erroneous use of threeboxSyncing with threeBoxSyncingAllowed in advancted-tab directory

* Lint fixes for 3box changes

* Log errors encountered when updating 3Box

* Remove unnecessary parameter from state update

* Add timeout to initial 3Box sync

The initial 3Box sync will now timeout after 1 minute. If the timeout
is triggered, 3Box is disabled and cannot be re-enabled unless the
initial sync does finally finish. If it never finishes, 3Box cannot
be enabled unless the extension is reinstalled.

The Advanced Settings page was updated to show this option as disabled
in that circumstance, with a new discription explaining why it's
disabled. The UI here could certainly be improved.

Additionally, "on" and "off" labels were added to the toggle to match
the other toggles on the Advanced Settings page.

* Use non-minified 3Box module

We had previously used the minified 3Box module to avoid a build error
encountered when `envify` was processing the `libp2p` module (which is
used by 3Box). The build would fail because `esprima` (used by `envify`)
is incompatible with the object spread/rest operator (which is used in
`libp2p`).

That issue has been solved by adding a global Babelify transformation
specifically for transpiling out the object rest/spread operator from
dependencies. It has been targetted to only affect `libp2p` to avoid
extending the build time too much. This workaround can be used until
a new version of `esprima` is released that includes this bug fix.

* Use app key addresses for threebox

* Replace use of modal for confirming 3box restoration with a home notification

* Adds e2e tests for restoring from threebox

* Update eth-keyring-controller to 5.1.0

* Correct parameters passed to getAppKeyAddress in threebox.js

* Add prefix to origin passed to getAppKeyAddress in threebox.js

* Remove unused locale message.

* Prevent CORS errors in firefox e2e tests

* Ensure extraneous scripts are excluded from the local test dev build

* Move threeBoxLastUpdate state from home.component to redux

* Threebox PR code cleanup

* Always use first address when initializing threebox

* Replace setRestoredFromThreeBox api with setRestoredFromThreeBoxToFalse and setRestoredFromThreeBoxToTrue

* Update development/metamaskbot-build-announce.js to include ui-libs and bg-libs in hard coded bundle list

* Update test/e2e/threebox.spec.js to use new helpers added with pull #7144

* Make setFeatureFlag available on the ui window during testing

* Hide threebox feature behind a feature flag that can only be activated via dev console

* Remove unnecessary migration of threebox feature flag

* Prevent this.init() call in threebox constructor if feature flag is not turned on

* Prevent threebox notification from showing if feature flag is falsy

* http://localhost/8889 -> http://localhost/* in gulp manifest:testing tasks
2019-09-16 14:41:01 -02:30
Mark Stacey
94318d8b28 Replace undefined selectedAddress with null (#7161)
* Replace `undefined` selectedAddress with `null`

The `runtime.Port.postMessage` API will drop keys with a value of
`undefined` on Chrome, but not on Firefox. This was a problem for the
`publicConfig` stream, which passed the key `selectedAddress` with the
value of `undefined` to communicate to dapps that the user had logged
out.

Instead a `null` is now passed for `selectedAddress` upon logout, which
is correctly sent by the `runtime.Port.postMessage` API on both Chrome
and Firefox.

closes #7101
closes #7109

* Update `metamask-inpage-provider` to v3.0.0

The v3.0.0 update includes a change to the `accountsChanged` event. The
event will now emit an empty array instead of an array with `undefined`
or `null`.

The previous behavior was to emit `[undefined]`. The previous commit
would have changed that to `[null]` anyway, so we figured if we're
going to make a public-facing change to the event anyway we should
change it to be correct. `[undefined]` was never intended, and it
technically violates EIP-1193, which states that the `accountsChanged`
event should emit an array of strings.
2019-09-13 11:53:08 -03:00
Mark Stacey
c80deaa1b8 Add polyfill for AbortController (#7157)
The AbortController is used in both the background and the UI. Support
for AbortController was added to Chrome in version 66, which is above
our minimum supported version.

I did consider increasing the minimum Chrome version to 66, but we have
a decent number of users still on Chrome 65 unfortunately.
2019-09-13 11:52:57 -03:00
Mark Stacey
da4119339b Set minimum Firefox version to v56.2 to support Waterfox (#7156)
The minimum compatible version of Firefox has been lowered from `60.0`
to `56.2`. It was originally set to `60.0` because that is Firefox ESR,
which currently the minimum Firefox version with security updates.
However Waterfox is based upon Firefox `56.0`, and has backported
security fixes from the ESR release.

This change in minimum version requires no additional transpiling, and
doesn't affect any browser APIs we use.

It does introduce one additional warning in the `addon-linter` about
Firefox for Android `56` lacking support for browser action popups.
However there is no version `56.2` of Firefox for Android, so the
minimum version remains `57` in practice (which does support browser
action popups).
2019-09-13 11:45:33 -03:00
Mark Stacey
95b4d91116
Replace undefined selectedAddress with null (#7161)
* Replace `undefined` selectedAddress with `null`

The `runtime.Port.postMessage` API will drop keys with a value of
`undefined` on Chrome, but not on Firefox. This was a problem for the
`publicConfig` stream, which passed the key `selectedAddress` with the
value of `undefined` to communicate to dapps that the user had logged
out.

Instead a `null` is now passed for `selectedAddress` upon logout, which
is correctly sent by the `runtime.Port.postMessage` API on both Chrome
and Firefox.

closes #7101
closes #7109

* Update `metamask-inpage-provider` to v3.0.0

The v3.0.0 update includes a change to the `accountsChanged` event. The
event will now emit an empty array instead of an array with `undefined`
or `null`.

The previous behavior was to emit `[undefined]`. The previous commit
would have changed that to `[null]` anyway, so we figured if we're
going to make a public-facing change to the event anyway we should
change it to be correct. `[undefined]` was never intended, and it
technically violates EIP-1193, which states that the `accountsChanged`
event should emit an array of strings.
2019-09-13 11:32:55 -03:00
Mark Stacey
50e9c4e5ad
Add polyfill for AbortController (#7157)
The AbortController is used in both the background and the UI. Support
for AbortController was added to Chrome in version 66, which is above
our minimum supported version.

I did consider increasing the minimum Chrome version to 66, but we have
a decent number of users still on Chrome 65 unfortunately.
2019-09-12 17:07:27 -03:00
Mark Stacey
a00493fdbd
Remove redundant error logging (#7158)
The `_fetchAll` function is expected to return values, so catching
errors and logging them only results in an additional error at the
place where `_fetchAll` is called. It's better instead to let the
error get thrown as normal.

In this particular case `_fetchAll` is only called in once place. The
error is still correctly caught and logged (in the `_update` function)
2019-09-12 17:00:35 -03:00
Mark Stacey
34440d63eb
Set minimum Firefox version to v56.2 to support Waterfox (#7156)
The minimum compatible version of Firefox has been lowered from `60.0`
to `56.2`. It was originally set to `60.0` because that is Firefox ESR,
which currently the minimum Firefox version with security updates.
However Waterfox is based upon Firefox `56.0`, and has backported
security fixes from the ESR release.

This change in minimum version requires no additional transpiling, and
doesn't affect any browser APIs we use.

It does introduce one additional warning in the `addon-linter` about
Firefox for Android `56` lacking support for browser action popups.
However there is no version `56.2` of Firefox for Android, so the
minimum version remains `57` in practice (which does support browser
action popups).
2019-09-12 16:55:20 -03:00
Erik Marks
38f6550951 fix rinkeby spelling (#7148) 2019-09-10 12:51:34 -10:00
MetaMask Bot
c1994ccf36 Version v7.2.0 2019-09-10 03:07:14 +00:00
Dan J Miller
7af902e500
Make chainId available in the metamask-inpage-provider (#7110)
* Make chainId available in the metamask-inpage-provider

* Update metamask-inpage-provider to 2.1.0

* Add e2e tests for ethereum.on events

* Move chainId constants to lib/enums.js

* Don't use new chainId enums in createInfuraClient

* Fix app/scripts/lib/select-chain-id.js
2019-09-09 22:01:34 -02:30
Mark Stacey
2672ae7e66 Remove duplicate keys in ru locale
These were accidentally introduced recently as two separate updates to
the `ru` locale were merged. They added these keys in different places,
so they didn't conflict.
2019-09-05 14:24:34 -03:00
Brian R. Bondy
93204a578b Update localization from Transifex Brave order (#7099)
* Add extra locales to index.json

* Fix verify locale script bugs

- All locales didn't work because it was putting an object inside of an object.
- Individual checks didn't work because of how the destructuring was done.
- Extra items were being printed as missing items.

* Sync up string changes w/ Brave wallet

* Add 33 new locales from Brave wallet

* Merge tml into ta code
2019-09-05 14:05:33 -03:00
Mark Stacey
1e7b37d1cc
Combine fetch-with-timeout implementations (#7084)
There were two competing utility functions for calling fetch with a
timeout. They have been combined into one.
2019-09-04 17:00:11 -03:00
Denis
622c3e482f Added missed phrases to RU locale (got from en locale) (#7012)
Co-Authored-By: Dmitriy Ryajov <dryajov@gmail.com>
2019-09-04 13:51:03 -04:00
Mark Stacey
86602d8b49 Fix indentation of the Persian locale
It was accidentally merged with 4-space indentation.
2019-09-04 00:53:50 -03:00
MetaMask Bot
d5b6409034 Version v7.1.1 RC (#7071) 2019-09-03 16:06:27 -03:00
ehsan01
2bab457442 Persian translation @mapmeld (#6878) 2019-09-03 15:49:07 -03:00
Nick Doiron
d589d2dec0 Right-to-left CSS (using module for conversion) (#7072)
* Create RTL stylesheets using `gulp-rtl`

* Handle RTL stylesheet special cases

Certain blocks of Sass  were set to bypass "rtlcss" using ignore
comments. Certain icons had to be flipped 180 degrees.

* Switch stylesheets when locale changes

A second stylesheet has been added to each HTML page for use with
right-to-left locales. It is disabled by default. It is enabled on
startup if a RTL locale is set, and when switching to a RTL locale.
Similarly the LTR stylesheet is disabled when a RTL locale is used.

Unfortunately there is an unpleasant flash of unstyled content when
switching between a LTR and a RTL locale. There is also a slightly
longer page load time when using a RTL locale (<1s difference). We
couldn't think of an easy way to avoid these problems.

* Set `dir="auto"` as default on `TextFields`
2019-09-03 14:47:54 -03:00
Frankie
f6d25357db
transactions:tx-state-manager - optionally take a function as a search param (#7078) 2019-08-29 14:57:28 +02:00
Whymarrh Whitby
ecbde20949
Remove ComputedbalancesController (#7057) 2019-08-22 10:26:43 -02:30
MetaMask Bot
fc55b1007b Version v7.1.0 2019-08-21 17:47:06 -02:30
Dan Finlay
7badc0ea1a
Merge pull request #7047 from Gudahtt/auto-reload-deprecation-warning
Add warning about reload on network change
2019-08-21 11:44:47 -07:00
Whymarrh Whitby
ef3859ff77
Add toggle for incoming transactions (#7049) 2019-08-21 16:12:14 -02:30
Mark Stacey
2ceac1f27f Add warning about reload on network change
We are soon removing the automatic refresh on network change behavior.
A warning has been added to ensure sites know about this upcoming
change.

Any site that calls `.enable` is advised to use a
`networkChanged` event handler to reload manually if they rely upon
that behavior. They are also advised to set the flag
`autoRefreshOnNetworkChange` to `false` to opt-out of the reload
behavior early.

This warning might be irritating for certain sites, as they might be
indifferent to whether or not the site reloads, and not eager to set a
flag to opt-in early just to silence the warning. However there was no
other obvious way to warning the right people about this change, as
any warning prior to an actual reload would only be seen by the few
people that set their browser console to preserve logs.

Relates to #3599
2019-08-21 14:14:35 -03:00
matteopey
f9c0bdda32 Update Italian translation (#7046) 2019-08-21 11:57:49 -02:30
Brendan Chou
cc71b4f52b Add support for eth_signTypedData_v4 (#6930) 2019-08-20 17:22:59 -02:30
Esteban Miño
6e081eb17c Filter non-ERC-20 assets during mobile sync (#7035) 2019-08-20 16:23:21 -02:30
Whymarrh Whitby
e47448362d
Bug fixes for incoming transactions (#7043)
* Fix styling of `.transaction-list`
* Filter `incomingTxListSelector` by network as well
* Start and stop block tracker polling in incoming tx controller
* Add fetch with abort in bg for `IncomingTxController`
2019-08-20 16:22:00 -02:30
Dan J Miller
821529622e Fetch & display received transactions (#6996) 2019-08-16 16:24:10 -02:30
Whymarrh Whitby
facb00023a
Revert "[ImgBot] Optimize images" (#7027)
This reverts commit 45534d9908.

I'm reverting this commit due to trust issues with the author,
these images can be re-optimized.
2019-08-16 12:32:02 -02:30
Whymarrh Whitby
247659ca65
Connections settings tab (#7013)
* Nix notification for Share Address

* Add Connections settings tab in place of privacy mode toggle

* Split ProviderApprovalController into two stores

* Remove privacyMode feature flag altogether

* Add migration to remove privacyMode feature flag
2019-08-15 18:37:18 -02:30
ryanml
4d9b095dd0 Using translated string for end of flow messaging (#7021) 2019-08-15 15:43:08 -03:00
Whymarrh Whitby
0ae5c09092
Rename Contacts List settings tab to Contacts (#7018) 2019-08-15 10:33:36 -02:30
Jenny Pollack
f34afee081 Add migration 34 and 35 (#7001) 2019-08-14 10:06:04 -02:30
Dan J Miller
043920c9ff
Address book fixes (#6978)
* Ensure address book send flow correctly matches address book addresses to ens addresses

* Use nodify on background.setAddressBook to receive correct result in actions.js

* Better error handling for actions.js addToAddressBook

* Eliminate unnecessary data normalization and move more data manipluation to ens-input and send-content containers
2019-08-13 20:43:05 -02:30
Whymarrh Whitby
22b20837d4
Remove reload from Share Address button (#6991)
* Update tooltip words for Share Address

* Don't forceReload anything on Share Address
2019-08-09 15:00:59 -02:30
Whymarrh Whitby
ceace71bf5
Remove unused lostAccounts state (#6979) 2019-08-08 17:03:10 -02:30
Thomas Huang
24e3970881
Merge pull request #6976 from MetaMask/Version-v7.0.1
Version v7.0.1 RC
2019-08-08 08:02:37 -07:00
Mark Stacey
12e055a37c
Close window after opening fullscreen (#6966)
* Add background environment type

The `getEnvironmentType` method now checks for the background
environment as well, instead of returning 'notification' for that case.

Instead of adding another regex for the background path, the regexes
for each environment have been replaced with the URL constructor[0].
This is the standard method of parsing URLs, and is available in all
supported browsers.

[0]: https://developer.mozilla.org/en-US/docs/Web/API/URL

* Add note regarding a missing manifest permission

The `url` parameter to `tabs.query(...)` requires the `tabs` permission,
and will be ignored otherwise. We are missing this permission, so that
call does not work.

* Close window after opening full screen

The browser behaviour when opening a new tab differs between Chrome and
Firefox. In the case of a popup, Chrome will close the popup whereas
Firefox will leave it open. In the case of the notification window,
Chrome will move the new tab to the foreground, whereas Firefox will
leave the notification window in the foreground when opening a new tab.

We always want to close the current UI (popup or notification) when
switching to a full-screen view. The only exception to this is when the
switch is triggered from the background, which has no UI.

Closes #6513, #6685
2019-08-08 11:50:32 -03:00
MetaMask Bot
aceb6f0d3e Version v7.0.1 2019-08-08 11:40:52 +00:00
Dan J Miller
da7fe65599
Ensure seed phrase backup only shows up for new users (#6975) 2019-08-08 09:08:41 -02:30
Whymarrh Whitby
0e51292acf Bump manifest version to 7.0.0 2019-08-06 14:46:46 -02:30
Thomas
bf00f42252 Merge branch 'master' into develop-master-parity 2019-08-05 12:21:41 -07:00
Dan J Miller
9d5be5d29f
New notification fixes (#6955)
* Replace use of backup-notification with use of home notification

* Pin notifications relative to window

* Remove unneeded isRequired condition on some home.component properties

* Refactor rendering of home notifications

* UX for multiple notifications

* Adds dismissal to provider request notification.

* Fix test failures

The e2e tests have been updated to reference `home-notification`
classnames instead of the removed `background-notification`. The
active tab proptypes and default values were updated as well.
2019-08-02 18:01:26 -02:30
Mark Stacey
75d5374582
Restrict unconnected notice to specific protocols (#6954)
The notice asking whether you wanted to connect to a site was showing
up in places it shouldn't, like on the Firefox/Chrome settings pages
and on our fullscreen extension. It has now been restricted to only
be displayed for active tabs with specific protocols:

* http
* https
* dat
* dweb
* ipfs
* ipns
* ssb

This prevents the notice from being shown on settings pages, browser
extensions, and files such as PDFs.
2019-08-02 16:29:28 -02:30
Mark Stacey
decc604eb8
Increase minimum version of Firefox supported (#6939)
The minimum version supported is now Firefox 60. This is the current
Extended Support Release. Various features we use were not supported by
Firefox 53, such as `browser_action.default_popup`, `tabs.query`, and
`permissions:unlimitedStorage`.
2019-08-02 10:28:41 -02:30
Mark Stacey
bb87a0b92c
Add migration to remove seedWords state (#6937)
The `seedWords` state was removed from the PreferencesController
recently in #6920. That state hadn't been used in some time, and there
was a long period during which `seedWords` was periodically scrubbed
from the state, so it's highly unlikely that it still exists in state
for most users. It's hard to guarantee that it _doesn't_ though,
especially if a user hasn't opened MetaMask in a few months.
2019-08-02 10:28:25 -02:30
Dan J Miller
3eff478775
I5849 incremental account security (#6874)
* Implements ability to defer seed phrase backup to later

* Adds incremental-security.spec.js, including test dapp that sends signed tx with stand alone localhost provider

* Update metamask-responsive-ui for incremental account security changes

* Update backup-notification style and fix responsiveness of seed phrase screen

* Remove uneeded files from send-eth-with-private-key-test/

* Apply linguist flags in .gitattributes for send-eth-with-private-key-test/ethereumjs-tx.js

* Improve docs in controllers/onboarding.js

* Clean up metamask-extension/test/e2e/send-eth-with-private-key-test/index.html

* Remove unnecessary newlines in a couple first-time-flow/ files

* Fix import of backup-notification in home.component

* Fix git attrs file
2019-08-02 01:27:26 -02:30
Whymarrh Whitby
e9a63d5d5b
Default Privacy Mode to ON, allow force sharing address (#6904) 2019-08-01 10:54:33 -02:30
Whymarrh Whitby
4d88e1cf86 Enable indent linting via ESLint (#6936)
* Enable indent linting via ESLint

* yarn run lint:fix
2019-07-31 10:17:11 -10:00
Dan J Miller
e9c7df28ed
Address book send plus contact list (#6914)
* Style Send Header

* Move Send to-row to send view and restyle

* Add "Recents" group to select recipient view

* Rename SendToRow to AddRecipient

* Basic UI and Layout

* New ENSInput component

* wip - fuzzy search for input

* small refactor

* Add Dialog

* contact list initial

* initial error on invalid address

* clean up edit

* Click to open modal

* Create AddToAddressBookModal component

* Modal styling and layout

* modal i18n

* Add to Addressbook

* ens wip

* ens wip

* ENS Resolution

* Reset input

* Send to explicit address

* Happy Path Complete

* Add back error checking

* Reset send-to when emptying input

* Add back warning object

* Fix linter

* Fix unit test #1 - fix import paths

* Remove dead tests

* One more to go

* Fix all unit tests

* add unit test for reducers and actions

* test rendering AddRecipient

* Add tests for dialog boxes in AddRecipient

* Add test for validating

* Fix linter

* Fix e2e tests

* Token send e2e fix

* Style View Contact

* Style edit-contact

* Fix e2e

* Fix from-import-beta-ui e2e spec

* Make section header say "add recipient” by default

* Auto-focus add recipient input

* Update placeholder text

* Update input title font size

* Auto advance to next step if user paste a valid address

* Ellipsify address when recipient is selected

* Fix app header background color on desktop

* Give each form row a margin of 16px

* Use .container/.component naming pattern for ens-input

* Auto-focus on input when add to addressbook modal is opened; Save on Enter

* Fix and add unit test

* Fix selectors name in e2e tests

* Correct e2e test token amount for address-book-send changes

* Adds e2e test for editing a transaction

* Delete test/integration/lib/send-new-ui.js

* Add tests for amount max button and high value error on send screen to test/e2e/metamask-ui.spec.js

* lint and revert to address as object keys

* add chainId based on current network to address book entry

* fix test

* only display contacts for the current network

* Improve ENS message when not found on current network

* Add error to indicate when network does not support ENS

* bump gaba

* address book, resolve comments

* Move contact-list to its own component

* De-duplicate getaddressbook selector and refactor name selection logic in contact-list-tab/

* Use contact-list component in contact-list-tab.component (i.e. in settings)

* Improve/fix settings headers for popup and browser views

* Lint fixes related to address book updates

* Add 'My accounts' page to settings address book

* Update add new contact button in settings to match floating circular design

* Improve styles of view contact page

* Improve styles and labels of the add-contact.component

* Further lint fixes related to address book updates

* Update unit tests as per address book updates

* Ensure that contact list groups are sorted alphabetically

* Refactor settings component to use a container for connection to redux; allow display of addressbook name in settings header

* Decouple ens-input.component from send context

* Add ens resolution to add contact screen in settings

* Switching networks when an ens address is shown on send form removes the ens address.

* Resolve send screen search for ensAddress to matching address book entry if it exists

* Show resolved ens icon and address if exists (settings: add-contact.component)

* Make the displayed and copied address in view-contact.component the checksummed address

* Default alias state prop in AddToAddressBookModal to empty string

* Use keyCode to detect enter key in AddToAddressBookModal

* Ensure add-contact component properly updates after QR code detection

* Fix display of all recents after clicking 'Load More' in contact list

* Fix send screen contact searching after network switching

* Code cleanup related to address book changes

* Update unit tests for address book changes

* Update ENS name not found on network message

* Add ens registration error message

* Cancel on edit mode takes user back to view screen

* Adds support for memo to settings contact list view and edit screens

* Modify designs of edit and view contact in popup environment

* Update settings content list UX to show split columns in fullscreen and proper internal navigation

* Correct background address book API usages in UI
2019-07-31 17:26:44 -02:30
Whymarrh Whitby
948b6ca80b
Fix casing of Etherscan (#6927) 2019-07-29 10:06:17 -02:30
Mark Stacey
1112277cd6
Remove seedWords completely from metamask state (#6920)
`seedWords` used to be stored on the metamask state temporarily at
certain points. This hasn't been the case since #5994, but references
to this state remained. All of the logic remained for correctly updating
these `seedWords`, handling them during navigation, and scrubbing them
from the state.

However the state was never updated in practice. The `seedWords` are
still returned by `verifySeedPhrase`, and they're still stored in
component state in a few places. But they aren't ever set in the Redux
metadata state or the Preferences controller.

All references to this state have been removed, along with any logic
for interacting with this state. A few unused actions were removed as
well.
2019-07-26 10:35:21 -03:00
Mark Stacey
429030a00e
Remove unused unlockAccountMessage callback (#6905)
This callback has been unused for a long time. It was removed in #1076
2019-07-24 23:40:22 -03:00
Whymarrh Whitby
fc3b035aac
Check balance before testing it w/ isZero (#6898) 2019-07-23 17:14:04 -02:30
Alessandro Ricottone
e81aa6073d Resolve onion addresses (#6869)
* Resolve onion address
* npm i content-hash@latest
2019-07-23 16:59:20 -02:30
Mark Stacey
0f8a9a5d49
Serve CSS as an external file (#6894)
The CSS is now served as an external file instead of being injected.
This was done to improve performance. Ideally we would come to a middle
ground between this and the former behaviour by injecting only the CSS
that was required for the initial page load, then lazily loading the
rest. However that change would be more complex. The hope was that
making all CSS external would at least be a slight improvement.

Performance metrics were collected before and after this change to
determine whether this change actually helped. The metrics collected
were the timing events provided by Chrome DevTools:

* DOM Content Loaded (DCL) [1]
* Load (L) [2]
* First Paint (FP) [3]
* First Contentful Paint (FCP) [3]
* First Meaningful Paint (FMP) [3]

Here are the results (units in milliseconds):

Injected CSS:

| Run | DCL | L | FP | FCP | FMP |
| :--- | ---: | ---: | ---: | ---: | ---: |
| 1 | 1569.45 | 1570.97 | 1700.36 | 1700.36 | 1700.36 |
| 2 | 1517.37 | 1518.84 | 1630.98 | 1630.98 | 1630.98 |
| 3 | 1603.71 | 1605.31 | 1712.56 | 1712.56 | 1712.56 |
| 4 | 1522.15 | 1523.72 | 1629.3 | 1629.3 | 1629.3 |
| **Min** | 1517.37 | 1518.84 | 1629.3 | 1629.3 | 1629.3 |
| **Max** | 1603.71 | 1605.31 | 1712.56 | 1712.56 | 1712.56 |
| **Mean** | 1553.17 | 1554.71 | 1668.3 | 1668.3 | 1668.3 |
| **Std. dev.** | 33.41 | 33.43 | 38.16 | 38.16 | 38.16 |

External CSS:

| Run | DCL | L | FP | FCP | FMP |
| :--- | ---: | ---: | ---: | ---: | ---: |
| 1 | 1595.4 | 1598.91 | 284.97 | 1712.86 | 1712.86 |
| 2 | 1537.55 | 1538.99 | 199.38 | 1633.5 | 1633.5 |
| 3 | 1571.28 | 1572.74 | 268.65 | 1677.03 | 1677.03 |
| 4 | 1510.98 | 1512.33 | 206.72 | 1607.03 | 1607.03 |
| **Min** | 1510.98 | 1512.33 | 199.38 | 1607.03 | 1607.03 |
| **Max** | 1595.4 | 1598.91 | 284.97 | 1712.86 | 1712.86 |
| **Mean** | 1553.8025 | 1555.7425 | 239.93 | 1657.605 | 1657.605 |
| **Std. dev.** | 29.5375 | 30.0825 | 36.88 | 37.34 | 37.34 |

Unfortunately, using an external CSS file made no discernible improvement
to the overall page load time. DCM and L were practically identical, and
FCP and FMP were marginally better (well within error margins).

However, the first paint time was _dramatically_ improved. This change
seems worthwhile for the first paint time improvement alone. It also
allows us to delete some code and remove a dependency.

The old `css.js` module included two third-party CSS files as well, so
those have been imported into the main Sass file. This was easier than
bundling them in the gulpfile.

The resulting CSS bundle needs to be served from the root because we're
using a few `@include` rules that make this assumption. We could move
this under `/css/` if desired, but we'd need to update each of these
`@include` rules.

Relates to #6646

[1]: https://developer.mozilla.org/en-US/docs/Web/Events/DOMContentLoaded
[2]: https://developer.mozilla.org/en-US/docs/Web/Events/load
[3]: https://developers.google.com/web/fundamentals/performance/user-centric-performance-metrics
2019-07-23 14:10:13 -03:00
Mark Stacey
437132bf25
Replace deprecated Chrome API (#6895)
The function `chrome.extension.getURL` has been deprecated since Chrome
58 [1]. It is completely equivalent to `chrome.runtime.getURL`, which
has been around since Chrome 31.

[1]: https://developer.chrome.com/extensions/extension#method-getURL
2019-07-23 13:54:49 -03:00
Dan Finlay
4139019d0f
Version 6.7.3 (#6889) 2019-07-18 20:48:07 -07:00
Dan Finlay
aea54d1b86
Address resubmit bug (#6886)
* Add some notes

* Add explanatory comment and TODO

* Typo

* Improve verbage

* Remove contextual comment
2019-07-18 20:37:51 -07:00
Dan Finlay
a6deccd810 Fix resubmit bug 2019-07-18 19:23:03 -07:00
Mark Stacey
7357f011c3
Set minimum browser version in manifest (#6877)
Set the minimum browser version supported in the extension manifest.
Currently we only ship the extension on Chrome and Firefox, so the
minimum version has been set for those two browsers.

Relates to #6805
2019-07-18 18:16:30 -03:00
Dan Finlay
78cdee23c0
Abstract domain provider from its stream transport (#6670)
* Abstract domain provider from its stream transport

Creating new provider-consuming extensions, like [a new
platform](https://github.com/MetaMask/metamask-extension/blob/develop/docs/porting_to_new_environment.md)
can be frustrating for new contributors because our provider
construction has been tangled with our streaming interface.

Here I've broken up our streaming domain connection from the provider
construction, so developers can more easily construct local and
domain-restricted providers without dealing with streams.

* Abstract public API from stream interface

* clean up noop

* Document non-streaming interface

* getSiteMetadata must be async

* Clean up filters on stream end

* Document cleaning up filters

* Allow named filterMiddleware to be cleaned up

* Linted

* Require site metadata

* Destroy any destroyable middleware during cleanup

* Lint
2019-07-15 16:28:04 -07:00
Mark Stacey
32fffe53f5
Remove Drizzle tests (#6855)
The Drizzle tests have not been used for some time. They were used to
ensure compatibility with newer versions of `web3` v1. If we want to
re-add tests to ensure compatibility with newer `web3` versions, we
should find some way of doing that more reliably than was done here -
these tests were somewhat flaky and unreliable.
2019-07-15 17:10:46 -03:00
Mark Stacey
04ae92a2c0
Lint .json files (#6852)
We've been using the `eslint-plugin-json` plugin for some time, but we
haven't been visiting `.json` files in the lint script. The lint script
has now been updated to incude `.json` files, which means any invalid
JSON will result in a lint error.

Unfortunately this JSON plugin doesn't seem to apply the other eslint
rules (such as `key-spacing`) to the JSON files. I wasn't able to find a
way to get that to work. Instead I manually auto-formatted each of the
locale `message.json` files, which fixed many whitespace
inconsistencies.

The `states.json` file was deleted completely, as it appears to be
unused. It wasn't a valid JSON file anyway, it was JavaScript. It looks
like a `states.js` file is automatically generated, but an old copy was
accidentally saved as `states.json` and included in the repo.

Many duplicate key errors were found and fixed in the
`development/states/` JSON files.

`package-lock.json` was added to `.eslintignore` because it was very
slow to lint, and linting it doesn't provide much value.
2019-07-15 11:03:22 -03:00
Terry Smith
ded3dc1381 Add translation support for Learn more and All done on end-of-flow (#6847) 2019-07-14 23:22:20 -03:00
Thomas Huang
96a12a627e
Merge pull request #6832 from MetaMask/master-rebased
Master rebased
2019-07-12 10:58:19 -07:00
Saxon Knight
1ca23078c4 Fix wording in readdToken message (#6837)
- Removes extra "go" in
  app/_locales/en/messages.json's readdToken
  message
2019-07-11 11:34:07 -02:30
Whymarrh Whitby
f0218bdbbb
Rename accountManager usages (#6790)
Co-Authored-By: Mark Stacey <markjstacey@gmail.com>
2019-07-10 16:31:48 -02:30
filmendless
45534d9908 [ImgBot] Optimize images (#1) (#6829)
*Total -- 5,450.78kb -> 4,473.66kb (17.93%)

/images/404.png -- 38.48kb -> 11.19kb (70.91%)
/images/deadface.png -- 8.14kb -> 4.50kb (44.67%)
/images/cancel.png -- 10.67kb -> 6.04kb (43.38%)
/app/images/key-32.png -- 1.08kb -> 0.68kb (37.66%)
/app/images/coinswitch_logo.png -- 3.06kb -> 1.94kb (36.43%)
/images/info-logo.png -- 31.80kb -> 20.43kb (35.77%)
/docs/transaction-flow.png -- 137.82kb -> 91.38kb (33.7%)
/ui/design/metamask-logo-eyes.png -- 142.65kb -> 94.94kb (33.45%)
/images/coinbase logo.png -- 9.55kb -> 6.43kb (32.64%)
/ui/design/chromeStorePics/screen_dao_accounts.png -- 505.47kb -> 347.03kb (31.34%)
/docs/architecture.png -- 136.94kb -> 94.15kb (31.25%)
/ui/design/chromeStorePics/screen_dao_locked.png -- 280.38kb -> 199.54kb (28.83%)
/app/images/logo.png -- 6.43kb -> 4.58kb (28.81%)
/ui/design/chromeStorePics/screen_wei_account.png -- 638.31kb -> 469.17kb (26.5%)
/images/pw-128x128.png -- 92.76kb -> 69.18kb (25.42%)
/app/images/pw128x128.png -- 92.76kb -> 69.18kb (25.42%)
/app/images/shapeshift logo.png -- 17.13kb -> 13.54kb (20.92%)
/ui/design/02b-metamask-AccDetails-Send.jpg -- 107.56kb -> 92.00kb (14.46%)
/images/icon-128.png -- 5.63kb -> 4.82kb (14.45%)
/ui/design/chromeStorePics/icon-128.png -- 5.63kb -> 4.82kb (14.45%)
/ui/design/02a-metamask-AccDetails.jpg -- 114.81kb -> 99.73kb (13.14%)
/ui/design/02a-metamask-AccDetails-OverTransaction.jpg -- 119.21kb -> 103.65kb (13.06%)
/ui/design/02a-metamask-AccDetails-OverToken.jpg -- 118.99kb -> 103.62kb (12.92%)
/ui/design/wireframes/metamask_wfs_jan_13.png -- 409.24kb -> 357.28kb (12.7%)
/ui/design/chromeStorePics/screen_dao_notification.png -- 289.55kb -> 254.49kb (12.11%)
/ui/design/05-metamask-Menu.jpg -- 127.21kb -> 111.93kb (12.01%)
/app/images/ethereum-metamask-chrome.png -- 58.62kb -> 51.86kb (11.52%)
/ui/design/chromeStorePics/final_screen_dao_accounts.png -- 243.86kb -> 217.46kb (10.82%)
/ui/design/chromeStorePics/promo1400560.png -- 255.51kb -> 228.52kb (10.56%)
/images/icon-512.png -- 41.09kb -> 36.95kb (10.08%)
/ui/design/chromeStorePics/promo920680.png -- 201.87kb -> 181.88kb (9.9%)
/ui/design/chromeStorePics/final_screen_wei_account.png -- 247.44kb -> 223.83kb (9.54%)
/ui/design/chromeStorePics/final_screen_dao_locked.png -- 215.13kb -> 196.06kb (8.87%)
/ui/design/chromeStorePics/final_screen_dao_notification.png -- 209.38kb -> 192.76kb (7.94%)
/ui/design/00-metamask-SignIn.jpg -- 56.49kb -> 53.22kb (5.79%)
/ui/design/03-metamask-Qr.jpg -- 64.50kb -> 60.89kb (5.6%)
/ui/design/01-metamask-SelectAcc.jpg -- 74.28kb -> 70.34kb (5.3%)
/ui/design/02-metamask-AccDetails.jpg -- 74.00kb -> 70.15kb (5.21%)
/ui/design/chromeStorePics/promo440280.png -- 56.12kb -> 53.92kb (3.93%)
/app/images/icon-64.png -- 3.49kb -> 3.40kb (2.66%)
/ui/design/chromeStorePics/icon-64.png -- 3.49kb -> 3.40kb (2.66%)
/images/pw-48x48.png -- 3.20kb -> 3.16kb (1.34%)
/ui/design/chromeStorePics/final_screen_wei_notification.png -- 189.32kb -> 187.93kb (0.73%)
/images/icon-32.png -- 1.69kb -> 1.68kb (0.46%)
2019-07-10 11:37:20 -03:00
Brian Soule
fabba27b78 Capitalized speed up label to match rest of UI (#6828) 2019-07-10 09:26:20 -03:00
Dan J Miller
32a3f5ad7b
Address various UI styling issues (#6744)
* Add loading spinner to pending tx status label.

* Add border around account icon in top right

* Change style of settings toggle buttons; wrap with local components

* Eliminate large space after settings labels when no description

* Remove network form from advanced tab of settings

* Keep new account container height to contents when in full screen
2019-07-08 15:28:35 -02:30
Mark Stacey
95f198550e
Declare variables before use (#6806)
While working on #6805, I noticed that many variables were being used
before they were declared. Technically this worked fine in practice
because we were using the `transform-es2015-block-scoping` Babel plugin,
which transforms `let` and `const` to `var`, which is hoisted. However,
after removing that Babel transformation, many things broke.

All instances of variables or classes being used before declared have
been fixed.

The `no-use-before-define` eslint rule has been added to catch these
cases going forward. The rule is disabled for function declarations for
the moment, because those are always hoisted. We could disable that too
if we want to, but it's purely stylistic and would require a lot more
changes.
2019-07-05 14:01:34 -03:00
Dan J Miller
05e2120814 Version 6.7.2 gas limit fix (#6786)
* Introduce delay for eth_estimateGas calls with in test

* Add test that fails when gas estimates of contract method calls without gas are too high.

* Get transaction gas data from unApprovedTxs instead of confirmTransaction

* Fix selection of gas data in gas-modal-page-container.container

* Lint changes related to Version-6.7.2-gasLimitFix

* Fix e2e tests on Version-6.7.2-gasLimitFix

* Fix unit and integration tests for changes from Version-6.7.2-gasLimitFix

* more e2e fixes

* Add assertions for transaction values on confirm screen

* Fix display of transaction amount on confirm screen.
2019-07-04 14:14:03 -02:30
Dan Finlay
397e0d128d Version 6.7.2 RC1 2019-07-04 14:14:03 -02:30
Whymarrh Whitby
df17853502
Remove UiMigrationAnnouncement and associated state (#6794) 2019-07-04 12:21:21 -02:30
Dan J Miller
632c9b21e2 Version 6.7.2 gas limit fix (#6786)
* Introduce delay for eth_estimateGas calls with in test

* Add test that fails when gas estimates of contract method calls without gas are too high.

* Get transaction gas data from unApprovedTxs instead of confirmTransaction

* Fix selection of gas data in gas-modal-page-container.container

* Lint changes related to Version-6.7.2-gasLimitFix

* Fix e2e tests on Version-6.7.2-gasLimitFix

* Fix unit and integration tests for changes from Version-6.7.2-gasLimitFix

* more e2e fixes

* Add assertions for transaction values on confirm screen

* Fix display of transaction amount on confirm screen.
2019-07-03 13:33:44 -07:00
Mark Stacey
865321d269
Update asmcrypto.js to latest version (#6767)
This silences a warning message that was printed to the console whenever
this module was loaded during tests.

The API changes between these two versions were reviewed carefully for
differences. The only difference made was to `PBKDF2_HMAC_SHA256.bytes`,
which was replaced by `Pbkdf2HmacSha256`.

The length argument no longer has a default value, so it has been set
to match what the default value was in the previous version we used,
which is 32 (the SHA256 hash size).
2019-07-02 22:16:20 -03:00
Akshit Kr Nagpal
687984a938 Added Confirmation Modal for Delete Network (#6776) 2019-07-02 09:43:02 -02:30
Dan Finlay
e768ed9b16 Version 6.7.2 RC1 2019-07-01 13:03:57 -07:00
Dan Finlay
448720327b
Merge pull request #6765 from MetaMask/master
Using admin privilege to bypass code owner review because it has already [been reviewed](https://github.com/MetaMask/metamask-extension/pull/6763) and those code owners are out today.
2019-07-01 10:58:25 -07:00
Akshit Kr Nagpal
d16d6f483c Validate txParams in TransactionStateManager.addTx (#6713)
* Normalize and Validate txParams in TransactionStateManager.addTx too

* Added Tests

* Updated normalizeAndValidateParams to return the new txParams
2019-06-29 00:51:51 +02:00
Mark Stacey
56088d8370 Version 6.7.1 2019-06-28 02:08:18 -03:00
Thomas
84c28896a6 Version 6.7.0 2019-06-25 12:43:38 -07:00
Mark Stacey
313def1ce2 Remove shapeshift deposit form (#6746)
Closes #6478
2019-06-24 14:17:48 -02:30
Chi Kei Chan
a257a73172
Add loading view to notification.html (#6648) 2019-06-19 14:22:02 -07:00
frankiebee
5cf5359e78 transactions - always hexprefix txParams on update; fixes #6724 2019-06-19 14:36:24 +02:00
Thomas Huang
3f8f2a9ae1
Merge branch 'develop' into Version-6.6.2 2019-06-17 10:26:57 -07:00
Dan J Miller
18179fd345 Add delete to custom RPC form (#6718, #6650) 2019-06-17 11:35:47 -02:30
Thomas Huang
6fb0d4af27 Wrap smaller custom block explorer url text (#6714) 2019-06-17 08:32:12 -02:30
Chi Kei Chan
9a1a207ffa
MetaMorph - Spacing and Typeface on Extension Main view (#6584)
* wip

* Style Update: Mobile App Header

* wip

* Style Update: mobile menu-bar

* Style Update: Primary and Secondary balance on mobile main view

* Style Update: Spacing for transaction-list and transaction-list-item

* Address PR Comments

* Fix full-width view

* line-height fixes
2019-06-12 19:56:04 -07:00
Dan Finlay
4f8bfded79 Version 6.6.2 RC1 2019-06-07 10:37:12 -07:00
Dan Finlay
94efbfaa1c Version 6.6.1 RC1 2019-06-06 10:37:50 -07:00
Dan Finlay
f9ce7485bd Version 6.6.0 RC1 2019-06-03 13:14:52 -07:00
Dan Finlay
c269a8e9f6
Revert "Remove clipboardWrite permission" 2019-06-03 11:50:26 -07:00
Paul Bouchon
47024fd9a5
feature: integrate gaba/CurrencyRateController (#6570) 2019-05-31 18:14:22 -04:00
Dan Finlay
44616befc7
Merge pull request #6654 from whymarrh/manifest-permissions
Remove clipboardWrite permission
2019-05-31 14:11:01 -07:00
bitpshr
e8f6dff0be bugfix: reject enable promise on user rejection 2019-05-31 16:07:58 -04:00
pldespaigne
9a658ee53d merge 2019-05-30 18:22:55 +02:00
Whymarrh Whitby
c193b057a9 Remove clipboardWrite permission 2019-05-23 16:24:17 -02:30
Frankie
2b5c7b82a9
transactions/deps - use broken out nonce-tracker module (#6555) 2019-05-21 17:17:09 +02:00
Chi Kei Chan
e0c11371a9 Fix grammatical error in i18n endOfFlowMessage6 (#6633) 2019-05-21 10:29:09 -02:30
matteopey
cfee7e8bb4 Update translation (#6628) 2019-05-20 14:22:05 -02:30
Dan Finlay
8bd27f50b0 Version 6.5.3 RC1 2019-05-16 08:54:43 -07:00
bitpshr
8c0bc7b3e2 bugfix: show extension window if locked regardless of approval 2019-05-16 10:53:37 -04:00
Frankie
a34103987a
drop transactions who's nonce is lower then the known network nonce but were not included in a block (#6388)
* transactions/pending - check nonce against the network and mark as dropped if not included in a block

* transactions/pending - unifiy "dropped" txs

* transactions/pending - test - fix for new expected behavior

* fix comment

* transactions/pending - clean up dropped event

* fix spelling

Co-Authored-By: frankiebee <frankie.diamond@gmail.com>

* nit fix

* test/tx-pending - clarify test description
2019-05-16 07:36:53 +02:00
Dan J Miller
c043132b00
Adds e2e test for removing imported accounts. (#6615) 2019-05-15 14:10:11 -02:30
Thomas Huang
7ff1857156 Version Bump 2019-05-15 02:16:05 -07:00
Bruno Barbieri
1d2cf52b64 Fixes bugs in 6.5.1 (#6613)
* fix bg error

* fix ui exception
2019-05-15 10:53:09 +02:00
Dan Finlay
985f51a764
Merge pull request #6605 from MetaMask/Version-6.5.1
Version 6.5.1
2019-05-14 12:39:44 -07:00
Paul Bouchon
e57ffbed59
feature: integrate gaba/ShapeShiftController (#6569) 2019-05-14 14:38:55 -04:00
Dan Finlay
3d715e5cf9 Version 6.5.1 RC1 2019-05-14 11:25:51 -07:00
Dan J Miller
b81c4e5c98 Set a default value for code in _determineTransactionCategory (#6604)
* Set a default value for code in _determineTransactionCategory

* Adds e2e tests that fail when token txs without gas param are not properly handled.

* Adds unit tests for _determineTransactionCategory

* Base error throwing and simple gas setting in estimateTxGas on transactionCategory
2019-05-14 14:14:07 -04:00
Thomas Huang
3b01ba8741
Merge pull request #6596 from MetaMask/Version-6.5.0
Version 6.5.0
2019-05-13 10:12:16 -07:00
Whymarrh Whitby
28c4001f52 Update auto-logout to recognize idle time in background (#6593)
* Fix wording of autoLogoutTimeLimitDescription

* AppStateController and update auto-logout functionality
2019-05-13 13:46:09 -02:30
Dan Finlay
25323c8e18 Version 6.5.0 RC1 2019-05-10 15:38:32 -07:00
Thomas Huang
08e8fb21dc
Merge pull request #6568 from MetaMask/feature/gaba-phishing-controller
feature: integrate gaba/PhishingController
2019-05-10 13:43:20 -07:00
Dan J Miller
13be683701
New settings custom rpc form (#6490)
* Add networks tab to settings, with header.

* Adds network list to settings network tab.

* Adds form to settings networks tab and connects it to network list.

* Network tab: form adding and editing working

* Settings network form properly handles input errors

* Add translations for settings network form

* Clean up styles of settings network tab.

* Add popup-view styles and behaviour to settings network tab.

* Fix save button on settings network form

* Adds 'Add Network' button and addMode to settings networks tab

* Lint fix for settings networks tab addition

* Fix navigation in settings networks tab.

* Editing an rpcurl in networks tab does not create new network, just changes rpc of old

* Fix layout of settings tabs other than network

* Networks dropdown 'Custom Rpc' item links to networks tab in settings.

* Update settings sidebar networks subheader.

* Make networks tab buttons width consistent with input widths in extension view.

* Fix settings screen subheader height in popup view

* Fix height of add networks button in popup view

* Add optional label to chainId and symbol form labels in networks setting tab

* Style fixes for networks tab headers

* Add ability to customize block explorer used by custom rpc

* Stylistic improvements+fixes to custom rpc form.

* Hide cancel button.

* Highlight and show network form of provider by default.

* Standardize network subheader name to 'Networks'

* Update e2e tests for new settings network form

* Update unit tests for new rpcPrefs prop

* Extract blockexplorer url construction into method.

* Fix broken styles on non-network tabs in popup mode

* Fix block explorer url links for cases when provider in state has not been updated.

* Fix vertical spacing of network form

* Don't allow click of save button on network form if nothing has changed

* Ensure add network button is shown in popup view

* Lint fix for networks tab

* Fix block explorer url preference setting.

* Fix e2e tests for custom blockexplorer in account details modal changes.

* Update integration test states to include frequentRpcList property

* Fix some capitalizations in en/messages.json

* Remove some console.logs added during custom rpc form work

* Fix external account link text and url for modal and dropdown.

* Documentation, url validation, proptype required additions and lint fixes on network tab and form.
2019-05-09 14:57:14 -02:30
bitpshr
77d3bc252d feature: integrate gaba/PhishingController 2019-05-08 17:56:52 -04:00
Whymarrh Whitby
094e4cf555 Check for unused function arguments (#6583)
* eslint: Check for unused function arguments

* eslint: Ignore unused '_' in argument list

Also allow any number of '_' e.g., '__' or '___' which is to be used sparingly

* Remove and rename unused arguments
2019-05-08 15:51:33 -04:00
Dan J Miller
ef8a07c2ce
Adds a transactionCategory to txMeta for use in UI (#6567)
* Adds a transactionCategory to txMeta for use in UI

* Update transaction controller and tx-gas-util documentation on new code param in multiple functions.
2019-05-08 16:48:33 -02:30
Chi Kei Chan
56ed189aeb
Auto logout after specific time (#6558)
* Add i18n strings

* Finish Auto timeout

* Fix linter

* Fix copies

* Add unit test to Advanced Tab component

* Add back actions and container

* Add basic test to ensure container completeness

* No zero, fix linters

* restrict negative in input
2019-05-08 11:57:21 -07:00
pldespaigne
2d58cfc7a0 refactor & change html pages 2019-05-04 18:57:19 +02:00
pldespaigne
987e58d103 add rinkeby & goerli 2019-05-04 18:56:45 +02:00
kumavis
2845398c3d Refactor ProviderApprovalController to use rpc and publicConfigStore (#6410)
* Ensure home screen does not render if there are unapproved txs (#6501)

* Ensure that the confirm screen renders before the home screen if there are unapproved txs.

* Only render confirm screen before home screen on mount.

* inpage - revert _metamask api to isEnabled isApproved isUnlocked
2019-05-03 13:32:05 -04:00
Thomas Huang
c7492f4f54 Include token checksum address in prices lookup for token rates (#6526) 2019-04-30 14:19:58 -02:30
Dan J Miller
4fea9d0cc2
Send metrics event from backend for on chain transaction failures (#6500)
* Send metrics event from backend for on chain transaction failures

* Passes state object to backEndMetaMetricsEvent, and adds getMetaMetricState selector
2019-04-29 03:48:40 -02:30
Dan Finlay
a56fc14122 Version 6.4.1 RC1 2019-04-26 10:28:39 -07:00
Sneh Koul
6a60562d66 Opens the original webpage from where installation of MetaMask was re… (#6272)
* Opens the original webpage from where installation of MetaMask was requested

* Asking for dynamic permissions

* code for forwarder/without extra permissions

* Lint fix for onboardingComplete message sending code.
2019-04-24 10:49:38 -07:00
Dan Finlay
49d77415db Version 6.4.0 RC1 2019-04-18 08:34:24 -06:00
Chi Kei Chan
931aaeb700 Add token selection to the send screen (#6445)
* Move send to pages/

* Fix unit tests

* Finish UI

* Integrate asset dropdown to send actions

* Remove console.log

* Hide asset change during edit

* Enable switch from send token to seand eth

* Enable switching from token to eth when editing

* Fix linter

* Fixing test

* Fix unit tests

* Fix linter

* Fix react warning; remove console.log

* fix flat test

* Add metrics

* Address code review comments

* Consistent spacing between send screen form rows.

* Reduce height of gas buttons on send screen.

* Make send screen gas button height dependent on size of contents.
2019-04-17 16:45:13 -02:30
Paul Bouchon
0db0a187c8 feature: add Goerli support (#6459) 2019-04-17 15:04:49 -02:30
Thomas Huang
00133d31b1
Merge pull request #6444 from MetaMask/localhost-network-dropdown
Fixes #6321 & #6421 - Add Localhost 8545 for network dropdown names
2019-04-16 14:39:00 -05:00
Thomas Huang
33836c0463 Set rpcTarget, nickname, and ticker when selecting one of the default networks 2019-04-16 11:15:53 -06:00
Paul Bouchon
a973a7420a
feature: switch token pricing to CoinGecko API (#6424) 2019-04-10 18:37:15 -04:00
Thomas Huang
d7a2ea9a2b Add Localhost 8545 for network dropdown names 2019-04-10 16:34:13 -05:00
Whymarrh Whitby
24761326de
Don't inject web3 on sharefile.com 2019-04-09 14:14:04 -02:30
Dan J Miller
79804ec79b Version 6.3.2 (#6418) 2019-04-08 11:22:23 -07:00
kumavis
d610dfa870
Merge pull request #6401 from MetaMask/provider-error-fix
metamask-controller - use improved provider-as-middleware utility
2019-04-05 11:13:51 +08:00
Jenny Pollack
98a2fb43fb
Merge pull request #6406 from MetaMask/remove-user-actions-controller
remove user actions controller
2019-04-04 17:30:39 -07:00
pldespaigne
dc4c40414e issue#5742 2019-04-04 17:15:57 +02:00
kumavis
89693a2315 metamask-controller - use improved provider-as-middleware utility 2019-04-04 22:11:28 +08:00
pldespaigne
b26a59dbbe renaming registrar into registry 2019-04-04 14:07:24 +02:00
Thomas Huang
a46ec83c9b Remove NoticeController (#6382) 2019-04-01 22:33:54 -02:30
Thomas Huang
87f393eb31
Merge pull request #6375 from MetaMask/Version-6.3.1
Version 6.3.1
2019-03-29 13:27:16 -05:00
Dan Miller
57bcf1449c Version 6.3.1 2019-03-29 15:23:55 -02:30
Chi Kei Chan
adcf03eacc About tab copy changes; Update route for Info & Help in account menu (#6356) 2019-03-29 13:54:03 -02:30
Whymarrh Whitby
125a95ba71
Merge pull request #6364 from MetaMask/prevent-infura-requests-e2e-tests
Prevent infura requests in e2e tests
2019-03-29 11:27:05 -02:30
kumavis
c3a605f27a
Merge pull request #6328 from MetaMask/clearNotices
Clear notices
2019-03-29 14:23:02 +08:00
kumavis
846038a69c notice-controller - make markAllNoticesRead sync 2019-03-29 12:39:29 +08:00
kumavis
e04f0c877b lib - nodeify - correctly wrap synchronous functions 2019-03-29 12:37:40 +08:00
kumavis
a64855ef49 notices - markAllNoticesRead - use async/await 2019-03-29 12:03:31 +08:00
kumavis
781a39c039 Merge branch 'develop' into clearNotices 2019-03-29 11:54:12 +08:00
kumavis
e4b5556c05 buy-eth-url - lint fix 2019-03-29 10:53:46 +08:00
kumavis
2c3fc18573 buy-eth-url - fix variable name 2019-03-29 10:37:16 +08:00
kumavis
38b85adbe0 Merge branch 'develop' of https://github.com/vimalsagar/metamask-extension into vimalsagar-develop 2019-03-29 10:20:19 +08:00
kumavis
0ae68d1a61
getBuyEthUrl - getDefaultServiceForNetwork then switch on service 2019-03-29 10:03:35 +08:00
Dan Miller
10097b6a11 Default to localhost network when running e2e tests 2019-03-28 16:20:11 -02:30
Dan J Miller
91c4c3bdce Version 6.3.0 (#6350) 2019-03-26 10:03:15 -07:00
Thomas Huang
2a0b98492a enable privacy mode for first time users (#6347) 2019-03-26 12:37:53 -02:30
Jenny Pollack
e09e54bebb remove user actions controller 2019-03-25 23:27:36 -10:00
Dan J Miller
2f13a97d00
Cancel error rebased (#6341)
* Check balance before showing cancel

* Fix linter

* Use existing helper methods for calculating increased cancel price

* Add tooltip for disabled button

* Lint fix for cancelError branch.

* Disabling of cancel button should account for value of tx.
2019-03-25 13:55:23 -02:30
Dan J Miller
961ad267df
New settings page rebased (#6333)
* New setting tab

* Add InfoTab

* Add Advanced tab

* Add Security Tab

* Finish mobile view

* Make new setting page responsive

* Fix linter

* Fix y scrolling

* Update link in network dropdown

* Fix e2e tests

* Remove duplicate translation key

* Resolve merge conflict

* Only change settings header in popup view.

* Place mobile-sync button in advanced-tab of settings
2019-03-25 13:43:23 -02:30
Dan J Miller
4ff9126ff2
Replaces the coinbase link in the deposit modal with one for wyre (#6302) 2019-03-22 12:32:07 -02:30
Dan J Miller
468bc96bdf
Hide gas price chart and prevent api call when not on ethereum networks. (#6300)
Add missing translations in gas customization modal
2019-03-22 12:20:12 -02:30
Chi Kei Chan
31175625b4 Folder restructure (#6304)
* Remove ui/app/keychains/

* Remove ui/app/img/ (unused images)

* Move conversion-util to helpers/utils/

* Move token-util to helpers/utils/

* Move /helpers/*.js inside /helpers/utils/

* Move util tests inside /helpers/utils/

* Renameand move confirm-transaction/util.js to helpers/utils/

* Move higher-order-components to helpers/higher-order-components/

* Move infura-conversion.json to helpers/constants/

* Move all utility functions to helpers/utils/

* Move pages directory to top-level

* Move all constants to helpers/constants/

* Move metametrics inside helpers/

* Move app and root inside pages/

* Move routes inside helpers/

* Re-organize ducks/

* Move reducers to ducks/

* Move selectors inside selectors/

* Move test out of test folder

* Move action, reducer, store inside store/

* Move ui components inside ui/

* Move UI components inside ui/

* Move connected components inside components/app/

* Move i18n-helper inside helpers/

* Fix unit tests

* Fix unit test

* Move pages components

* Rename routes component

* Move reducers to ducks/index

* Fix bad path in unit test
2019-03-21 20:33:30 -02:30
Josh Stevens
2aaec1d9fb Stop reloading dapps on network change allowing dapps to decide if it should refresh or not (#6330)
* feat: `inpageProvider.autoRefreshOnNetworkChange` to allow dapps to control if it refreshes or not

* feat: check the `autoRefreshOnNetworkChange` before a refresh

* fix linting error

* fix: use `window.ethereum` now `web3.ethereum`
2019-03-21 12:42:23 -07:00
Thomas Huang
c43374a553 Clear notices when setCompletedOnboarding is called 2019-03-20 20:26:48 -05:00
Thomas Huang
00c52d537c Fix typos in English messages (#6317) 2019-03-18 21:01:26 -02:30
William Monti Souza
98699fbbc0 Fixes popups not showing when screen size is odd (#6312) 2019-03-17 18:30:51 -02:30
Whymarrh Whitby
ea34d3b0ff Centre the notification in the current window (#6307) 2019-03-14 12:52:57 -05:00
Thomas Huang
5d565174b7 Patch/bump version (#6294) 2019-03-12 15:24:30 -07:00
kumavis
10691d7d33
Merge pull request #6271 from whymarrh/centre-notificatons
Centre all notification popups
2019-03-12 23:36:05 +08:00
bowbowbow
4812fdb7b9 Improve Korean translations (#6268) 2019-03-12 12:29:40 -02:30
Whymarrh Whitby
5bf8a36a87 Centre all notification popups 2019-03-12 11:37:14 -02:30
kumavis
48047f8194 mascara - remove from project (#6283) 2019-03-12 11:17:21 -02:30
Paul Bouchon
daae155ce2 GABA: Integrate AddressBookController (#5847)
* gaba: integrate AddressBookController

* pin gaba version and update lockfile
2019-03-11 18:40:41 -10:00
Thomas Huang
59dbb9babb
Merge pull request #6279 from MetaMask/notification-window
Nonmultiple notifications for batch txs
2019-03-11 16:54:00 -05:00
Thomas Huang
5abcce2be7 Version 6.2.1 (#6251) 2019-03-11 11:23:11 -07:00
Thomas Huang
43f5fd0716 Nonmultiple notifications for batch txs 2019-03-11 12:37:47 -05:00
Pedro Gutiérrez
858ab42fd6
Uppercase and context fixes on Spanish translation. 2019-03-07 10:54:53 +01:00
Dan J Miller
dc79456695 Version 6.2.0 (#6239)
* Version 6.2.0 RC1

* Update changelog.md for 6.2.0
2019-03-05 10:57:10 -08:00
Thomas Huang
7071acbf21 Fix typo 2019-03-05 12:00:39 -06:00
Dan J Miller
c757366355
Metametrics (#6171)
* Add metametrics provider and util.

* Add backend api and state for participating in metametrics.

* Add frontend action for participating in metametrics.

* Add metametrics opt-in screen.

* Add metametrics events to first time flow.

* Add metametrics events for route changes

* Add metametrics events for send and confirm screens

* Add metametrics events to dropdowns, transactions, log in and out, settings, sig requests and main screen

* Ensures each log in is measured as a new visit by metametrics.

* Ensure metametrics is called with an empty string for dimensions params if specified

* Adds opt in metametrics modal after unlock for existing users

* Adds settings page toggle for opting in and out of MetaMetrics

* Switch metametrics dimensions to page level scope

* Lint, test and translation fixes for metametrics.

* Update design for metametrics opt-in screen

* Complete responsive styling of metametrics-opt-in modal

* Use new chart image on metrics opt in screens

* Incorporate the metametrics opt-in screen into the new onboarding flow

* Update e2e tests to accomodate metametrics changes

* Mock out metametrics network requests in integration tests

* Fix tx-list integration test to support metametrics provider.

* Send number of tokens and accounts data with every metametrics event.

* Update metametrics event descriptor schema and add new events.

* Fix import tos bug and send gas button bug due to metametrics changes.

* Various small fixes on the metametrics branch.

* Add origin custom variable type to metametrics.util

* Fix names of onboarding complete actions (metametrics).

* Fix names of Metrics Options actions (metametrics).

* Clean up code related to metametrics.

* Fix bad merge conflict resolution and improve promise handling in sendMetaMetrics event and confrim tx base

* Don't send a second metrics event if user has gone back during first time flow.

* Collect metametrics on going back from onboarding create/import.

* Add missing custom variable constants for metametrics

* Fix metametrics provider

* Make height of opt-in modal responsive.

* Adjust text content for opt-in modal.

* Update metametrics event names and clean up code in opt-in-modal

* Put phishing warning step next to last in onboarding flow

* Link terms of service on create and import screens of first time flow

* Add subtext to options on the onboarding select action screen.

* Fix styling of bullet points on end of onboarding screen.

* Combine phishing warning and congratulations screens.

* Fix placement of users if unlocking after an incomplete onboarding import flow.

* Fix capitalization in opt-in screen

* Fix last onboarding screen translations

* Add link to 'Learn More' on the last screen of onboarding

* Code clean up: metametrics branch

* Update e2e tests for phishing warning step removal

* e2e tests passing on metametrics branch

* Different tracking urls for metametrics on development and prod
2019-03-05 12:15:01 -03:30
Thomas Huang
8e99a537ca Simplify 2019-03-04 17:47:48 -06:00
Thomas Huang
5a8221253e Improvement 2019-02-28 13:58:37 -06:00
Thomas Huang
973042bafa Show popup if notification or activeMMtab is true but not if popup is open 2019-02-28 13:24:48 -06:00
Vimal
ab5fe4d659 PR 5575 review comment fixes 2019-02-28 19:50:48 +05:30
Dan J Miller
cb2698d20e First time flow updates (#6192)
* Action select step of onboarding flow added.

* Update navigation on create and import password screens.

* Adds terms of service checkbox to create and import account screens.

* Add security warning to jazzicon intro step

* Update and streamline unique image to confirm seed steps of first time flow.

* UI touch ups to welcome screen.

* UI touch up on select action page

* Fix first time import flow.

* Add end of flow screen to first time flow

* Replace unique image screen with updated fishing warning screen.

* Update e2e tests for onboarding flow changes.

* Add required translations to onboarding flow.

* Update design of select action screen to emphasize create new wallet option.

* Clean up onboarding flow code.

* Remove notice related code from first-time-flow directory.

* Use updater function argument in new-account.component
2019-02-27 11:16:41 -03:30
Chi Kei Chan
a2320c76fe Show/Hide Fiat on Testnets based on User Preference (#6153) 2019-02-26 15:00:41 -03:30
Dan Finlay
f507f2a927 Feature Flag + Mobile Sync (#5955) 2019-02-25 15:40:13 -03:30
Jenny Pollack
c6e84ccf45 account tracker - update accounts from balanceChecker contract (#6181)
* account tracker - update accounts from balanceChecker contract

* fall back to getBalance if the contract query fails
2019-02-20 09:12:12 -10:00
Paul Bouchon
2f7d449427 EIP-1193: standard provider API (#6170)
* EIP-1193: Implement new provider API

* EIP-1193: Updated implementation

* Remove test file

* Fix tests

* Update ping check

* Update logic

* PR feedback
2019-02-19 16:42:08 -08:00
Dan J Miller
641f7c8f4b
Merge pull request #6183 from chikeichan/5171
Bring Popup to front when ui is tiggered
2019-02-19 20:59:02 -03:30
Dan Finlay
29b64bdb17 Version 6.1.0 RC1 2019-02-19 12:22:01 -08:00
Chi Kei Chan
24ed53bbf3 Change "Token Address" to "Token Contract Address" (#6182) 2019-02-19 16:22:09 -03:30
Chi Kei Chan
d9039f5292 Bring Popup to front when ui is tiggered 2019-02-18 20:34:29 -08:00
Graham Kaemmer
89c4353408 Fix inpage.js event handler memory leak (#6177)
Fixes #6176
2019-02-18 16:07:58 -05:00
Chi Kei Chan
b58a9bd202 Add Copy Tx ID button to transaction-list-item-details (#6146)
* Add Copy Tx ID button to transaction-list-item-details

* Move justCopied toggle timeout inside setState callback
2019-02-17 01:00:02 -03:30
Whymarrh Whitby
ce543f059e
Merge pull request #6137 from whymarrh/es6-background
Sprinkle ES6 onto background files
2019-02-14 10:43:56 -03:30
Jonathan Smirnoff
8dddf48904 Fixed issue #5838 (#6001)
Update changelog file
2019-02-13 10:30:46 -10:00
Thomas Huang
c54656efb7
Merge pull request #6124 from MetaMask/dissable-recent-block-controller
recent-blocks - dont listen for block when on infura providers
2019-02-12 11:42:29 -08:00
frankiebee
c10fb3ce3f fix typo 2019-02-12 09:05:06 -10:00
Whymarrh Whitby
ff292dcb70 Version 6.0.1 (#6141) 2019-02-12 08:33:40 -08:00
Whymarrh Whitby
92cc60f425 Update popup-core script to use ES6 destructuring, const, let 2019-02-12 10:36:15 -03:30
Whymarrh Whitby
ade96fda41 Update platforms/extension to use ES6 destructuring requires 2019-02-12 10:36:15 -03:30
Whymarrh Whitby
5d3aea7857 Update phishing-detect script to use ES6 destructuring requires 2019-02-12 10:36:15 -03:30
Whymarrh Whitby
d735439de9 Update NoticesController to use ES6 destructuring, const, let 2019-02-12 10:36:15 -03:30
Whymarrh Whitby
ae084cef6c Update MetaMaskController to use ES6 destructuring, const, let 2019-02-12 10:36:15 -03:30
Whymarrh Whitby
f5eb1512d4 Fix all "var used instead of let or const" problems in inpage.js 2019-02-12 10:36:15 -03:30
Whymarrh Whitby
3c915b0d7f Update contentscript to use ES6 destructuring, const, let 2019-02-12 10:36:15 -03:30
Whymarrh Whitby
969cf73fae Fix all "var used instead of let or const" problems in background.js 2019-02-12 10:36:15 -03:30
matteopey
7f9d8de4ce Update Italian translation (#6119) 2019-02-12 00:54:27 -03:30
S.C. Chen
f1048ad59a Improved Traditional Chinese translation (#6125) 2019-02-11 20:20:38 -08:00
frankiebee
7e64a578a4 recent-blocks - dont listen for block when on infura providers 2019-02-11 09:16:03 -10:00
Dan Finlay
140fcb4bf1
Version 6 RC1 (#6117)
* Version 6 RC1

* Make gas input feature more readable

* Update CHANGELOG.md with additional 6.0.0 changes
2019-02-11 10:19:07 -08:00
S.C. Chen
1a4203a8c6 Fix locale codes contains underscore will never be preferred (#6116) 2019-02-08 16:06:37 -03:30
Chi Kei Chan
798930afba Add Swap feature to CurrencyInput (#6091)
* Add Swap feature to CurrencyInput

* Fix linter error

* Fix and Add unit tests
2019-02-06 11:44:17 -03:30
Dan J Miller
38b91f63a2 Add togglable advanced gas controls on send and confirm screens (#6112)
* Extract advanced gas input controls to their own component

* Add advanced inline gas toggle to settings

* Add optional advanced inline gas to send send screen

* Adds optional advanced gas inputs to the confirm screen

* Add info modals for advanced gas inputs.

* Fix translation of advance gas toggle description.

* Lint and unit test fixes for inline-advanced-gas-inputs

* Increase margin above advanced options button on send screen

* Move methods from constructor to property syntax in advanced-gas-inputs.component
2019-02-05 16:24:28 -08:00
Whymarrh Whitby
59a5f550e4 Update design of phishing warning screen 2019-02-05 13:18:24 -03:30
Whymarrh Whitby
f3a7054f6b Add announcement for users migrated to the new UI 2019-02-05 08:49:55 -03:30
Whymarrh Whitby
c52ba96b85 Remove betaUI preference state, replace with completedUiMigration 2019-02-05 08:49:55 -03:30
Whymarrh Whitby
a7a6318c13 Default to the new UI for all users 2019-02-05 08:49:55 -03:30
Whymarrh Whitby
7bbd6e7039 Version 5.3.5 (#6109) 2019-02-04 12:04:43 -08:00
Bruno Barbieri
cc03a7db6a
Privacy mode fixes (#6087)
* Version 5.3.4 RC1

* fix old ui approval screen

* fix error caused by meshtesting iframe

* fix linter errors
2019-02-01 14:05:46 -05:00
Dan Finlay
015414c31d
Version 5.3.4 RC1 (#6084) 2019-01-31 10:27:58 -08:00
Frankie
4e27b644ab fix - migration 30 undefinds (#6079) 2019-01-31 10:09:28 -08:00
Dan Finlay
5c49ce77bd Version 5.3.3 RC1 2019-01-30 10:45:42 -08:00
Paul Bouchon
db776b5a02 EIP-1102 updates (#6006)
* Update privacy notice

* Respond to 1102 messages using tab ID
2019-01-30 10:27:33 -08:00
Pedro Gutiérrez
79cd40b979 Improved Spanish translations (#6072) 2019-01-30 14:45:27 -03:30
Dan J Miller
02bdbbbc3e Add visual indicator when displaying a cached balance (#5854) 2019-01-30 08:46:12 -03:30
Frankie
df3169d1c7
I#5956 fix2 dont overwrite existing rpc settings (#6044)
* mm-controller - dont overwrite existing rpc settings

* ui-networkDropdown - dont pass old network as chainId

* add methods preferencesController.updateRpc and metamaskController.updateAndSetCustomRpc

* use updateAndSetCustomRpc in settings to allow rpcs to be updated

* use new rpc as nickname if no nick name has been supplied

* fix update rpc method
2019-01-29 08:13:51 -10:00
Dan Finlay
98d5b4d632
Version 5.3.2 RC1 (#6069) 2019-01-28 11:14:32 -08:00
Jenny Pollack
456bfaf9ed add source for header in create infura client (#6023)
* add source for header in create infura client

* bump eth-json-rpc-infura
2019-01-24 14:56:55 -10:00
Alexander Tseung
fba17d77de Refactor first time flow, remove seed phrase from state (#5994)
* Refactor and fix styling for first time flow. Remove seed phrase from persisted metamask state

* Fix linting and tests

* Fix translations, initialization notice routing

* Fix drizzle tests

* Fix e2e tests

* Fix integration tests

* Fix styling

* Fix migration naming from 030 to 031

* Open extension in browser when user has not completed onboarding
2019-01-23 11:55:34 -03:30
oliver renwick
69fcfa427b Updated Spanish translations (#6046)
* up to E's in translation, starting from about 60% incomplete
* Spanish at 100%
* Integrating changes as suggested by fernandomg
* with updates from Herman and Esteban.
2019-01-23 11:54:27 -03:30
Esteban Miño
1d93d9a385 Prevent send to token (#6051)
* check contact metadata

* check for tokens in state

* tests

* update tests

* validation only if sending tokens

* container test
2019-01-22 11:05:59 -08:00
Bruno Barbieri
2cfea0b788 fix asset detection (#6049) 2019-01-22 10:23:11 -08:00
Esteban Miño
e21dfd1862 Use Parity on-chain registry only when is needed (#6052)
* add and use knownMethodData to avoid infura requests

* dataMethod to methodData and check empty response
2019-01-22 10:22:56 -08:00
Frankie
0ad7797076
I#5956 fix 1 (#6026)
* prevent invalid chainId's when adding cusstom rpcs

* migration 30 removes invalid chaids from preferences and networkController for custom rpcs
2019-01-17 09:10:33 -10:00
Alexander Tseung
de0ac53008 Fix grammar error in Current Conversion (#6029) 2019-01-17 11:37:38 -03:30
Dan Finlay
72775340bb Version 5.3.1 RC2 2019-01-16 11:25:41 -08:00
Thomas Huang
42e67295f4
Merge pull request #5966 from filips123/patch-1
Update Slovenian translation
2019-01-10 11:39:25 -08:00
Thomas Huang
3bd3e640b4 Set auto conversion off for token/eth conversion (#6005) 2019-01-10 10:36:30 -08:00
Filip Š
7ff8d6c6b1 Merge branch 'develop' of https://github.com/MetaMask/metamask-extension into patch-1 2019-01-10 14:27:21 +01:00
Dan Finlay
58f55eeca9
Refine app description
Should help SEO on the chrome store.
2019-01-05 11:10:47 -08:00
Wathis
089fd5f430 Wrong french translation
Changing "Connection" by "Connexion"
2019-01-04 08:21:03 -03:30
Thomas Huang
cdb202a65e
Merge pull request #5987 from MetaMask/Version-5.3.0
Version 5.3.0 RC1
2019-01-03 13:29:07 -08:00
Thomas Huang
9b0b2f32f7
Merge pull request #5992 from MetaMask/i5140-accounts
Add scrolling button to account list
2019-01-03 13:28:36 -08:00
Alexander Tseung
0b4469b842 Add scrolling button to account list 2019-01-03 11:22:38 -08:00
Paul Chonpimai
9de32722b8 fix typo in phishing.html title 2019-01-03 14:31:53 +07:00
Dan Finlay
da7208c16d Version 5.3.0 RC1 2019-01-02 16:44:59 -08:00
brunobar79
c49d975687 fix extension link 2019-01-02 19:03:35 -05:00
Bruno Barbieri
701bc1cbd1
Fix etherscan links on notifications 2018-12-28 17:34:26 -05:00
Filip Š
dc2d16ca47
Update Slovenian translation 2018-12-26 16:52:20 +01:00
Frankie
b5d6452454
Disallow loading as metamaskNetworkId (#5924)
* transactions - throw an error if a transaction is generated while the network is loading

* add tests for failing when netId is loading
2018-12-13 09:14:46 -10:00
Dan J Miller
c5861c88a5
Merge pull request #5893 from MetaMask/loading-network-screen
Loading network screen
2018-12-13 14:20:27 -03:30
Dan Finlay
75a737b69a Version 5.2.2 RC1 2018-12-12 18:48:50 -08:00
Dan Miller
04cc98d8e4 Clean up for the loading-network-screen 2018-12-12 14:14:52 -03:30
Dan Miller
0e5e51b8ff Add identifier of private network to the network loading screen message. 2018-12-12 13:53:37 -03:30
Dan J Miller
970bdebb86
Merge pull request #5919 from MetaMask/gas-customization-fixes
Fix some styling and translations in the gas customization modal
2018-12-12 13:38:11 -03:30
Dan J Miller
ea5eb855e8 Version 5.2.1 RC1 (#5918) 2018-12-12 09:02:42 -08:00
Dan Miller
3cca6fc886 Add missing translation to the gas customization component. 2018-12-12 13:05:25 -03:30
Thomas Huang
d6fa967b1f
Merge pull request #5902 from MetaMask/i5846-ProviderCrashes
Fix provider crashes
2018-12-11 10:24:14 -08:00
Dan Miller
5ab3f5bb20 Changelog and version bump for 5.2.0 2018-12-11 13:51:19 -03:30
Alexander Tseung
dde239797b
Show Failed transaction in the browser notification for on-chain failures (#5904) 2018-12-10 18:02:26 -08:00
Alexander Tseung
d8ab9cc002
Group transactions by nonce (#5886) 2018-12-09 12:48:06 -08:00
Thomas Huang
575fb607c3
Merge pull request #5892 from MetaMask/fix-net-version-race-condition
Fix race condition in network controller lookup() method.
2018-12-07 14:49:00 -08:00
Dan Miller
246dcf689c Fix race condition in network controller lookup() method. 2018-12-06 16:13:24 -03:30
Whymarrh Whitby
80d7be0a19 Fill in more Polish message translations 2018-12-06 11:11:02 -03:30
Dan Miller
fe535159bb Fix "fastest" translation message; change to sentence case 2018-12-04 00:06:22 -03:30
Dan Miller
9b9a2cc2e0 Adds createSpeedUpTransaction to txController 2018-12-04 00:06:05 -03:30
Dan Miller
3162a2747c Redesign of gas customization basic tab. 2018-12-04 00:06:05 -03:30
Dan Miller
6f8e2b1ad9 Clean up for advanced gas tab customization changes. 2018-12-04 00:06:05 -03:30
Dan Miller
5354325fab Test updates and additions for button integration with send screen. 2018-12-04 00:06:04 -03:30
Dan Miller
b567c78bca Integrate gas buttons with the send screen. 2018-12-04 00:06:04 -03:30
Dan Miller
d55a2615a4 Split advanced-tab-content.component.js render() method into smaller pieces; add translations to the same file. 2018-12-04 00:06:04 -03:30
Dan Miller
342dc95410 Adds the content of the advanced tab - w/o chart or dynamic content - to gas customize modal. 2018-12-04 00:06:04 -03:30
Dan Miller
f9aa5a70de Adds new gas customization modal container (without content) 2018-12-04 00:06:04 -03:30
Dan Finlay
a1528674bc Version 5.1.0: East Bay 2018-12-03 10:54:31 -08:00
Dan Finlay
4935c31711 Update phishing warning copy
Per advice of legal counsel.
2018-12-03 09:55:02 -08:00
Michael - Blurpesec
7f6928782a Hide link for phishing-detect page (#5864)
* Soften language on phishing-detect page

* remove quotes
2018-12-01 20:15:59 -08:00
Bruno Barbieri
be255210a9
fix visibility 2018-11-30 20:54:57 -05:00
Dan J Miller
4c24555545 Save recent network balances in local storage (#5843)
* Use selector for state.metamask.accounts in all cases.

* Default to cached balance when selecting metamask accounts

* Adds the cached-balances controller

* Documentation and small codes fixes for #5843

Co-Authored-By: danjm <danjm.com@gmail.com>
2018-11-30 14:51:24 -08:00
Paul Bouchon
45a9f40aa6
bugfix: normalize contract addresss when fetching exchange rates (#5863) 2018-11-30 11:52:00 -05:00
Dan Finlay
c7233e2cc7
Fixed Vivek's bug (#5860)
* Fixed Vivek's bug

Fixes #5850

What was happening:

It seems that his MetaMask had crashed while some new transactions had
been loading defaults. He probably had a network connectivity issue to
Infura (which we are working with Infura to address).

As a result of this network cutout, his three unapproved transactions
were not marked failed, and were not marked as `loadingDefaults =
false`, as their gas prices had not yet been estimated.

Normally this behavior is supposed to clean itself up when the
transaction controller starts up, via the
`TransactionController._onBootCleanUp()` function, but in this case,
during unlock, that function was unable to do its job because when it
requested the transaction list, the current network was in the `loading`
state, making it proceed as if there were no pending transactions.

To fix this, I am doing two things:
- Setting transactions to loadingDefaults = false in more catch blocks.
- Calling `onBootCleanUp()` when the network store's status changes, so
that it will re-trigger when loading completes.

* Fixed reference

* Fixed infinite loop bug

Was refreshing the tx list on every tx state change instead of just
network changes, creating an infinite loop.

* Add notes to tx updates to clarify logs
2018-11-29 16:08:03 -08:00
Dan Finlay
4be3fe5906 Version 5.0.4 RC1 (#5859) 2018-11-29 11:43:00 -10:00
Frankie
a803522a92 transactions/tx-gas-utils - add the acctual response for eth_getCode for NO_CONTRACT_ERROR's && add a debug object to simulationFailed (#5840) 2018-11-29 10:07:05 -08:00
Whymarrh Whitby
67d9f445bd
Merge pull request #5848 from MetaMask/Less-Certain-Language
Soften accusatory language on phishing warning
2018-11-28 15:44:36 -03:30
Dan Finlay
ac1b756bd0 Soften accusatory language on phishing warning
We don't always know for sure that sites marked as phishers are
defiitely scams, and so we should avoid language that makes concrete
accusations.
2018-11-28 08:35:03 -08:00
Whymarrh Whitby
a9d3c1a87d Open full-screen UI on install 2018-11-27 09:52:51 -03:30
Whymarrh Whitby
3e85d580f9 Revert "Don't open MetaMask website after install" 2018-11-27 08:50:54 -03:30
Frankie
8198ec9ae1
Autofill gasPrice for retry attempts with either the recommended gasprice or a %10 bump (#5786)
* transactions - autofill gasPrice for retry attempts with either the recomened gasprice or a %10 bump

* lint
2018-11-26 09:29:14 -10:00
Frankie
97c1e6bcc1
transactions - ensure err is defined when setting tx failed (#5801) 2018-11-26 09:00:58 -10:00
Bruno Barbieri
3b1e73eff8
Merge pull request #5792 from MetaMask/signed-type-data-error-hw-wallet
Consider HW Wallets for signTypedMessage
2018-11-26 13:40:04 -05:00
Bruno Barbieri
f2066432ba
Use Array.includes 2018-11-26 13:27:49 -05:00
Whymarrh Whitby
08c98a6df7 Show Connect Requests count in extension badge 2018-11-26 12:09:22 -03:30
Whymarrh Whitby
826eb82ed8 Use initState to avoid type-checking providerRequests in state 2018-11-26 12:06:17 -03:30
Thomas Huang
4054b1cb84 Increase Token Symbol length to twelve 2018-11-22 12:39:59 -06:00
Bruno Barbieri
ae8626eceb
Merge pull request #5797 from MetaMask/trezor-v6
Add Firefox and Brave support for Trezor
2018-11-21 14:45:55 -05:00
Whymarrh Whitby
66e0de73c5
Merge pull request #5334 from whymarrh/ui-switch
Default to the new UI for first time users
2018-11-21 15:21:04 -03:30
brunobar79
7fb9f91d27 trezor v6 2018-11-20 19:12:11 -05:00
brunobar79
9b1df386de fix merge conflicts 2018-11-20 17:44:28 -05:00
Dan Finlay
5956f8d260 Version 5.0.3 (#5785)
* Version 5.0.3

Includes a fix to the `version:bump` script that now correctly updates
the changelog header.

* Include inpage provider events
2018-11-20 08:34:14 -10:00
brunobar79
fb94c1bae7 remove extra semicolon 2018-11-20 12:57:58 -05:00
brunobar79
3abf9ec7db consider hw wallets 2018-11-20 12:48:43 -05:00
Whymarrh Whitby
6b32e82ac1 Remove "Beta" from welcome messages
More sed magic:

    sed -i.bak 's/MetaMask Beta/MetaMask/' app/_locales/**/messages.json && \
    find app/_locales -name '*.bak' -delete

    sed -i.bak 's/"welcomeBeta"/"welcome"/' app/_locales/**/messages.json && \
    find app/_locales -name '*.bak' -delete
2018-11-20 14:04:50 -03:30
Whymarrh Whitby
444c68ae53 Don't announce new UI to users switching back 2018-11-20 14:04:50 -03:30
Whymarrh Whitby
c5da84d7a2 Remove "Beta" from header logo 2018-11-20 14:04:50 -03:30
Whymarrh Whitby
c482c9926c Default to the new UI for first time users 2018-11-20 14:04:17 -03:30
Paul Bouchon
7fe37276a1
1102: Push publicConfigStore to next turn to avoid race conditiono (#5777) 2018-11-18 07:23:04 -05:00
Dan Finlay
fdea642e6d
Auto fail transactions that have been approved for over 12 hours (#5765)
* Auto fail transactions that have been approved for over 12 hours

Converts txs using a migration.

This migration uses a new helper function that generates tx-failing
migrations, and only requires a version, error message, and condition to
run on each transaction.

* Linted

* Only migrate approved txs to failed

* Cleanup

* Cleanup

* Small lint fixes
2018-11-16 21:27:01 -08:00
Whymarrh Whitby
1988e1e96b ESLint fixes (#5775)
* eslint . --fix

* Upgrade all ESLint warnings to errors
2018-11-16 14:54:55 -10:00
Frankie
ce147bf6d8 Tx controller now uses safe event emitter (#5769)
* transactions - use safe-event-emitter over events

* tests - pass a platform object on init with a noop showTransactionNotification

* test - fix for tx-state-history-helper trying to reduce an empty array

* deps - safe-event-emitter

* lint
2018-11-16 10:34:08 -08:00
brunobar79
e44b750f0f Merge branch 'develop' of github.com:MetaMask/metamask-extension into trezor-v5 2018-11-15 00:29:06 -05:00
Dan Finlay
22ba0b0c2d Resubmit approved transactions on new block (#5752)
* Add beginning of test

* Resubmit approved transactions on new block

May fix #4343 and related issues, where an error could leave
transactions stranded in the approved state.

* Remove unused test

* Re-approve transactions when retrying approved

* Add retry approved test

* Include approved in pending tx count

* Fix getPendingTxs()

* Linted

* Only throw hash error in submitted state

* Only check submitted txs for block inclusion

* Fix test expectations
2018-11-14 11:34:07 -10:00
brunobar79
18f39ef69e Merge branch 'develop' of github.com:MetaMask/metamask-extension into trezor-v5 2018-11-14 15:42:45 -05:00
Paul Bouchon
f6e042b7b1 1102: use meta title if it exists before title 2018-11-14 10:43:10 -08:00
brunobar79
484aa6801e Merge branch 'develop' into trezor-v5 2018-11-13 17:21:15 -05:00
Paul Bouchon
0549782595
Update Balanc3 API (#5744)
* Update balanc3 API used in TokenRatesController

* Remove demo URL and use nativeCurrency when fetching token rates
2018-11-13 14:57:43 -05:00
PaddyMc
7ce2cf4572 Fixes #3425: Better support for batch transactions (#5437) 2018-11-13 13:49:12 -03:30
Filip Š
d943345151 Slovenian and slovak fixes (#5730)
* Fix Slovenian translation

* Add Slovak translation
2018-11-12 11:15:55 -05:00
Vimal
6bb92a8672 merging upstream branch 2018-11-12 17:50:37 +05:30
Dan Finlay
da1036f2c4 Version 5.0.2 2018-11-09 20:03:18 -08:00
Paul Bouchon
c317624854 EIP-1102: Update publicConfig store concurrently with approval 2018-11-09 18:21:59 -08:00
Noah I
8bed073f20 1102: Fix inpage listener syntax (#5708) (#5709) 2018-11-09 07:14:32 -05:00
Dan Finlay
e53ceb6bc1 Version 5.0.1 (#5694) 2018-11-07 12:07:14 -05:00
Dan J Miller
0dd0d8fc83
Merge pull request #5547 from MetaMask/front-ends-deps-gulp-bundle
Bundle some ui dependencies separately to limit the build size of ui.js
2018-11-07 13:31:56 -03:30
bitpshr
718393f89a Cleanup 2018-11-07 08:47:25 -08:00
bitpshr
a224b71837 1102: use postMessage instead of injected scripts to bypass CSP 2018-11-07 08:47:25 -08:00
bitpshr
1ce3591c8e wip 2018-11-07 08:47:25 -08:00
brunobar79
c651212025 fix merge conflicts 2018-11-06 20:21:19 -05:00
bitpshr
896ae0ab89 Fix lint errors 2018-11-06 14:30:50 -05:00
bitpshr
d7b1cacabc Remove injected script tags after use 2018-11-06 14:26:02 -05:00
bitpshr
34d80f21e2 Clear cached approval after rejection 2018-11-06 14:13:27 -05:00
Dan Finlay
7b8a73b01f Version 5.0.0 (#5685) 2018-11-06 11:42:22 -05:00
bitpshr
b3f428fd1f Move experimental provider augmentation 2018-11-05 15:07:09 -08:00
bitpshr
879997af51 Add experimental RPC method support 2018-11-05 15:07:09 -08:00
Whymarrh Whitby
26ada8a828 Update Connect Request screen design (#5644)
* Parameterize NetworkDisplay background colour

* Update design for login request screen

* Pass siteTitle, siteImage through for calls to ethereum.enable()

* Bring the site images closer together
2018-11-05 15:07:09 -08:00
bitpshr
31cb111d2e Do not modify isApproved when locked 2018-11-05 15:07:09 -08:00
bitpshr
9984f7edeb Mark origins as unapproved if user explicitly locks MetaMask 2018-11-05 15:07:09 -08:00
Paul Bouchon
f557d33718 Enable caching 2018-11-05 15:07:09 -08:00
bitpshr
991e08e346 isApproved should return false 2018-11-05 15:07:09 -08:00
bitpshr
72730b3929 Remove internal listeners 2018-11-05 15:07:09 -08:00
bitpshr
cc27a09a1a rebase 2018-11-05 15:07:09 -08:00
bitpshr
d4171ccea5 Disable approval caching 2018-11-05 15:07:09 -08:00
bitpshr
cc1bab6ebb Differentiate locked and enabled 2018-11-05 15:07:09 -08:00
bitpshr
d7618bd5c6 Code bath 2018-11-05 15:07:09 -08:00
bitpshr
ba40fcbcb4 Handle logout gracefully 2018-11-05 15:07:09 -08:00
bitpshr
f02e18dd80 Fix lint issues 2018-11-05 15:07:09 -08:00
bitpshr
ace7cfa065 Only filter selectedAddress from publicConfig store 2018-11-05 15:07:09 -08:00
bitpshr
f35466a247 Fix race condition with publicConfigStore 2018-11-05 15:07:09 -08:00
bitpshr
32630b68df Move convenience methods to _metamask namespace 2018-11-05 15:07:09 -08:00
bitpshr
504f4a50f1 Fix lint issues 2018-11-05 15:07:09 -08:00
bitpshr
84874a639d Add isUnlocked provider hook 2018-11-05 15:07:09 -08:00
bitpshr
573139b935 Differentiate isEnabled and isApproved hook 2018-11-05 15:07:09 -08:00
bitpshr
3a2ade4e84 Update isEnabled check 2018-11-05 15:07:09 -08:00
bitpshr
5fff6dcbbd Remove duplicate i18n keys 2018-11-05 15:07:09 -08:00
bitpshr
226601a956 EIP-1102: add user privacy option 2018-11-05 15:07:09 -08:00
bitpshr
bfcb73ad53 EIP-1102: add isEnabled convenience method to provider 2018-11-05 15:07:09 -08:00
bitpshr
89b4aa5d62 EIP-1102: Add option to force-enable provider 2018-11-05 15:07:09 -08:00
bitpshr
c76c9ca2c8 EIP-1102: updated implementation 2018-11-05 15:07:09 -08:00
Dan Finlay
2d4ff1dd82 Version 4.17.1 2018-11-05 14:05:33 -08:00
kumavis
86f09e6bb5 network - infura - hardcode net_version and eth_chainId (#5670)
* network - infura - hardcode net_version and eth_chainId
* network - infura - add rinkeby handling
* lint fix
2018-11-05 14:13:37 -05:00
Esteban Miño
4489a57f2f Update watchAsset ERC20 validation (#5653)
* update ERC20 token valodation for watchAsset

* update ERC20 validation test descriptions
2018-11-05 15:36:34 -03:30
kumavis
14852669ac
Merge pull request #5659 from MetaMask/token-rates-bugfix
token-rates - protect against bad token data
2018-11-03 21:57:21 -04:00
Thomas Huang
ed4f612bdc Revert "support eth_chainId" 2018-11-03 14:21:41 -07:00
kumavis
2c1bca1ab0 token-rates - protect against bad token data 2018-11-02 22:14:40 -04:00
kumavis
e683684e8d 4.17.0 2018-11-01 21:05:37 -04:00
Dan Miller
da5f4a792c Bundle some ui dependencies separately to limit the build size of ui.js 2018-10-31 20:47:22 -02:30
kumavis
73eeeda215
Merge pull request #5560 from MetaMask/sentry-enhancements2
Sentry - various enhancements to help debugging (alternate)
2018-10-29 21:57:51 -04:00
kumavis
310229d22e
Merge pull request #5567 from MetaMask/HowardBraham-develop
Feature: Warn when attempting to send tx with data to non-contract
2018-10-29 21:47:07 -04:00
kumavis
7ae5a23b6c Merge branch 'sentry-enhancements2' of github.com:MetaMask/metamask-extension into sentry-enhancements2 2018-10-29 20:28:02 -04:00
kumavis
ccbc233282 Merge branch 'develop' of github.com:MetaMask/metamask-extension into sentry-enhancements2 2018-10-29 20:25:05 -04:00
kumavis
1bb4a8428c
Merge pull request #5596 from MetaMask/validateSignTypedData
Validate signTypedData signer/address in eth-json-rpc-middleware
2018-10-29 20:11:04 -04:00
kumavis
ad009a4606
Merge branch 'develop' into sentry-enhancements2 2018-10-29 19:49:53 -04:00
kumavis
18e530221b
Merge pull request #5552 from EthersocialNetwork/eth_chainid
network - check eth_chainId and fallback to net_version
2018-10-29 19:43:25 -04:00
kumavis
2baa57bc4a
Merge pull request #5625 from filips123/develop
i18n - Better Slovenian translation
2018-10-29 19:13:21 -04:00
kumavis
986f8b4c21
preferences - fix typo 2018-10-29 18:56:29 -04:00
Filip Š
26012f5879
Fix Slovenian translation 2018-10-27 16:54:37 +02:00
Filip Š
38f0a3e471 Add Slovenian translation for EIP-1102 2018-10-27 13:33:56 +02:00
Filip Š
77bc4227e3 Fix Slovenian translation 2018-10-27 13:22:34 +02:00
hackyminer
bc7f8d0a5b
Merge branch 'develop' into eth_chainid 2018-10-26 20:37:35 +09:00
HackyMiner
54a8ade266 Add support for RPC endpoints with custom chain IDs (#5134) 2018-10-26 10:26:43 +02:00
kumavis
9b42416fc0 Merge branch 'develop' of github.com:MetaMask/metamask-extension into HowardBraham-develop 2018-10-25 22:24:30 -04:00
Thomas
8c0e5e97e5 Add version to unapprovedMessage 2018-10-24 20:24:42 -07:00
Thomas
95b92a1ddc Remove commented out/unused methods 2018-10-24 20:13:40 -07:00
Thomas
1d65687ce4 Validate signTypedData in eth-json-rpc-middleware 2018-10-24 20:03:55 -07:00
Alexander Tseung
7852269ed1
Add Activity Log entry for onchain failures for a transaction. Change scrolling of the transaction list. Remove Transaction Details modal. (#5581) 2018-10-23 19:59:04 +08:00
kumavis
97056d2ee6
Merge pull request #5576 from marijnbent/patch-1
i18n - Updated Dutch translation for main network name
2018-10-22 23:02:33 -04:00
kumavis
3e2bf36d59 i18n - update haitian translations (#5565)
* addedd new keys and updated translations to Haitian Creole

* changelog - add entry for hatian creole fix
2018-10-22 21:55:06 +02:00
Marijn Bent
c12a5a23f7
Updated translation for main network name
Current translation translates to 'most important Ethereum-network'. 'Main' is totally acceptable to use in Dutch.
2018-10-22 20:13:12 +02:00
Vimal
82b11b69a5 Adding CoinSwitch exchange 2018-10-22 16:44:21 +05:30
kumavis
6d09f60bbf
ens-ipfs - refactor for readability (#5568)
* ens-ipfs - refactor for readability

* ens-ipfs - use official ipfs gateway for better performance

* lint - remove unused code

* ens-ipfs - support path and search

* lint - gotta love that linter

* ens-ipfs - improve loading page formatting

* ens-ipfs - loading - redirect to 404 after 1 min timeout

* ens-ipfs - destructure for cleaner code
2018-10-21 05:48:15 -04:00
kumavis
b62d07f3a5
Update network.js 2018-10-21 04:32:07 -04:00
brunobar79
9c1b2108f6 fix merge conflicts 2018-10-21 01:59:53 -04:00
kumavis
b0c649a4e3
Merge pull request #5555 from MetaMask/support-wallet-watch-asset
Support for prefix wallet_watchAsset
2018-10-21 01:27:08 -04:00
kumavis
61c7bbb1c1
network - improve logging and type conversion 2018-10-21 01:20:08 -04:00
kumavis
31e5cad1e3 tx-gas-util - set error message when invalidating tx based on tx data but no contract code 2018-10-21 01:01:21 -04:00
kumavis
17a856cfd3 send tx - validate - simplify error message for attempting to call function on non-contract address 2018-10-21 00:57:45 -04:00
Brandon Wissmann
b53a1f492c i18n - use localized names in language selection
Fixes #4250 (#5559)

* Added localized names for languages

* Capital letter for Čeština

* capital letter Русский

* i18n - use localized names in language selection

* fix build

* package-lock.json build fix
2018-10-20 23:55:37 -04:00
kumavis
f0602ca354 Merge branch 'develop' of github.com:MetaMask/metamask-extension into sentry-enhancements2 2018-10-20 23:51:00 -04:00
kumavis
3b46478024
Merge branch 'develop' into develop 2018-10-20 23:48:10 -04:00
kumavis
73ec4e66cb sentry - include app state in ui errors 2018-10-20 03:14:59 -04:00
kumavis
e3fda83ab2 sentry - replace raven-js with sentry/browser 2018-10-20 02:22:50 -04:00
Esteban Miño
7c4f98ffd6 specific add and remove methods for frequentRpcList (#5554) 2018-10-19 17:50:54 -02:30
Esteban MIno
75661673e5 add support for wallet_watchAsset 2018-10-19 13:57:11 -03:00
hackyminer
2f6530a494
support both eth_chainId and net_version
get the real chainId using eth_chainId and use net_version as a fallback
2018-10-20 01:08:46 +09:00
kumavis
31175dcb24 blacklist + currency - report error via log instead of throw 2018-10-19 07:18:16 -04:00
kumavis
a57d267dcb lint fix 2018-10-19 07:08:04 -04:00
kumavis
b85ae55cd5 fetch debugger - only append source stack if no stack is present 2018-10-19 06:42:53 -04:00
kumavis
3e3d4b9dde sentry - failed txs - namespace txMeta for better readability 2018-10-19 05:30:21 -04:00
kumavis
2394881511 currency - throw errors on failure 2018-10-19 04:58:19 -04:00
kumavis
65aa0a1d14 blacklist - throw errors on request/parse failure 2018-10-19 04:51:03 -04:00
kumavis
26b30a031d sentry - move isBrave decoration to insides of try-catch 2018-10-19 04:36:36 -04:00
kumavis
09c3611171 4.16.0 2018-10-17 19:49:25 -04:00
kumavis
fa36dbf981 inpage - increase provider max listeners to avoid warnings 2018-10-17 19:17:39 -04:00
Bartek
2c2ae8f4c7 i18n - add polish (pl) 2018-10-17 19:04:03 -04:00
kumavis
c289baa17a
Merge pull request #5127 from MetaMask/account-tracker-network-change
Bug Fix: Force AccountTracker to update balances on network change
2018-10-17 18:56:54 -04:00
Whymarrh Whitby
03b0929a28
Merge pull request #5536 from whymarrh/add-token-help
Add clarifying text to the "Add Token" button
2018-10-17 17:41:46 -02:30
Whymarrh Whitby
0d0bb4afd7
Merge pull request #5522 from MetaMask/fetch-debugging
debugging - enable fetch debugging
2018-10-17 17:38:55 -02:30
Whymarrh Whitby
42fa54678f Extract Add Token button into its own component 2018-10-17 15:49:29 -02:30
Alexander Tseung
badebe017f
Adds toggle for primary currency (#5421)
* Add UnitInput component

* Add CurrencyInput component

* Add UserPreferencedCurrencyInput component

* Add UserPreferencedCurrencyDisplay component

* Add updatePreferences action

* Add styles for CurrencyInput, CurrencyDisplay, and UnitInput

* Update SettingsTab page with Primary Currency toggle

* Refactor currency displays and inputs to use UserPreferenced displays and inputs

* Add TokenInput component

* Add UserPreferencedTokenInput component

* Use TokenInput in the send screen

* Fix unit tests

* Fix e2e and integration tests

* Remove send/CurrencyDisplay component

* Replace diamond unicode character with Eth logo. Fix typos
2018-10-17 07:03:29 +08:00
Whymarrh Whitby
e96188ce9d Fix wording of private key warning shown during export 2018-10-16 19:05:21 -02:30
Whymarrh Whitby
222da7f523 Update wording on export privkey modal 2018-10-16 17:03:18 -02:30
brunobar79
13820b6cc1 fix conflicts 2018-10-16 14:01:54 -04:00
Whymarrh Whitby
d44b7ef3da Fix document extension check when injecting web3 2018-10-16 11:08:48 -02:30
Noel Yoo
c7758ebd15 Improve Korean translations (#5515)
* Add more korean translation

* Improve korean translation
2018-10-15 19:43:32 -02:30
Pedro Gutiérrez
e997285a07 Fixed wrong Spanish translation of key (#5517) 2018-10-15 19:40:00 -02:30
Alexander Tseung
c821a8354c
Add txReceipt data to transaction details (#5513) 2018-10-16 06:00:47 +08:00
matteopey
61dec4ea46 Update Italian translations (#5502)
* Add new english messages

* Update translation

* Update changelog

* Fix casing of MetaMask
2018-10-15 19:07:18 -02:30
kumavis
70c45ae8be enable fetch debugging 2018-10-15 01:14:25 -04:00
kumavis
f194f07801 Merge branch 'master' of github.com:MetaMask/metamask-extension into develop 2018-10-11 22:42:37 -04:00
Dan Finlay
1bbc55a533 Correct 4.14.0 version 2018-10-11 10:21:29 -07:00
Thomas Huang
b44ea47066
Merge pull request #5505 from MetaMask/Version-4.14.0
Version 4.14.0
2018-10-11 09:56:42 -07:00
Dan Finlay
837eb796e5 Version 4.14.0 2018-10-11 09:42:21 -07:00
Noel Yoo
ba21606dfb Fix en, ko locales (#5483)
* Fix en typo

* Fix ko typo

* Remove unnecessary space

* Fix ko typo

* Improve translation in ko
2018-10-11 13:20:59 -02:30
Whymarrh Whitby
af43b7d6c9 Ensure that new transactions added are using the selected address 2018-10-10 16:16:20 -02:30
Whymarrh Whitby
428a7cacdf Revert "transactions - add txReceipt to the txMeta body for confirmed txs (#5375)"
This reverts commit ff67293a8e.
2018-10-10 15:30:12 -02:30
kumavis
70fc093b21
Merge pull request #5480 from noelyoo/typo
Alphabetize locales keys
2018-10-10 10:27:35 -04:00
Frankie
ff67293a8e transactions - add txReceipt to the txMeta body for confirmed txs (#5375) 2018-10-10 10:26:38 -04:00