1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-14 21:57:12 +01:00
Commit Graph

920 Commits

Author SHA1 Message Date
Mark Stacey
728115171e
Catch reverse resolve ENS errors (#7377)
The 'reverseResolveAddress' method is intended to return undefined if
unable to reverse resolve the given address. Instead it was throwing an
error, which surfaced in the UI console. This error is now caught.
2019-11-10 21:15:59 -05:00
Mark Stacey
66187333b1
Prevent attempting ENS resolution on unsupported networks (#7378)
The check for whether the network is supported was performed in the
constructor, but it was accidentally omitted from the network change
handler.
2019-11-10 21:15:50 -05:00
Mark Stacey
99b8f2d544
Fix provider approval metadata (#7349)
* Omit MetaMask `extensionId` from site metadata

The site metadata was updated in #7218 to include the extension id of
the extension connecting to MetaMask. This was done to allow external
extensions to connect with MetaMask, so that we could show the id on
the provider approval screen.

Unbeknownst to me at the time, the extension id was being set for all
connections to MetaMask from dapps. The id was set to MetaMask's id,
because the connections are made through MetaMask's contentscript.

This has been updated to only set the id when accepting a connection
from a different extension.

* Fix `siteMetadata` property names

In #7218 a few things were added to the site metadata, so the provider
approval controller was middleware was updated to accept the site
metadata as an object rather than accepting each property as a separate
parameter. Unfortunately we failed to notice that the site name and
icon were named differently in the site metadata than they were in the
provider approval controller, so the names of those properties were
unintentionally changed in the controller state.

The provider approval controller has been updated to restore the
original property names of `siteTitle` and `siteIcon`. An unused prop
that was added to the provider approval page in #7218 has also been
removed.
2019-11-04 17:28:50 -04:00
Whymarrh Whitby
eed4a9ed65
ENS Reverse Resolution support (#7177)
* ENS Reverse Resolution support
* Save punycode for ENS domains with Unicode characters
* Update SenderToRecipient recipientEns tooltip
* Use cached results when reverse-resolving ENS names
* Display ENS names in tx activity log
2019-11-01 15:24:00 -02:30
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
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
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
Dan J Miller
f1c774d8f3 Handle empty fetch response (#7111) 2019-10-09 11:41:18 -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
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
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
kumavis
4d71f3f854 mesh-testing - submit infura rpc requests to mesh-testing container (#7031) 2019-09-23 02:54:41 -07: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
58c5fe01bf use eth-json-rpc-errors 2019-09-18 19:17:31 -07:00
Jenny Pollack
03f216e27c add goerli to incoming tx 2019-09-18 10:04:39 -07: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
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
Erik Marks
38f6550951 fix rinkeby spelling (#7148) 2019-09-10 12:51:34 -10: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
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
Whymarrh Whitby
ef3859ff77
Add toggle for incoming transactions (#7049) 2019-08-21 16:12:14 -02:30
Brendan Chou
cc71b4f52b Add support for eth_signTypedData_v4 (#6930) 2019-08-20 17:22:59 -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
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
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
Dan J Miller
da7fe65599
Ensure seed phrase backup only shows up for new users (#6975) 2019-08-08 09:08:41 -02:30
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
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
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
Whymarrh Whitby
fc3b035aac
Check balance before testing it w/ isZero (#6898) 2019-07-23 17:14:04 -02:30
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 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
Whymarrh Whitby
df17853502
Remove UiMigrationAnnouncement and associated state (#6794) 2019-07-04 12:21:21 -02:30
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
frankiebee
5cf5359e78 transactions - always hexprefix txParams on update; fixes #6724 2019-06-19 14:36:24 +02:00
Paul Bouchon
47024fd9a5
feature: integrate gaba/CurrencyRateController (#6570) 2019-05-31 18:14:22 -04:00
Frankie
2b5c7b82a9
transactions/deps - use broken out nonce-tracker module (#6555) 2019-05-21 17:17:09 +02: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
Paul Bouchon
e57ffbed59
feature: integrate gaba/ShapeShiftController (#6569) 2019-05-14 14:38:55 -04: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
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
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
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
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
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
Dan Miller
10097b6a11 Default to localhost network when running e2e tests 2019-03-28 16:20:11 -02:30
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
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
Paul Bouchon
daae155ce2 GABA: Integrate AddressBookController (#5847)
* gaba: integrate AddressBookController

* pin gaba version and update lockfile
2019-03-11 18:40:41 -10: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
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
frankiebee
c10fb3ce3f fix typo 2019-02-12 09:05:06 -10:00
frankiebee
7e64a578a4 recent-blocks - dont listen for block when on infura providers 2019-02-11 09:16:03 -10:00
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
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
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
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
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
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
Thomas Huang
3bd3e640b4 Set auto conversion off for token/eth conversion (#6005) 2019-01-10 10:36:30 -08: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
Alexander Tseung
d8ab9cc002
Group transactions by nonce (#5886) 2018-12-09 12:48:06 -08:00
Dan Miller
246dcf689c Fix race condition in network controller lookup() method. 2018-12-06 16:13:24 -03:30
Dan Miller
9b9a2cc2e0 Adds createSpeedUpTransaction to txController 2018-12-04 00:06:05 -03:30
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
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
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
Whymarrh Whitby
826eb82ed8 Use initState to avoid type-checking providerRequests in state 2018-11-26 12:06:17 -03:30
Whymarrh Whitby
444c68ae53 Don't announce new UI to users switching back 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
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
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
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
Paul Bouchon
c317624854 EIP-1102: Update publicConfig store concurrently with approval 2018-11-09 18:21:59 -08:00
bitpshr
896ae0ab89 Fix lint errors 2018-11-06 14:30:50 -05:00
bitpshr
34d80f21e2 Clear cached approval after rejection 2018-11-06 14:13:27 -05: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
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
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
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
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
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
986f8b4c21
preferences - fix typo 2018-10-29 18:56:29 -04: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
1d65687ce4 Validate signTypedData in eth-json-rpc-middleware 2018-10-24 20:03:55 -07:00
kumavis
b62d07f3a5
Update network.js 2018-10-21 04:32:07 -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
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
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
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
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
Alexander Tseung
c821a8354c
Add txReceipt data to transaction details (#5513) 2018-10-16 06:00:47 +08:00
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
Frankie
ff67293a8e transactions - add txReceipt to the txMeta body for confirmed txs (#5375) 2018-10-10 10:26:38 -04:00
kumavis
600f755dbf
tx-gas-utils - improve format + comments 2018-10-09 23:17:05 -04:00
Howard Braham
4cc0b1ef01 ganache-core merged my PR, so I changed some comments to clarify that ganache-core v2.2.1 and below will return the non-standard '0x0' 2018-10-09 15:31:25 -07:00
Howard Braham
222e62d7f1 Bug Fix: #1789 and #4525 eth.getCode() with no contract 2018-10-09 15:31:25 -07:00
Bruno Barbieri
17b9f4c0db
Merge pull request #5458 from MetaMask/provider-subs
Feature: Subscription support
2018-10-09 13:25:13 -04:00
kumavis
fe82c4a9fb provider - network - restore block-ref-rewrite middleware references 2018-10-08 12:39:18 -04:00
kumavis
354f8c0d7d provider - enable subscription support (newHeads, logs) 2018-10-08 11:55:07 -04:00
Dan Finlay
507397f6c3 Fix updating of pending transactions
Transaction statuses were not being properly updated when:

- MetaMask was unlocked
- The network was changed

This PR fixes both of those. Fixes #5174
2018-10-05 10:35:14 -07:00
Whymarrh Whitby
4dd6c8168f Add ability to whitelist a blacklisted domain at runtime 2018-10-02 10:43:46 -02:30
HackyMiner
13a1d46720 support editable customRPC (#5267)
* support editable customRPC #5246

* remove rpcList size restriction
2018-09-28 17:23:58 -02:30
Alexander Tseung
5d57c7c4fd
Merge pull request #5282 from MetaMask/tx-cancel-ui
Add Cancel Transaction feature. Refactor modals. Add Transaction Details modal.
2018-09-24 11:34:12 -07:00
Dan Miller
19d72c9b0b Adds getPendingNonce method to provider initialization options in metamask-controller. 2018-09-21 15:29:42 -02:30
Alexander Tseung
5a6c333506 Switch existing modals from using Notification to Modal. Remove Notification component. Add CancelTransaction modal 2018-09-19 14:31:10 -07:00
Whymarrh Whitby
d60991ec88 Delete ConfigManager, replacing its usages with PreferencesController 2018-09-11 09:39:16 -07:00
Frankie
1552fe1c3e
Merge pull request #5216 from MetaMask/tx-cancel
Add createCancelTransaction method
2018-09-10 13:29:29 -10:00
Alexander Tseung
43de189d06 Add createCancelTransaction method 2018-09-10 12:48:01 -07:00
Whymarrh Whitby
7c3b69e1e4 Attach the RPC error value to txMeta 2018-09-08 19:59:50 -02:30
Esteban MIno
e743f44150 fix conflicts 2018-08-28 15:20:30 -03:00
Esteban MIno
3106374cc3 watchAsset small changes 2018-08-27 22:10:14 -03:00
Esteban MIno
b59a1e91b8 typo watchAsset imageUrl to image 2018-08-23 15:54:40 -03:00
Evgeniy Filatov
9a80d6e859 updated docs, small improvement of recent RPC rendering 2018-08-23 01:26:30 +03:00
Evgeniy Filatov
b23cca1469 implemented improvements to RPC history 2018-08-23 01:18:13 +03:00
Esteban MIno
4e6c71e969 Merge branch 'develop' into WatchTokenFeature 2018-08-21 20:14:49 -03:00
kumavis
13dfea7f2d bugfix - prevents old blocktracker from getting internal hooks migrated 2018-08-21 14:13:23 -07:00
Esteban MIno
3a3732eb24 returning error in watchAsset 2018-08-21 13:12:45 -03:00
Esteban MIno
6fa889abcb refactor watchToken related functions 2018-08-21 12:59:42 -03:00
Esteban MIno
68c1b4c170 watchAsset returns result wether token was added or not 2018-08-20 22:32:14 -03:00
Esteban MIno
81cd29df43 Merge branch 'develop' into WatchTokenFeature 2018-08-20 19:35:38 -03:00
Esteban MIno
dbab9a007f delete according image when token added with watchToken deleted 2018-08-16 21:17:02 -03:00
Esteban MIno
bb868f5834 correct behavior when notification is closed when popup 2018-08-16 20:19:19 -03:00
Esteban MIno
a36ea0e232 show watch asset image from hide token modal 2018-08-16 12:04:43 -03:00
Esteban MIno
5289a36664 change watchAsset to new spec for type ERC20 2018-08-15 20:01:59 -03:00
Esteban MIno
b766104c8d add suggested tokens objects in metamask state 2018-08-15 18:34:57 -03:00
Esteban MIno
a4b6b2357a watchToken to watchAsset 2018-08-14 20:09:56 -03:00
Esteban MIno
a4c3f6b65c add support for images base64 and urls on new ui 2018-08-14 20:08:12 -03:00
Thomas
96d789d2cf Merge branch 'develop' into network-remove-provider-engine
Override package-lock and fix merge conflicts
2018-08-14 10:44:42 -07:00
Esteban MIno
8f5b80a0fe update method to metamask_watchToken 2018-08-14 13:58:47 -03:00
Esteban MIno
33357e3538 refactor unused code 2018-08-07 19:12:16 -04:00
Esteban MIno
15ea8c04b2 fix merge 2018-08-07 17:53:36 -04:00
Esteban Miño
3f57d5f66b
Merge branch 'develop' into WatchTokenFeature 2018-08-07 17:50:58 -04:00
frankiebee
115d3c9aaf Merge branch 'network-remove-provider-engine' into network-remove-provider-engine-tests 2018-08-07 01:38:32 -07:00
frankiebee
c2d4b237eb network - fix blockTracker reference to return the blockTrackerProxy instead of the direct blockTracker reference 2018-08-07 01:35:30 -07:00
Esteban MIno
78ad3c38e2 add suggested token params validation 2018-08-06 18:28:47 -04:00
Esteban MIno
9ac9f53a73 eth_watchToken working 2018-08-03 19:24:12 -04:00
Esteban MIno
081884bd80 rpc-engine not crashing when eth_watchToken 2018-08-03 16:42:13 -04:00
Esteban MIno
21a61f2987 merge develop 2018-08-03 14:56:02 -04:00
Thomas Huang
024ebe07e0 Merge branch 'develop' into network-remove-provider-engine-tests 2018-08-01 10:40:31 -07:00
Esteban MIno
d8817b2646 fix doc tag 2018-07-31 16:18:06 -04:00
Esteban MIno
3124e8c612 tokens related functions refactor 2018-07-31 15:59:19 -04:00
Esteban MIno
ccae79d392 fix undefined for tokens on tests 2018-07-31 13:07:28 -04:00
Esteban MIno
822c1734d6 fix double state update when account changed 2018-07-30 20:36:31 -04:00
Esteban MIno
fbcba8f019 create tokens storage when setadresses 2018-07-30 19:09:17 -04:00
Esteban MIno
31286673c3 isolation of tokens related methods in preferences 2018-07-30 18:43:34 -04:00
Esteban Miño
228f48c6e5
Merge branch 'develop' into TokensPerAccountBasis 2018-07-27 16:07:08 -04:00
Esteban MIno
5b9725d1f1 refactor to accountTokens 2018-07-27 16:05:12 -04:00
Esteban MIno
2827e13caa add & delete tokens per network 2018-07-26 19:28:12 -04:00
Esteban MIno
1d3ad7cfbb tokens per network for individual account 2018-07-26 18:04:34 -04:00
Thomas
138858647e Merge branch 'develop' into network-remove-provider-engine 2018-07-25 22:38:44 -07:00
Frankie
b5e3aafe2e
Merge pull request #4871 from MetaMask/3519-new-contract-gas
tx-gas-utils -  catch all errors from gas estimation
2018-07-25 15:33:17 -10:00
Esteban MIno
adee549c43 preferences test fixes for tokens per account 2018-07-25 17:46:31 -04:00
Esteban MIno
2770df80e3 add & delete tokens per account 2018-07-25 16:14:10 -04:00
pinkiebell
3667f3cb85 network.js: convert rpc protocol to lower case (#4855)
Fixes #4253
2018-07-24 19:33:36 -02:30
Jenny Pollack
00bae74475 tx-gas-utils - catch all errors from gas estimation 2018-07-24 14:16:37 -07:00
brunobar79
5ebefc0e50 run linter 2018-07-21 16:03:31 -04:00
Esteban Miño
110efa9ec1
Merge branch 'develop' into detectTokenFeature 2018-07-20 20:09:37 -04:00
Esteban MIno
9c95554933 fix detection on submit password 2018-07-20 19:58:03 -04:00
Esteban Miño
cb045fd8fe
Auto-detect tokens #3034 (#4683)
* detect tokens polling

* network store to detect token

* tests for spec

* passtest-lint

* fix lint

* improve tests

* detect tokens through infura

* detect tokens when submit password and new account selected

* keyring unlocked detect and unit tests

* add changelog
2018-07-20 12:36:24 -04:00
Esteban MIno
009b1cefbe keyring unlocked detect and unit tests 2018-07-19 19:46:46 -04:00
Esteban MIno
3b97d816ff detect tokens when submit password and new account selected 2018-07-19 15:56:38 -04:00
brunobar79
d21d408d64 Merge branch 'develop' of github.com:MetaMask/metamask-extension into initial-trezor-support 2018-07-13 20:53:22 -04:00
Esteban MIno
2fffe09873 detect tokens through infura 2018-07-12 20:43:43 -04:00
Thomas Huang
5a45df72c6
Merge pull request #4669 from MetaMask/removeNonceTrackerFunction
Remove unsued nonce tracker function
2018-07-12 11:48:05 -07:00
brunobar79
07d8bfaec5 Merge branch 'develop' of github.com:MetaMask/metamask-extension into initial-trezor-support 2018-07-12 12:54:08 -04:00
Alexander Tseung
0d4dbbec2a
Merge pull request #4691 from MetaMask/i4404-confirm-refactor
Refactor and redesign confirm transaction views
2018-07-11 15:31:50 -10:00
Esteban MIno
910713c6b3 improve tests 2018-07-11 15:59:05 -04:00
brunobar79
523cf9ad33 account removal is working 2018-07-11 00:20:40 -04:00
Thomas
5188b727d4 Merge branch 'develop' into removeNonceTrackerFunction 2018-07-10 11:34:00 -07:00
frankiebee
28c509914b Merge branch 'develop' of https://github.com/MetaMask/metamask-extension into i#3896 2018-07-10 11:32:05 -07:00
Alexander Tseung
a2d9c43fba Various fixes from PR comments 2018-07-06 16:27:08 -07:00
Alexander Tseung
9cde5ab11b Use eth-method-registry to get method data 2018-07-06 16:27:08 -07:00
Alexander Tseung
7732cd4100 Display newest transaction 2018-07-06 16:27:08 -07:00
Alexander Tseung
ea9d51e427 Refactor and redesign confirm transaction views 2018-07-06 16:27:08 -07:00
kumavis
77daed5c74 Merge branch 'develop' of github.com:MetaMask/metamask-extension into network-remove-provider-engine 2018-07-03 12:42:14 -07:00
Esteban MIno
0494b2fc8a Merge branch 'develop' into detectTokenFeature 2018-07-03 13:23:15 -04:00
Esteban MIno
03fd4355af passtest-lint 2018-07-03 12:53:06 -04:00
brunobar79
a8f745f9fe eslint --fix . 2018-07-02 18:49:33 -04:00
kumavis
a89902c170 Merge branch 'develop' of github.com:MetaMask/metamask-extension into network-remove-provider-engine 2018-07-02 13:54:05 -07:00
Esteban MIno
6284e66481 tests for spec 2018-06-27 22:18:06 -04:00
Esteban MIno
0e863d5fab network store to detect token 2018-06-27 19:54:43 -04:00
Esteban MIno
bfac9c2c2d detect tokens polling 2018-06-27 16:29:24 -04:00
frankiebee
9b92ba4c47 trandsactions - remove rejected transactions from history 2018-06-25 15:07:54 -07:00
tmashuang
dd18684a5d Remove unsued nonce tracker function 2018-06-25 15:01:14 -07:00
Dan Finlay
0481335dda Improved rpc-engine usage 2018-06-18 15:50:27 -07:00
Dan Finlay
5e4f3e430a Get popup appearing when suggesting new token 2018-06-18 15:37:37 -07:00
Dan Finlay
f14ed32980 Begin letting UI show suggested tokens 2018-06-18 15:33:50 -07:00
Dan Finlay
5d7c2810a7 Begin adding eth_watchToken 2018-06-18 15:07:08 -07:00
kumavis
33cb0a8cb2 lint - fix recipient-blacklist.js 2018-06-15 11:07:56 -07:00
kumavis
83c02f90cf blacklist - recipient blacklist as js for inline comments 2018-06-15 10:47:42 -07:00
kumavis
753743e746
Update recipient-blacklist-config.json 2018-06-15 10:32:09 -07:00
Dan Finlay
a42299aab7
Add apparent phishing address to block list
In [this reddit post](https://www.reddit.com/r/Metamask/comments/8r3nsu/help_me_please_somebody_stole_my_ethers/) a user suggests they got some ether stolen after visiting IDEX. Their ether was sent to [this address](https://etherscan.io/address/0x9bcb0a9d99d815bb87ee3191b1399b1bcc46dc77), which is full of comments of people telling similar stories of being phished on IDEX. I think we can safely block this, and probably safe some people some money.
2018-06-15 08:55:39 -07:00
kumavis
604289c96c controllers - transaction - prefer log over console 2018-06-12 12:08:06 -07:00
kumavis
177cc3f280 metamask - ensure all nonce locks are released 2018-06-12 11:51:35 -07:00
kumavis
8f93e34175 nonce-tracker - wrap nonce calculations in try-catch and release lock on error 2018-06-12 11:31:26 -07:00
kumavis
055346843b lint - fix lint for network 2018-06-12 11:27:32 -07:00
kumavis
6a2649a90f network - import createBlockTrackerInspectorMiddleware and rearrange cache middleware order 2018-06-12 11:12:32 -07:00
kumavis
c86f935889 nonce-tracker - wrap nonce calculations in try-catch and release lock on error 2018-06-12 10:55:54 -07:00
kumavis
0db776c3cc lint - controllers - whitepace fix 2018-06-11 10:17:09 -07:00
kumavis
3ce83570ee network - provider - infura - use block-reemit middleware 2018-06-07 12:26:37 -07:00
Dan Finlay
c53c5d5c9e Fix bug where reset account would not work.
Fixes #4462

Ensures that resetAccount() can work on non-stock providers.

I'm unclear how this was ever working, this code hasn't moved in months,
but users report it recently breaking. Maybe we only recently pushed it
to prod.
2018-06-06 16:46:39 -07:00
kumavis
2198276bd5 Merge branch 'develop' of github.com:MetaMask/metamask-extension into network-remove-provider-engine 2018-06-06 12:05:38 -07:00
kumavis
d30f03dcbf
Merge pull request #4414 from scsaba/recipient-blacklist
Disallow sending to ganache default accounts on main net
2018-06-06 11:54:01 -07:00
kumavis
9d77b0a196 Merge branch 'develop' of github.com:MetaMask/metamask-extension into network-remove-provider-engine 2018-06-06 11:08:29 -07:00
Whymarrh Whitby
3cc85c219e Add account type assertion to PreferencesController#setAccountLabel 2018-06-05 14:06:56 -07:00
kumavis
20bdba3d17 diagnostics - rewrite bug-notifier as diagnostics-reporter 2018-06-05 11:51:27 -07:00
Dan Finlay
41f292437d Record identity before deleting it 2018-06-04 15:34:38 -07:00
Dan Finlay
ae156e1087 Mock notifier in test 2018-06-04 15:26:01 -07:00
Dan Finlay
f07ca73e07 Add comment 2018-06-04 15:18:12 -07:00
Dan Finlay
415ab2d534 Do not alert to user 2018-06-04 15:17:03 -07:00
Dan Finlay
22754e3e1f Linted 2018-06-04 15:10:51 -07:00
Dan Finlay
7b87afb4b7 Add bug info under metadata key 2018-06-04 15:06:21 -07:00
Dan Finlay
0eacee8e45 Add first time info to bug report 2018-06-04 15:03:31 -07:00
Dan Finlay
3bfc40c284 Add version to report 2018-06-04 14:59:46 -07:00
Dan Finlay
d07c664b2c Fine tune error posting 2018-06-04 14:30:24 -07:00
Dan Finlay
b858cc4b1b Only notify first time lost ids are detected 2018-06-04 14:24:45 -07:00
Dan Finlay
f3b385cb09 Add reporting uri 2018-06-04 14:22:34 -07:00
Dan Finlay
fd1ce4d741 Begin adding unconfigured notifier 2018-06-04 14:21:46 -07:00
Dan Finlay
8fcaa2cf56 Persist lost identities to storage for later analysis 2018-06-04 14:05:56 -07:00
Dan Finlay
f5d4acf53b Add minimal user notification of issue. 2018-06-04 14:01:05 -07:00
Dan Finlay
7382bd0847 Add identity synchronizing code
Addresses #4475, where entries in the identities object do not
necessarily have corresponding accounts in the vault.

On password submission, this change passes known accounts to the
preferencesController (responsible for nickname management), and removes
unknown entries.

Includes "TODO" notes for where we could log the issue to sentry or
notify the user.
2018-06-04 13:43:26 -07:00
kumavis
54a9c62fd6 preferences controller - jsdoc fix 2018-06-03 11:30:11 -07:00
kumavis
d4cdd1a0f3 metamask - update preferences controller identities on keyring controller update 2018-06-03 11:27:25 -07:00
Dan Finlay
b1b90a6bb9 Version 4.7.1 2018-06-01 15:48:16 -07:00
Csaba Solya
1dda0c6469 remove generating blocked accounts and use a config file instead 2018-05-30 21:15:59 +02:00
Csaba Solya
3e489ea165 fix documentation 2018-05-30 17:42:41 +02:00
Csaba Solya
cf73581c0e adding tests for recipient blacklist checker 2018-05-30 17:38:27 +02:00
Csaba Solya
6affd8f949 adding transaction controller tests 2018-05-30 16:24:40 +02:00
Csaba Solya
afb5788861 initial implementation 2018-05-30 15:53:18 +02:00
kumavis
4205d92729 Merge branch 'master' of github.com:MetaMask/metamask-extension into merge-master 2018-05-29 16:12:36 -07:00
kumavis
58de5671cc controllers - transactions - fix tx status update on boot 2018-05-29 00:53:44 -07:00
kumavis
16d0db15e0 controllers - transactions - fix tx confirmation 2018-05-29 00:41:28 -07:00
kumavis
1b3fedd10d controllers - transaction - pending-tx-tracker - lint fix 2018-05-28 15:54:47 -07:00
kumavis
5be154ea20 controllers - transactions - merge @frankiebee's work with mine 2018-05-28 14:29:31 -07:00
Anton
71a6e97327 cleanErrorStack moved to separate library module
more errors traces cleaned up
2018-05-28 22:57:08 +02:00
Anton
1d23a5c81b error message fix 2018-05-28 18:08:33 +02:00
Anton
62dc6e20eb Clean up user rejection error message 2018-05-28 17:57:45 +02:00