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

355 Commits

Author SHA1 Message Date
Mark Stacey
f763979bed
Add support for one-click onboarding (#7017)
* Add support for one-click onboarding

MetaMask now allows sites to register as onboarding the user, so that
the user is redirected back to the initiating site after onboarding.
This is accomplished through the use of the `metamask-onboarding`
library and the MetaMask forwarder.

At the end of onboarding, a 'snackbar'-stype component will explain to the
user they are about to be moved back to the originating dapp, and it will
show the origin of that dapp. This is intended to help prevent phishing
attempts, as it highlights that a redirect is taking place to an untrusted
third party.

If the onboarding initiator tab is closed when onboarding is finished,
the user is redirected to the onboarding originator as a fallback.

Closes #6161

* Add onboarding button to contract test dapp

The `contract-test` dapp (run with `yarn dapp`, used in e2e tests) now
uses a `Connect` button instead of connecting automatically. This
button also serves as an onboarding button when a MetaMask installation
is not detected.

* Add new static server for test dapp

The `static-server` library we were using for the `contract-test` dapp
didn't allow referencing files outside the server root. This should
have been possible to work around using symlinks, but there was a bug
that resulted in symlinks crashing the server.

Instead it has been replaced with a simple static file server that
will serve paths starting with `node_modules` from the project root.
This will be useful in testing the onboarding library without vendoring
it.

* Add `@metamask/onboarding` and `@metamask/forwarder`

Both libraries used to test onboarding are now included as dev
dependencies, to help with testing. A few convenience scripts
were added to help with this (`yarn forwarder` and `yarn dapp-forwarder`)
2019-11-22 13:03:51 -04:00
Whymarrh Whitby
aa41057628
Update ESLint rules for curly braces style (#7477)
* eslint: Enable curly and brace-style

* yarn lint --fix
2019-11-19 20:33:20 -03:30
Mark Stacey
5bce060985 Update badge colour
The badge colour is now '#037DD6', which stands out a bit more on both
light and dark modes.
2019-11-14 18:19:03 -04: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
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
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
Dan J Miller
55bc9936c6 Turn off full screen vs popup a/b test (#7298) 2019-10-21 20:59:02 -03: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
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
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
Whymarrh Whitby
ecbde20949
Remove ComputedbalancesController (#7057) 2019-08-22 10:26:43 -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
ceace71bf5
Remove unused lostAccounts state (#6979) 2019-08-08 17:03:10 -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
Thomas Huang
a46ec83c9b Remove NoticeController (#6382) 2019-04-01 22:33:54 -02:30
kumavis
48047f8194 mascara - remove from project (#6283) 2019-03-12 11:17:21 -02:30
Thomas Huang
43f5fd0716 Nonmultiple notifications for batch txs 2019-03-11 12:37:47 -05:00
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
Chi Kei Chan
d9039f5292 Bring Popup to front when ui is tiggered 2019-02-18 20:34:29 -08:00
Whymarrh Whitby
969cf73fae Fix all "var used instead of let or const" problems in background.js 2019-02-12 10:36:15 -03:30
Bruno Barbieri
be255210a9
fix visibility 2018-11-30 20:54:57 -05: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
Whymarrh Whitby
08c98a6df7 Show Connect Requests count in extension badge 2018-11-26 12:09:22 -03:30
brunobar79
484aa6801e Merge branch 'develop' into trezor-v5 2018-11-13 17:21:15 -05:00
PaddyMc
7ce2cf4572 Fixes #3425: Better support for batch transactions (#5437) 2018-11-13 13:49:12 -03:30
brunobar79
c651212025 fix merge conflicts 2018-11-06 20:21:19 -05:00
bitpshr
c76c9ca2c8 EIP-1102: updated implementation 2018-11-05 15:07:09 -08:00
kumavis
ccbc233282 Merge branch 'develop' of github.com:MetaMask/metamask-extension into sentry-enhancements2 2018-10-29 20:25:05 -04:00
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
brunobar79
9c1b2108f6 fix merge conflicts 2018-10-21 01:59:53 -04:00
kumavis
e3fda83ab2 sentry - replace raven-js with sentry/browser 2018-10-20 02:22:50 -04:00
brunobar79
13820b6cc1 fix conflicts 2018-10-16 14:01:54 -04:00
kumavis
70c45ae8be enable fetch debugging 2018-10-15 01:14:25 -04:00
Whymarrh Whitby
ba39fbeb49 Don't open metamask.io after install anymore 2018-10-02 11:42:09 -02:30
Whymarrh Whitby
83666e8d28 Update extension badge with correct signTypedData count 2018-09-27 08:33:50 -07:00
brunobar79
8ee01f4e99 Merge branch 'develop' of github.com:MetaMask/metamask-extension into trezor-v5 2018-09-05 16:26:09 -04:00
brunobar79
b208ce7234 add port names blacklist 2018-08-22 14:04:26 -04:00
Esteban MIno
4e6c71e969 Merge branch 'develop' into WatchTokenFeature 2018-08-21 20:14:49 -03:00
Esteban MIno
68c1b4c170 watchAsset returns result wether token was added or not 2018-08-20 22:32:14 -03:00
Dan Finlay
6ce119d1fb Move inpage-provider and port-stream outside
With the creation of the [metamask-extension-provider](https://github.com/MetaMask/metamask-extension-provider) we have our first non-core module that is dependent on the inpage-provider and port-stream.

To reduce the size of its dependencies, I have moved the
[metamask-inpage-provider](https://github.com/MetaMask/metamask-inpage-provider) into its own module, as well as [extension-port-stream](https://github.com/MetaMask/extension-port-stream).

This allows them to be more easily depended & iterated on by external
projects.
2018-08-20 15:45:50 -07:00
Esteban MIno
81cd29df43 Merge branch 'develop' into WatchTokenFeature 2018-08-20 19:35:38 -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
Jenny Pollack
00a2ab21ae sentry - change releaseVersion to release 2018-08-09 13:49:40 -07:00
Esteban MIno
21a61f2987 merge develop 2018-08-03 14:56:02 -04:00
Thomas
138858647e Merge branch 'develop' into network-remove-provider-engine 2018-07-25 22:38:44 -07:00
Dan Finlay
3784a7e2c8
Merge pull request #4656 from MetaMask/portal-metamask-ens-test
Add support for .test ENS domains
2018-07-19 09:41:28 -07:00
Jenny Pollack
16fc7efef1 remove local tests 2018-07-19 09:59:58 -04:00
bitpshr
8df433ca84 Add support for .test Ropsten ENS domains 2018-07-19 08:04:17 -04:00
Jenny Pollack
1a9748667d sentry - add detection for Brave Browser 2018-07-19 02:22:56 -04: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
brunobar79
13b03ec090 fix lint errors 2018-07-03 14:29:36 -04:00
brunobar79
595447ccac Merge remote-tracking branch 'upstream/develop' into HEAD 2018-07-03 14:21:17 -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
Dan Finlay
5d7c2810a7 Begin adding eth_watchToken 2018-06-18 15:07:08 -07:00
kumavis
7b414f3ed0 background - persistence pipeline - fix persistence bug 2018-06-13 16:45:18 -07:00
kumavis
ebb9447593 test - e2e - factor out setup phase + rename METAMASK_CONFIG to METAMASK_TEST_CONFIG 2018-06-11 14:25:49 -07:00
kumavis
02f5502e16 test - e2e - inject metamask config to point at localhost 2018-06-11 11:04:28 -07:00
PhyrexTsai
f90d070190
Merge branch 'develop' into portal-metamask 2018-06-01 15:41:18 +08:00
kumavis
4205d92729 Merge branch 'master' of github.com:MetaMask/metamask-extension into merge-master 2018-05-29 16:12:36 -07:00
Yung chieh Tsai
829deacb57 Rename files 2018-05-29 12:44:37 +08:00
MikeCheng1208
695b157e7b Intergrate ENS with IPFS 2018-05-29 12:38:25 +08:00
kumavis
e447438504
Merge pull request #3997 from jakubsta/master
Allow other extensions to connect
2018-05-21 13:41:09 -07:00
kumavis
2d4d77b17d docs - jsdoc - fix syntax 2018-05-18 11:52:28 -07:00
frankiebee
873f85d996 guard adainst raven erroring 2018-04-29 13:46:07 -07:00
Dan Finlay
327ec03d6f Remove wrong chars 2018-04-20 10:45:06 -07:00
Dan Finlay
357582cc52 Add ui note to background docs 2018-04-20 10:41:41 -07:00
Dan Finlay
17afe922d4 Lint background docs 2018-04-20 10:40:53 -07:00
Dan Finlay
ff689748a7 Document MetaMaskState and TransactionMeta 2018-04-20 10:39:31 -07:00
Dan Finlay
16434776a4 Document Background Script 2018-04-19 11:27:53 -07:00
Jakub Stasiak
ad7d38c0dc Update: allow other extension to connect 2018-04-17 21:49:40 +02:00
Alexander Tseung
b0a105ce80 Fix confirmation popup not always opening 2018-04-17 08:58:37 -07:00
Dan Finlay
0668976514
Merge branch 'master' into i3981-contract-rates 2018-04-16 16:32:56 -07:00
bitpshr
b4912f29cd Disable token price polling when no client is active 2018-04-16 18:12:05 -04:00
bitpshr
7129d7c0f3 Require loglevel singleton in each module that uses it 2018-04-13 17:56:28 -04:00
kumavis
f9a6feb263 metamask - never persist if state is missing 2018-04-06 12:10:39 -07:00
kumavis
6f4dbd6d4a metamask - never persist if state is missing data 2018-04-06 12:09:26 -07:00
kumavis
0685381fdc metamask - attempt recovery from empty vault 2018-04-06 12:05:24 -07:00
kumavis
2b880dd4e0 migrations - report migrations errors to sentry with vault structure 2018-04-05 13:15:08 -07:00
kumavis
00657e14a8 build - correctly set METAMASK_ENV via envify 2018-04-03 09:51:33 -07:00
Dan
f74e802026 Undo unnecessary line removals. 2018-03-27 10:52:19 -02:30
Dan
d2bd5687e8 Merge branch 'master' into i18n-translator-redux 2018-03-27 10:17:48 -02:30
Dan Finlay
e196b6dcb7 Fix bug where full localStorage would crash on start 2018-03-26 15:25:26 -07:00
Dan
b9309f689b Use extension api to get initial locale. 2018-03-22 12:49:19 -02:30
kumavis
5d3246c836 Merge branch 'master' of https://github.com/trigun0x2/metamask-extension into trigun0x2-master 2018-03-21 11:55:09 -07:00
Jeffrey Tong
93495b2809 fix for lint 2018-03-20 12:18:48 -07:00
Jeffrey Tong
bda493dc9d add comments that need clarification on naming convention 2018-03-11 10:17:08 -07:00
kumavis
98efca0a97 background - storage - cleanup storage wiring 2018-03-08 14:10:28 -08:00
Jeffrey Tong
aaef2aeefd fixed multiple notification windows when executing batch 2018-03-07 20:09:40 -08:00
Dan Finlay
64fcd27102 Tighten up data loading code 2018-03-07 14:42:59 -08:00
Dan Finlay
b97ac5106f Add clarifying comment 2018-03-07 14:38:26 -08:00
Dan Finlay
d58e47edec Some fixes for new storage strategy
- Don't persist undefined data
- Write to new storage strategy without waiting for completion.
- Continue writing to localStorage as fallback.
2018-03-07 14:23:31 -08:00
Dan Finlay
ab55c184c7 Increase storage debounce to 2s 2018-03-07 13:50:22 -08:00
Dan Finlay
423f084cb4 Merge branch 'master' into i3076-UseStorageLocalInstead 2018-03-06 14:59:09 -08:00
Dan Finlay
dd9cac69ae
Merge pull request #3309 from scsaba/edge-support
Add Edge Support
2018-03-06 09:39:57 -08:00
kumavis
8e5bcf8935 sentry - failed tx - improve ethjs-rpc error formating 2018-02-28 10:53:54 -08:00
kumavis
fca2cbc8ef sentry - clean - move setupRaven to lib 2018-02-28 10:37:53 -08:00
Dan Finlay
fe21f8a952
Merge pull request #3281 from MetaMask/sentry-failed-tx-debatch
sentry - report failed tx with more specific message
2018-02-27 10:15:18 -08:00
Csaba S
2f34630486
Merge branch 'master' into edge-support 2018-02-22 14:55:46 +01:00
Csaba Solya
5ec311ba3e add edge support 2018-02-22 14:39:32 +01:00
Thomas Huang
e27a3823ba
Merge pull request #3306 from danjm/MM-805-send-from-tab-popup-fix
[NewUI] Prevents new tx from active tab from opening popup
2018-02-21 12:50:45 -08:00
Dan
a4ed6af2ad Prevents new transaction from generating popup when metamask is open in an active tab. 2018-02-21 15:04:04 -03:30
kumavis
06838774fa sentry - report failed tx with more specific message 2018-02-16 10:21:06 -08:00
kumavis
94cd5b9df4 metamask mesh - inject mesh testing container 2018-02-10 19:33:33 +00:00
Dan Finlay
8ba64c657f Increase storage debounce value 2018-01-25 15:38:43 -08:00
Dan Finlay
ceebc6caa4 Debounce storage to avoid crashing pump 2018-01-25 13:01:03 -08:00
Dan Finlay
2f13790653 Remove local storage writes, add log 2018-01-24 15:28:15 -08:00
Dan
b281a52759 Remove already handled TODO comment. 2018-01-24 16:49:12 -03:30
Dan
0164030e56 Handle errors when getting and setting to localStore. 2018-01-24 09:41:32 -03:30
Dan Finlay
7c4a9c32fa Merge branch 'UseStorageLocal' into i3076-UseStorageLocalInstead 2018-01-23 16:33:37 -08:00
Dan Finlay
456dfdb9fd Modify @heyellieday's work to use storage.local to replace main storage 2018-01-23 16:26:50 -08:00
Thomas
97ca86733c Merge branch 'master' into uat 2018-01-23 01:12:50 -08:00
kumavis
b91e2b5eb1 sentry - report failed txs 2018-01-22 15:54:26 -08:00
kumavis
daa62b507a sentry - breakout raven setup and add release config 2018-01-17 14:59:15 -08:00
kumavis
52a1c954f1 sentry - update raven and add to ui 2018-01-17 14:28:37 -08:00
kumavis
7d1554b1c1 sentry - add raven + sentry reporting config 2018-01-17 14:04:37 -08:00
Ellie Day
3c6a5b16ad conditionally use extension store if supported or enabled 2018-01-02 21:53:11 -08:00
Ellie Day
7184db7632 handle situation where storage.sync is disabled in certain versions of firefox 2018-01-02 21:31:17 -08:00
Ellie Day
a76324f6d3 Add ExtensionStore and add basic store instance syncing to main controller 2017-12-23 08:23:34 -06:00
kumavis
f64bc3c01a deps - obs-store@3 + migrate stream plumbing 2017-11-28 11:09:18 -10:00
Sergey Ukustov
c2b8dada91 Add eth_signTypedData handler 2017-09-29 19:40:46 +03:00
frankiebee
9fd5458112 transactions: lint fixes and reveal status-update event for balance controller 2017-09-26 16:54:04 -07:00
kumavis
96d1175834 debug - prefer logger over console 2017-09-13 10:28:29 -07:00
kumavis
8a9d0073b1 Merge pull request #1848 from MetaMask/transactionControllerRefractor
Transaction controller refractor part 1: promises for everyone and more tests!
2017-08-02 19:57:16 -07:00
frankiebee
b80c7e417b move newUnapprovedTransaction to transactions.js 2017-08-02 18:59:34 -04:00
kumavis
ecaa235b5e phishing detection - move phishing detection into contentscript and metamask controller 2017-08-02 14:26:10 -07:00
Dan Finlay
6675241fa9 Merge branch 'master' into i1805-LiveBlacklistUpdating 2017-07-26 16:46:59 -07:00
Dan Finlay
8b1726cc55 Live update blacklist from Infura 2017-07-26 16:30:54 -07:00
Dan Finlay
3d8ebf2265 Begin implementing live-updating blacklist, not working yet 2017-07-26 12:27:16 -07:00
Kevin Serrano
044c16219b
Fix badge number to include personal_sign 2017-06-20 15:38:23 -07:00
Thomas Huang
13e6672028 Linting 2017-06-12 11:08:32 -07:00
Dan Finlay
2df9344be5 Rename tx manager to tx controller 2017-05-16 10:35:28 -07:00
kumavis
5c9449dec1 background - drop async-q in favor of async/await 2017-05-12 13:09:23 -07:00
Thomas Huang
6bdb4c8728 Fix linting warnings 2017-04-26 21:05:45 -07:00
kumavis
86e882c51a notification-manager - rename show -> showPoup + make getPopup private 2017-03-31 18:41:51 -07:00
kumavis
5036263f88 introduce platform api and rename notifications to notification-manager 2017-03-30 18:33:19 -07:00
Dan Finlay
4697aca02c Got personal_sign working
Also fixed bug where signing would not close popup.
2017-02-23 14:23:45 -08:00
Frankie
8be68575bb Clean up message manger includes:
Provider egine bump
Remove presence of message manger in keyring controller
Change the status wording fom conf to approved
make Message manager a class
fix messages not being apart of the badge
re write message manger to better reflect controller pattern
2017-01-28 20:28:20 -08:00
kumavis
2113979be7 metamask controller - adopt setup*Communication from background 2017-01-26 20:52:46 -08:00
kumavis
fc3a53ec7b background - stream disconnection fix 2017-01-26 20:18:28 -08:00
kumavis
76ce348a04 obs-store - use published module 2017-01-24 19:47:00 -08:00
kumavis
74dc20bdf1 Merge branch 'dev' into obs-store2 2017-01-21 10:06:50 -08:00
kumavis
f49fb149cc background - txManager - filter txs by network 2017-01-14 21:29:46 -08:00
kumavis
bc1615f032 background - fix metamaskController store -> diskStore persistence 2017-01-12 14:40:04 -08:00
kumavis
80514d73b5 migrations - wip - 005 multivault migration 2017-01-12 02:24:33 -08:00