1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-11 20:27:12 +01:00
Commit Graph

1264 Commits

Author SHA1 Message Date
Mark Stacey
e85b162651
Add MESSAGE_TYPE enum (#8743)
Each "message" requiring a user confirmation has a unique `type`
property. These `type` properties have all been added as enums, and the
enum is now used wherever the literal string was used previously.
2020-06-04 16:22:45 -03:00
Mark Stacey
df85ab6e10
Implement asset page (#8696)
A new page has been created for viewing assets. This replaces the old
`selectedToken` state, which previously would augment the home page
to show token-specific information.

The new asset page shows the standard token overview as seen previously
on the home page, plus a history filtered to show just transactions
relevant to that token.

The actions that were available in the old token list menu have been
moved to a "Token Options" menu that mirrors the "Account Options"
menu.

The `selectedTokenAddress` state has been removed, as it is no longer
being used for anything.

`getMetaMetricState` has been renamed to `getBackgroundMetaMetricState`
because its sole purpose is extracting data from the background state
to send metrics from the background. It's not really a selector, but
it was convenient for it to use the same selectors the UI uses to
extract background data, so I left it there for now.

A new Redux store has been added to track state related to browser history.
The most recent "overview" page (i.e. the home page or the asset page) is
currently being tracked, so that actions taken from the asset page can return
the user back to the asset page when the action has finished.
2020-06-01 14:54:32 -03:00
Mark Stacey
9e2e353a24
Define global web3 as non-enumerable (#8634)
We inject `web3` globally on most websites. This has been breaking
websites that attempted to serialize the `window` object, because any
attempt to access certain `web3` properties (such as `web3.eth.mining`)
would throw an error. This is because `web3` defined a getter for these
properties that would call `.send([method])`, which doesn't work for
most methods.

An example of a site that this breaks is `Storybook`, when the
`@storybook/addon-actions` addon is being used. When using storybook
with this addon and with the MetaMask extension installed, actions
would not be properly dispatched because an error would be thrown in
the attempt to serialize the event (which includes a reference to the
`window`).

The `web3` global we inject is now defined as non-enumerable, so it
will be skipped automatically in any attempt to serialize the `window`
object.
2020-05-20 20:18:25 -07:00
Erik Marks
f748664638
Cleanup network enums (#8627)
* cleanup & consolidate network enums
2020-05-20 08:57:45 -07:00
Whymarrh Whitby
9c1eae2965
Delete unused util functions (#8622) 2020-05-20 10:36:41 -02:30
Whymarrh Whitby
a03ef1b002
Memoize getEnvironmentType function (#8624)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
2020-05-20 10:36:18 -02:30
Whymarrh Whitby
97d65b645a
Delete the ABTestController and its state (#8620) 2020-05-19 13:27:06 -02:30
Henrique Dias
890bc25e28
Support IPNS address translations (#8502)
License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>

Co-authored-by: Whymarrh Whitby <whymarrh.whitby@gmail.com>
2020-05-14 07:56:27 -02:30
Mark Stacey
7e75eb15ef
Delete Balance controller and pending balances calculator (#8542)
This controller was not used. It was used by the
`ComputedBalancesController`, which was removed in #7057 (as it was
also unused).

The pending balances calculator was only used by the balances
controller.
2020-05-06 20:19:28 -03:00
Whymarrh Whitby
ceb5970afd
Remove unused NotificationManager#closePopup (#8530) 2020-05-05 21:02:29 -02:30
Whymarrh Whitby
6b5bbe50ee
Delete createDnodeRemoteGetter.js (#8523) 2020-05-05 20:10:07 -02:30
Whymarrh Whitby
f5a125fe61
Move export defaults statements alongside their objects (#8525) 2020-05-05 19:49:38 -02:30
Erik Marks
786e82791e
Reorganize selectors directory (#8497) 2020-05-02 12:41:17 -07:00
Brad Decker
0c7269f599
fixes firefox popup location (#8467)
Co-Authored-By: Whymarrh Whitby <whymarrh.whitby@gmail.com>
2020-04-29 17:04:03 -05:00
Erik Marks
c011c0406b
Add new inpage provider package (#8442)
* add @metamask/inpage-provider

* fix failing e2e tests

Co-authored-by: Mark Stacey <markjstacey@gmail.com>
2020-04-28 17:14:51 -07:00
Whymarrh Whitby
d612f9988e
Move default export declaration to Migrator class (#8407) 2020-04-26 00:02:41 -02:30
Mark Stacey
cc41dee92c
Remove leftover references to Coinbase (#8403)
Coinbase was removed as a deposit option some time ago.
2020-04-23 20:32:15 -03:00
Brad Decker
f9989c52c5
Position notification relative to last focused window (#8356) 2020-04-19 19:30:17 -02:30
Mark Stacey
5ee1291662
Prevent accidental use of globals (#8340)
Previously all browser globals were allowed to be used anywhere by
ESLint because we had set the `env` property to `browser` in the ESLint
config. This has made it easy to accidentally use browser globals
(e.g. #8338), so it has been removed. Instead we now have a short list
of allowed globals.

All browser globals are now accessed as properties on `window`.

Unfortunately this change resulted in a few different confusing unit
test errors, as some of our unit tests setup assumed that a particular
global would be used via `window` or `global`. In particular,
`window.fetch` didn't work correctly because it wasn't patched by the
AbortController polyfill (only `global.fetch` was being patched).
The `jsdom-global` package we were using complicated matters by setting
all of the JSDOM `window` properties directly on `global`, overwriting
the `AbortController` for example.

The `helpers.js` test setup module has been simplified somewhat by
removing `jsdom-global` and constructing the JSDOM instance manually.
The JSDOM window is set on `window`, and a few properties are set on
`global` as well as needed by various dependencies. `node-fetch` and
the AbortController polyfill/patch now work as expected as well,
though `fetch` is only available on `window` now.
2020-04-15 14:23:27 -03:00
Mark Stacey
852277b2ae
Refactor notification manager and triggerUi to use extension platform (#8317)
The notification manager has been refactored to use the extension
platform module instead of using `extensionizer` directly. The
extension platform API presents a more ergonomic API, and it correctly
handles errors (which the old notification manager did not). Methods
that the extension platform lacked have been added.

It has been updated to use `async/await` instead of callbacks as well,
for readability.

The `triggerUI` function has also been updated to use the extension
platform instead of `extensionizer`.
2020-04-11 12:12:45 -03:00
Mark Stacey
28e2354583
Fix Sentry error processing for errors missing a stack (#8179)
Errors without stack traces would break the Sentry error processing,
which assumes the presence of a stack trace. Many errors don't have any
stack trace though, such as uncaught promises.

This breakage resulting in the app state being missing from the error
report, and a console warning.
2020-03-12 10:51:05 -03:00
Erik Marks
2df8b85c5f
LoginPerSite: Support multiple accounts without automatic switching (#8079)
* transaction editing: use txParams 'from' account

* signature-request: use txParams 'from' account

* signature-request-original: use txParams 'from' account

* encryption/decryption: use txParams 'from' account

* update tests

* set 'send' state 'from' address in confirm containers
2020-03-06 13:34:56 -08:00
Dan J Miller
1d2c57a2f3
Assign tabId to middleware request, if provided (#7695)
The `tabId` of the message sender is now added to the middleware
request object. This step is omitted if the `tabId` is not provided.
This is done early in the middleware stack, so the `tabId` should be
available for any subsequent middleware to use.

The Onboarding Middleware has also been modified to get the `tabId`
from the request object, rather than expecting it as a parameter upon
creation.

This refactor will enable further uses of the `tabId`.
2020-02-20 18:39:00 -04:00
Konstantin
6f47fece56
Implementation encrypt/decrypt feature (#7831)
Implement `eth_decrypt` and `eth_getEncryptionPublicKey`. This allows decryption backed by the user's private key. The message decryption uses a confirmation flow similar to the messaging signing flow, where the message to be decrypted is also able to be decrypted inline for the user to read directly before confirming.
2020-02-19 14:24:16 -04:00
Jenny Pollack
c1453c7528
Merge pull request #8056 from whymarrh/arrow-parens
Enable arrow-parens ESLint rule
2020-02-17 15:26:43 -07:00
Whymarrh Whitby
a78cf0ef3a Enable arrow-parens ESLint rule 2020-02-15 17:04:21 -03:30
Mark Stacey
62c5ea4f80
Update Wyre ETH purchase url (#8051)
* Revert "Revert "Update Wyre ETH purchase url" (#7631)"

This reverts commit bc67d1eeca.

* Restrict widget to just debit card payments

Apple Pay apparently only works on Safari.
2020-02-14 14:07:24 -08:00
Erik Marks
8e307f8d71
update inpage-provider; minor fixes (#7997) 2020-02-06 07:57:54 -08:00
Whymarrh Whitby
0159670214
Update ENS registry addresses (#7954) 2020-01-30 12:03:28 -03:30
Mark Stacey
ee415058cc
Only resolve ENS on mainnet (#7944)
The ENS resolver will now bail on any network other than mainnet.
2020-01-29 20:57:14 -04:00
Mark Stacey
cbfe5484d8
Add Sentry environment (#7923)
Any error sent to Sentry will now be marked with the environment they
were sent from. The environment is set at build time, and is set
dependant upon the build flags and CI-related environment variables.

Setting the environment will let us filter error reports in Sentry to
focus specifically upon reports sent from production, release
candidates, PR testing, or whatever else.
2020-01-29 17:03:49 -04:00
Mark Stacey
398a45bfdd
Replace clone dependency with cloneDeep from lodash (#7926)
This was done to reduce the number of direct dependencies we have. It
should be functionally equivalent. The bundle size should not change,
as we use `clone` as a transitive dependency in a number of places.
2020-01-29 13:14:33 -04:00
Mark Stacey
b8cdc928f6
Report errors in tests to test-metamask Sentry project (#7924)
Previously, all errors encountered during testing or production were
sent to the primary `metamask` Sentry project, whereas development
errors were sent to `test-metamask` instead. This change ensures that
errors encountered during tests are sent to `test-metamask` as well.
2020-01-29 12:12:49 -04:00
Mark Stacey
38a71a6067
Update Sentry to v5.x (#7880)
Theses changes were made in accordance with the provided migration
guide [1].

The two integrations added were included by default on v4.x, so this
shouldn't result in any change in behavior.

[1]:  https://github.com/getsentry/sentry-javascript/blob/master/MIGRATION.md
2020-01-26 12:49:58 -04:00
Mark Stacey
86c6280bc3
Remove unnecessary get environment type parameter (#7891)
* Remove unnecessary `getEnvironmentType` parameter

The default value of the first parameter is `window.location.href`, so
there is no need to pass it in explicitly.

* Remove junk parameter from `getEnvironmentType` invocation

`getEnvironmentType` doesn't need to be passed any parameter, as the
default value is `window.location.href` which is generally what is
wanted. In this case, the variable `location.href` was always
`undefined` anyway. This particular `location` variable is from React
Router, and does not have an `href` property.

* Fix comment for `getEnvironmentType`

One of the possible return values was referred to by the wrong name.
2020-01-24 15:12:58 -04:00
Whymarrh Whitby
76a31c3175 Clean up Migrator test cases (#7835) 2020-01-15 13:54:28 -08:00
Whymarrh Whitby
a891fa36b6
Remove MetaMask Mesh testing client (#7818) 2020-01-14 15:44:12 -03:30
Mark Stacey
ac01c5c89a
Consistent jsdoc syntax (#7755)
* Specify type before parameter name

Various JSDoc `@param` entries were specified as `name {type}` rather
than `{type} name`.

A couple of `@return` entries have been given types as well.

* Use JSDoc optional syntax rather than Closure syntax

* Use @returns rather than @return

* Use consistent built-in type capitalization

Primitive types are lower-case, and Object is upper-case.

* Separate param/return description with a dash
2020-01-13 14:36:36 -04:00
Whymarrh Whitby
92971d3c87
Migrate codebase to use ESM (#7730)
* Update eslint-plugin-import version

* Convert JS files to use ESM

* Update ESLint rules to check imports

* Fix test:unit:global command env

* Cleanup mock-dev script
2020-01-09 00:04:58 -03:30
Mark Stacey
69d418a5a3
Login per site onboarding (#7602)
* Remove unused onboarding stream

* Pass `sender` through to `setupProviderEngine`

The Port `sender` has been passed down a few more layers. This allows
us to get more information from the sender deeper in the stack, but
also simplifies things a bit as well. For example, now the "fake"
URL object with the `metamask` hostname is no longer needed.

* Create onboarding middleware

This middleware intercepts `wallet_registerOnboarding` RPC messages. It
will register the sender as an oboarding initiator if possible, and
otherwise ignores the message.
2019-12-20 12:02:31 -03:30
Whymarrh Whitby
62d5e47bcb
Remove unused DiagnosticsReporter class (#7701) 2019-12-13 12:03:50 -03:30
Whymarrh Whitby
2a8e586142
Remove unused methods from one of the many utils files (#7702) 2019-12-13 11:21:07 -03:30
pldespaigne
0ef7f603d6 Ipfs cid v1 base32 (#7362)
add ipfs gateway to advanced settings
use ipfs gateway from settings
use ipfs.dweb.link as default CID gateway
disallow gateway.ipfs.io as gateway
2019-12-12 11:28:07 -08:00
Whymarrh Whitby
f49bc58c09
Remove unused methods from the app/scripts/ (#7692) 2019-12-12 15:07:18 -03:30
Mark Stacey
eadeaa7883 End-to-end test state fixtures (#7663)
* Add network store for testing

An alternative persistent state store has been created for use with e2e
tests. Instead of reading state from disk, it tries to load state from
a local fixture server running on port `12345` and serving state from
the path `/state.json`, and returns a blank state otherwise.

* Add e2e test fixture server

A fixture server has been added for serving background state, which the
background will read upon startup as part of restoring persisted state.

The `signature-request` e2e test has been updated to use a fixture to
bypass the registration step. The fixture used (`imported-account`) was
generated by pausing midway through that test run
2019-12-11 09:26:20 -08:00
Dan Finlay
30304913eb
Merge pull request #7591 from whymarrh/eslint-object-curly-spacing
Enable object-curly-spacing rule for ESLint
2019-12-04 10:25:32 -08:00
Thomas Huang
bc67d1eeca
Revert "Update Wyre ETH purchase url" (#7631)
* Revert "Update Wyre buy ETH URL (#7482)"

This reverts commit 015ba83c6e.

* Change test description from coinbase to wyre
2019-12-03 17:12:14 -08:00
Whymarrh Whitby
274a9ecf53 yarn lint --fix 2019-12-03 17:20:55 -03:30
Dan Finlay
f519fa1ed3
Connect distinct accounts per site (#7004)
* add PermissionsController

remove provider approval controller
integrate rpc-cap
create PermissionsController
move provider approval functionality to permissions controller
add permissions approval ui, settings page
add permissions activity and history
move some functionality to metamask-inpage-provider
rename siteMetadata -> domainMetadata

add accountsChange notification to inpage provider
move functionality to inpage provider
update inpage provider
Remove 'Connections' settings page (#7369)
add hooks for exposing accounts in settings
rename unused messages in non-English locales

Add external extension id to metadata (#7396)

update inpage provider, rpc-cap
add eth_requestAccounts handling to background
prevent notifying connections if extension is locked
update inpage provider
Fix lint errors
add migration
review fixes
transaction controller review updates
removed unused messages

* Login Per Site UI (#7368)

* LoginPerSite original UI changes to keep

* First commit

* Get necessary connected tab info for redirect and icon display for permissioned sites

* Fix up designs and add missing features

* Some lint fixes

* More lint fixes

* Ensures the tx controller + tx-state-manager orders transactions in the order they are received

* Code cleanup for LoginPerSite-ui

* Update e2e tests to use new connection flow

* Fix display of connect screen and app header after login when connect request present

* Update metamask-responsive-ui.spec for new item in accounts dropdown

* Fix approve container by replacing approvedOrigins with domainMetaData

* Adds test/e2e/permissions.spec.js

* Correctly handle cancellation of a permissions request

* Redirect to home after disconnecting all sites / cancelling all permissions

* Fix display of site icons in menu

* Fix height of permissions page container

* Remove unused locale messages

* Set default values for openExternalTabs and tabIdOrigins in account-menu.container

* More code cleanup for LoginPerSite-ui

* Use extensions api to close tab in permissions-connect

* Remove unnecessary change in domIsReady() in contentscript

* Remove unnecessary private function markers and class methods (for background tab info) in metamask-controller.

* Adds getOriginOfCurrentTab selector

* Adds IconWithFallback component and substitutes for appropriate cases

* Add and utilize font mixins

* Remove unused  method in disconnect-all.container.js

* Simplify buttonSizeLarge code in page-container-footer.component.js

* Add and utilize getAccountsWithLabels selector

* Remove console.log in ui/app/store/actions.js

* Change last connected time format to yyyy-M-d

* Fix css associated with IconWithFallback change

* Ensure tracked openNonMetamaskTabsIDs are correctly set to inactive on tab changes

* Code cleanup for LoginPerSite-ui

* Use reusable function for modifying openNonMetamaskTabsIDs in background.js

* Enables automatic switching to connected account when connected domain is open

* Prevent exploit of tabIdOriginMap in background.js

* Remove unneeded code from contentscript.js

* Simplify current tab origin and window opener logic using remotePort listener tabs.queryTabs

* Design and styling fixes for LoginPerSite-ui

* Fix permissionHistory and permission logging for eth_requestAccounts and eth_accounts

* Front end changes to support display of lastConnected time in connected and permissions screens

* Fix lint errors

* Refactor structure of permissionsHistory

* Fix default values and object modifications for domain and permissionsHistory related data

* Fix connecting to new accounts from modal

* Replace retweet.svg with connect-white.svg

* Fix signature-request.spec

* Update metamask-inpage-provider version

* Fix permissions e2e tests

* Remove unneeded delay from test/e2e/signature-request.spec.js

* Add delay before attempting to retrieve network id in dapp in ethereum-on=.spec

* Use requestAccountTabIds strategy for determining tab id that opened a given window

* Improve default values for permissions requests

* Add some message descriptions to app/_locales/en/messages.json

* Code clean up in permission controller

* Stopped deep cloning object in mapObjectValues

* Bump metamask-inpage-provider version

* Add missing description in app/_locales/en/messages.json

* Return promises from queryTabs and switchToTab of extension.js

* Remove unused getAllPermissions function

* Use default props in icon-with-fallback.component.js

* Stop passing  to permissions controller

* Delete no longer used clear-approved-origins modal code

* Remove duplicate imports in ui/app/components/app/index.scss

* Use URL instead of regex in getOriginFromUrl()

* Add runtime error checking to platform, promise based extension.tab methods

* Support permission requests from external extensions

* Improve font size and colour of the domain origin on the permission confirmation screen

* Add support for toggling permissions

* Ensure getRenderablePermissionsDomains only returns domains with exposedAccount caveat permissions

* Remove unused code from LoginPerSite-ui branch

* Ensure modal closes on Enter press for new-account-modal.component.js

* Lint fix

* fixup! Login Per Site UI (#7368)

* Some code cleanup for LoginPerSite

* Adds UX for connecting to dapps via the connected sites screen (#7593)

* Adds UX for connecting to dapps via the connected sites screen

* Use openMetaMaskTabIds from background.js to determine if current active tab is MetaMask

* Delete unused permissions controller methods

* Fixes two small bugs in the LoginPerSite ui (#7595)

* Restore `providerRequest` message translations (#7600)

This message was removed, but it was replaced with a very similar
message called `likeToConnect`. The only difference is that the new
message has "MetaMask" in it. Preserving these messages without
"MetaMask" is probably better than deleting them, so these messages
have all been restored and renamed to `likeToConnect`.

* Login per site no sitemetadata fix (#7610)

* Support connected sites for which we have no site metadata.

* Change property containing subtitle info often populated by origin to a more accurate of purpose name

* Lint fix

* Improve disconnection modal messages (#7612)

* Improve disconnectAccountModalDescription and disconnectAllModalDescription messages

* Update disconnectAccountModalDescription app/_locales/en/messages.json

Co-Authored-By: Mark Stacey <markjstacey@gmail.com>

* Improve disconnectAccount modal message clarity

* Adds cancel button to the account selection screen of the permissions request flow (#7613)

* Fix eth_accounts permission language & selectability (#7614)

* fix eth_accounts language & selectability

* fix MetaMask capitalization in all messages

* Close sidebar when opening connected sites (#7611)

The 'Connected Sites' button in the accounts details now closes the
sidebar, if it is open. This was accomplished by pulling the click
handler for that button up to the wallet view component, where another
button already followed a similar pattern of closing the sidebar.

It seemed confusing to me that one handler was in the `AccountsDetails`
container component, and one was handed down from above, so I added
PropTypes to the container component.

I'm not sure that the WalletView component is the best place for this
logic, but I've put it there for now to be consistent with the add
token button.

* Reject permissions request upon tab close (#7618)

Permissions requests are now rejected when the page is closed. This
only applies to the full-screen view, as that is the view permission
requests should be handled in. The case where the user deals with the
request through a different view is handled in #7617

* Handle tab update failure (#7619)

`extension.tabs.update` can sometimes fail if the user interacts with
the tabs directly around the same time. The redirect flow has been
updated to ensure that the permissions tab is still closed in that
case. The user is on their own to find the dapp tab again in that case.

* Login per site tab popup fixes (#7617)

* Handle redirect in response to state update in permissions-connect

* Ensure origin is available to permissions-connect subcomponents during redirect

* Hide app bar whenever on redirect route

* Improvements to handling of redirects in permissions-connect

* Ensure permission request id change handling only happens when page is not null

* Lint fix

* Decouple confirm transaction screen from the selected address (#7622)

* Avoid race condtion that could prevent contextual account switching (#7623)

There was a race condition in the logic responsible for switching the
selected account based upon the active tab. It was asynchronously
querying the active tab, then assuming it had been retrieved later.

The active tab info itself was already in the redux store in another
spot, one that is guaranteed to be set before the UI renders. The
race condition was avoided by deleting the duplicate state, and using
the other active tab state.

* Only redirect back to dapp if current tab is active (#7621)

The "redirect back to dapp" behaviour can be disruptive when the
permissions connect tab is not active. The purpose of the redirect was
to maintain context between the dapp and the permissions request, but
if the user has already moved to another tab, that no longer applies.

* Fix JSX style lint errors

* Remove unused state
2019-12-03 09:35:56 -08:00
Whymarrh Whitby
e61745a821
Enable no-var rule for ESLint (#7590)
* eslint: Enable no-var rule
* yarn lint --fix
2019-12-03 11:22:01 -03:30
Xavier Maysonnave
86e7233bd1 Process URL fragment for ens-ipfs redirects (#7604)
Also use app.ens.domains instead of manager.ens.domains
2019-12-02 10:26:02 -03:30
Whymarrh Whitby
926c8848f1
Enable default-case rule for ESLint (#7572)
* eslint: Enable default-case rule

* Fix missing default cases

* Fix tests failing due to incorrect assumptions
2019-11-27 12:38:35 -03:30
Bruno Barbieri
f7c9903d95
Fix chainId for non standard networks (#7502) 2019-11-22 17:25:44 -05:00
Tyson Malchow
015ba83c6e Update Wyre buy ETH URL (#7482) 2019-11-22 11:43:23 -03:30
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
Eduardo Antuña Díez
37b5449c13 Added webRequest.RequestFilter to filter main_frame .eth requests (#7419)
Added webRequest.RequestFilter to filter main_frame .eth requests
2019-11-15 14:23:46 -04:00
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
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
Whymarrh Whitby
06536b1d0f
Fix phishing detect script (#7287) 2019-10-18 13:35:32 -02:30
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
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
Erik Marks
672ade33a6 add user rejected errors 2019-09-18 19:19:12 -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
Erik Marks
38f6550951 fix rinkeby spelling (#7148) 2019-09-10 12:51:34 -10: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
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
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
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
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
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
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
pldespaigne
9a658ee53d merge 2019-05-30 18:22:55 +02: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
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
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
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
kumavis
c3a605f27a
Merge pull request #6328 from MetaMask/clearNotices
Clear notices
2019-03-29 14:23:02 +08:00
kumavis
e04f0c877b lib - nodeify - correctly wrap synchronous functions 2019-03-29 12:37:40 +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 J Miller
4ff9126ff2
Replaces the coinbase link in the deposit modal with one for wyre (#6302) 2019-03-22 12:32:07 -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
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
Whymarrh Whitby
5bf8a36a87 Centre all notification popups 2019-03-12 11:37:14 -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
Vimal
ab5fe4d659 PR 5575 review comment fixes 2019-02-28 19:50:48 +05: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
S.C. Chen
1a4203a8c6 Fix locale codes contains underscore will never be preferred (#6116) 2019-02-08 16:06:37 -03:30
Whymarrh Whitby
1988e1e96b ESLint fixes (#5775)
* eslint . --fix

* Upgrade all ESLint warnings to errors
2018-11-16 14:54:55 -10:00
Vimal
6bb92a8672 merging upstream branch 2018-11-12 17:50:37 +05:30
kumavis
ccbc233282 Merge branch 'develop' of github.com:MetaMask/metamask-extension into sentry-enhancements2 2018-10-29 20:25:05 -04: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
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
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
26b30a031d sentry - move isBrave decoration to insides of try-catch 2018-10-19 04:36:36 -04:00
kumavis
70c45ae8be enable fetch debugging 2018-10-15 01:14:25 -04:00
Noel Yoo
ebdefe81a1 Refactor buffer constructor (#5468) 2018-10-09 09:32:48 -02:30
Eduardo Antuña Díez
8279916ee4 Added webRequest.RequestFilter to filter main_frame .eth requests 2018-10-08 21:50:15 +02:00
Phyrex Tsai
386110ef0f fix tld bug (#5250) 2018-09-27 12:51:50 -02:30
Paul Bouchon
9359fc875d
EIP-1102: Add deprecation message (#5353) 2018-09-26 10:48:17 -04:00
bitpshr
42fdcf6239 Update new method namespace from v2 to v3 2018-09-13 15:42:27 -04:00
bitpshr
68c2554296 Update error message for chainId mis-match 2018-09-13 15:40:57 -04:00
bitpshr
36dd0354e7 Implement latest EIP-712 protocol 2018-09-13 15:40:57 -04:00
Dan Finlay
ce1975fbb4
Merge pull request #5240 from MetaMask/i5238-account-balance-update
Ensure account-tracker currentBlockNumber is set on first block update.
2018-09-11 14:31:10 -07:00
Whymarrh Whitby
d60991ec88 Delete ConfigManager, replacing its usages with PreferencesController 2018-09-11 09:39:16 -07:00
Dan Miller
eb32ccb0c7 Ensure account-tracker currentBlockNumber is set on first block update. 2018-09-11 12:51:49 -02:30
bitpshr
803a79f836 Do not resolve .test domains using ENS 2018-08-24 12:40:37 -04:00
kumavis
a2654108be account-tracker - only track blocks when there are activeControllerConnections 2018-08-21 16:49:24 -07: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
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
Bruno Barbieri
e2be22a4b7
Merge pull request #4897 from MetaMask/qr-code-scan
QR Code Scanner
2018-08-10 13:40:06 -04:00
Jenny Pollack
00a2ab21ae sentry - change releaseVersion to release 2018-08-09 13:49:40 -07:00
Eduardo Antuña Díez
a2082bae5c Avoid overwriting a domain that can be resolved by DNS
According to the current implementation any domain ending in .eth or .test will try to resolve through ENS even if the DNS is able to resolve it.
changing `onBeforeRequest` to `onErrorOccurred` will only resolve those .eth or .test domains that the DNS is not able to resolve.
2018-08-09 12:20:51 +02:00
Eduardo Antuña Díez
543207b5af Fixed ENS to IPFS functionality in Firefox
`tabs.getSelected` is deprecated and it doesn't work in firefox replaced by `tabs.query({active: true}`
2018-08-09 12:14:09 +02:00
brunobar79
c6b7e460b5 code review changes 2018-08-08 03:00:39 -04:00
Thomas Huang
024ebe07e0 Merge branch 'develop' into network-remove-provider-engine-tests 2018-08-01 10:40:31 -07:00
bitpshr
642ae25073 Add deprecation message for eth_signTypedData 2018-07-27 15:23:05 -04:00
Thomas
138858647e Merge branch 'develop' into network-remove-provider-engine 2018-07-25 22:38:44 -07:00
Bruno Barbieri
9be2248d7a
Merge pull request #4625 from MetaMask/initial-trezor-support
Initial trezor support
2018-07-19 15:00:59 -04: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
d24b5b76fd Update variable name 2018-07-19 08:04:17 -04:00
bitpshr
d02c160db5 Updates for linting 2018-07-19 08:04:17 -04:00
bitpshr
94f99b6ed0 Updates 2018-07-19 08:04:17 -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
brunobar79
7c9d942ba1 Merge branch 'develop' of github.com:MetaMask/metamask-extension into initial-trezor-support 2018-07-06 19:21:18 -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
3837c2ddd7 fix merge conflicts 2018-07-03 15:41:18 -04: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
bitpshr
badf0ce314 Conditionally use Promise-based extension API when creating windows 2018-07-03 13:33:13 -04:00
brunobar79
3290421e2f fix merge conflicts 2018-07-03 13:31:30 -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
brunobar79
451c05bcbb fix environment detection regex 2018-07-02 15:14:05 -04:00
PhyrexTsai
11736e6318
Update to support pathnames on IPFS hash
As @Georgi87 mentioned about pathnames on the domain like `http://phyrextsai.eth/home` will pass to IPFS hash and append `/home` on redirection url.

You can try the example below: 
http://phyrextsai.eth/index.html
http://phyrextsai.eth/images/phyrex.jpg
2018-06-29 13:57:41 +08:00
Thomas Huang
46b2f1df11
Merge pull request #4592 from vittominacori/fix/close-popup-bug-#4553
set an id to the metamask notification popup
2018-06-20 15:50:07 -07:00
vittominacori
ff3c262621 set the popup id returned by create promise 2018-06-17 19:16:30 +02:00
vittominacori
4c1b526137 set an id to the metamask notification popup 2018-06-16 18:51:01 +02:00
Dan Finlay
3a6cc3c8fd Re-enable dapp reload on network change
We want to give devs some time to digest [this blog post](https://medium.com/metamask/breaking-change-no-longer-reloading-pages-on-network-change-4a3e1fd2f5e7) before we making a breaking change to our platform.

Makes it easy to re-implement the change.
2018-06-14 15:15:23 -07:00
kumavis
d9ef72cb7e
Merge branch 'develop' into save-brave 2018-06-14 10:11:35 -07:00
Dan Finlay
11bfdf444d Handle brave throws 2018-06-14 10:09:45 -07:00
kumavis
7b414f3ed0 background - persistence pipeline - fix persistence bug 2018-06-13 16:45:18 -07:00
Erik Marks
b982961381 removed auto-reload.js, moved global web3 export to inpage.js 2018-06-12 11:04:37 -07:00
Erik Marks
f461bd8812 wip 2018-06-12 09:28:50 -07:00
Jenny Pollack
fd8bcc9cb1 lint 2018-06-06 22:08:32 -07:00
Jenny Pollack
01a1eff8a8 remove loglevel 2018-06-06 18:35:41 -07:00
Jenny Pollack
7edde61c12 preferred first languauge - check for Brave 2018-06-06 18:24:45 -07:00
Jenny Pollack
275c31855d first language - add check for brave browser on getAcceptLanguages 2018-06-06 18:10:05 -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
kumavis
36a0574f56 diagnostics - minor fixes 2018-06-05 12:20:24 -07:00
kumavis
ece5cfc785 lint - fix diagnostics reporter 2018-06-05 11:53:21 -07:00
kumavis
20bdba3d17 diagnostics - rewrite bug-notifier as diagnostics-reporter 2018-06-05 11:51:27 -07:00
Dan Finlay
22754e3e1f Linted 2018-06-04 15:10:51 -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
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
kumavis
a08e58f0fd
Merge pull request #4426 from MetaMask/sentry-url-rewrite-fix
sentry - message rewrite - guard against missing message
2018-06-03 10:50:05 -07:00
bitpshr
ccae937f41 Properly end the middleware stack on RPC error 2018-06-01 12:57:57 -04:00
PhyrexTsai
f90d070190
Merge branch 'develop' into portal-metamask 2018-06-01 15:41:18 +08:00
Yung chieh Tsai
77d17f2d55 Update ipfs to infura 2018-06-01 11:27:05 +08:00
kumavis
e2e4496c87 sentry - message rewrite - guard against missing message 2018-05-30 17:42:41 -07:00
Yung chieh Tsai
181a11eae2 Update default provider 2018-05-30 09:57:31 +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
384cb126dd Update lib 2018-05-29 19:29:12 +08:00
kumavis
e3ecc94a52
i18n - getFirstPreferredLangCode - guard against missing i18n api
fix for brave
2018-05-28 21:50:23 -07:00
Yung chieh Tsai
829deacb57 Rename files 2018-05-29 12:44:37 +08:00
MikeCheng1208
8b8cc94f6f Intergrate ENS with IPFS 2018-05-29 12:38:32 +08:00
MikeCheng1208
88a6b4edc7 setTimeout bug fix 2018-05-29 12:38:32 +08:00
MikeCheng1208
695b157e7b Intergrate ENS with IPFS 2018-05-29 12:38:25 +08: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
kumavis
aab9691c42 provider - update wallet hooks for new wallet middleware 2018-05-24 15:51:46 -07:00
kumavis
91accee2c6 account-tracker - guard against empty block 2018-05-24 13:43:36 -07:00
kumavis
f41198fbb6 sentry - setupRaven - ensure message is truthy 2018-05-23 22:33:02 -07:00
kumavis
eb2423799d controllers - account-tracker - refactor + update for eth-block-tracker@4 2018-05-23 16:22:40 -07:00
kumavis
3a80f3dd83 Merge branch 'develop' of github.com:MetaMask/metamask-extension into network-remove-provider-engine 2018-05-22 13:20:04 -07:00
Dan Finlay
713c77db54
Merge pull request #4199 from MetaMask/i3487-provider-errors
RPC error middleware for json-rpc-engine
2018-05-18 11:57:29 -07:00
kumavis
3e04840a71 remove unused events-proxy, was replaced with module swappable-obj-proxy 2018-05-16 21:10:41 -07:00
bitpshr
ce2834400c Add new json-rpc-engine middleware for improved error handling 2018-05-14 08:33:47 -04:00
kumavis
93a9ef284e sentry - add helper to fully rewrite all error messages 2018-04-30 16:05:01 -07:00
kumavis
e881ea7aaf sentry - report error-like messages using the obj message 2018-04-30 12:10:15 -07:00
kumavis
2a8d3ea450 sentry - wrap report modifiers in a try-catch 2018-04-30 12:07:48 -07:00
kumavis
5f3f8c85fc
Merge pull request #4059 from MetaMask/i-4033-seed-words
Use new design for Reveal Seed screen. Persist seed words only in the first time flow.
2018-04-30 12:04:53 -06:00
frankiebee
873f85d996 guard adainst raven erroring 2018-04-29 13:46:07 -07:00
kumavis
dcd04091cc
Merge pull request #4042 from MetaMask/tx-controller-rewrite-v3
docs and file organization for txController
2018-04-25 16:52:46 -06:00
Dan
0fbd389a50 lint fix 2018-04-24 13:18:34 -02:30
Dan
ed264d3479 Merge branch 'master' into dm-docs-2 2018-04-24 12:36:30 -02:30
Dan
020824f3c7 Remove accidentally added code in message-manager. 2018-04-24 12:36:26 -02:30
Dan
016d492414 Remove unnecessary doc comment. 2018-04-24 12:20:38 -02:30
Alexander Tseung
9e41f58af2 Clean up network config 2018-04-23 10:18:05 -07:00
Dan
0c26df9653 Fix nits. 2018-04-23 14:11:02 -02:30
Alexander Tseung
1d2d9798cb Merge branch 'master' of https://github.com/MetaMask/metamask-extension into i-4033-seed-words 2018-04-22 09:28:29 -07:00
Alexander Tseung
477b74124d Revert "Fix UI getting stuck in Reveal Seed screen"
This reverts commit 2c8156ebe9.
2018-04-21 22:23:45 -07:00
Dan Finlay
74c419f9b6
Merge pull request #4020 from MetaMask/i3941-jsdoc-bitpshr
Documentation
2018-04-20 14:10:05 -07:00
Dan
69920045e9 Minor fixes in a number of docs. 2018-04-20 15:48:58 -02:30
Dan
3ec22dc7e1 Notification manager method docs. 2018-04-20 15:48:44 -02:30
Dan
71b0de76ff Merge branch 'master' into dm-docs-2 2018-04-20 13:23:17 -02:30
bitpshr
8636f3bae5 Clean up JSDoc for background scripts 2018-04-19 15:14:00 -04:00
frankiebee
c20c97ce62 Merge branch 'master' into tx-controller-rewrite-v3 2018-04-19 11:49:11 -07:00
bitpshr
9c7eafc86f Add more documentation to computed balances controller 2018-04-19 14:37:08 -04:00
Dan
9f12c26d44 Even more documentation for various controllers and libs. 2018-04-19 13:08:56 -02:30
Dan Finlay
4544d57f26
Merge pull request #3984 from whymarrh/3941-jsdoc
Add a few docblocks to background files
2018-04-18 15:37:50 -07:00
Dan Finlay
6742a5b272
Merge pull request #3987 from MetaMask/dm-docs-1
Documentation for various controllers and and lib utils
2018-04-18 13:39:31 -07:00
Whymarrh Whitby
603c1310ff Add a few missing docblocks to background files 2018-04-18 18:00:22 -02:30
Dan
649d2f8b22 Merge branch 'master' into dm-docs-1 2018-04-18 16:15:48 -02:30
Alexander Tseung
2c8156ebe9 Fix UI getting stuck in Reveal Seed screen 2018-04-18 10:18:24 -07:00
Alexander Tseung
b0a105ce80 Fix confirmation popup not always opening 2018-04-17 08:58:37 -07:00
Dan
6da00c4061 Add missing descriptions in util.js 2018-04-17 00:56:46 -02:30
Dan
7b5d506cec Document async function as returning a promise. 2018-04-17 00:55:10 -02:30
Dan
e9ca7199ab Typo fixes, type fixes on the return clauses of the buyEthUrl and getPrefferedLangCode functions. 2018-04-16 21:23:29 -02:30
Dan
23acddf8f6 @params -> @param fix 2018-04-16 19:45:27 -02:30
Dan
20a075657f Documentation for various controllers and libs 2018-04-16 14:38:04 -02:30
bitpshr
7129d7c0f3 Require loglevel singleton in each module that uses it 2018-04-13 17:56:28 -04:00
bitpshr
8974f933fc Add tests for ComposableObservableStore 2018-04-13 14:32:58 -04:00
bitpshr
4780f825b1 Add ComposableObservableStore for subscription management 2018-04-13 10:20:44 -04:00
Dan
8fb1237d64 Documentation for environemnt-type.js 2018-04-12 13:17:46 -02:30
frankiebee
2d7c3c2b00 meta - transactions - create a transactions dir in controller and move relevant files into it 2018-04-10 14:28:05 -07:00
kumavis
4cae3d3b0d
Merge pull request #3921 from MetaMask/gh-3736-react-router
Add react-router integration
2018-04-09 10:55:46 -07:00
kumavis
26fe638377
tx-state-manager - dont remove old tx history if candidate is not found 2018-04-06 10:18:00 -07:00
Alexander Tseung
4c15c0d3ba Merge branch 'master' of https://github.com/MetaMask/metamask-extension into cb-254 2018-04-05 23:17:22 -07:00
kumavis
79932b7e17
Merge pull request #3857 from MetaMask/match-local-localecodes
Ensure get-first-preferred-lang-code.js matches locale codes from loc…
2018-04-05 15:08:19 -07:00
Frankie
2dfa8a2e50
Merge pull request #3900 from MetaMask/migration-error-report
migrations - report migrations errors to sentry with vault structure
2018-04-05 15:03:53 -07:00
kumavis
ffc71ff7d2 migrator - dont overwrite error stack and warn to console 2018-04-05 13:38:34 -07:00
kumavis
7fdf663ea7 migrator - fix typo 2018-04-05 13:21:00 -07:00
kumavis
2b880dd4e0 migrations - report migrations errors to sentry with vault structure 2018-04-05 13:15:08 -07:00
Alexander Tseung
418926ffdf Fix populating txParams with undefined data 2018-04-05 09:54:41 -07:00
Alexander Tseung
5b2ace3b80 Merge branch 'master' of https://github.com/MetaMask/metamask-extension into cb-254 2018-04-04 18:21:35 -07:00
frankiebee
6ab938546c Merge branch 'master' of https://github.com/MetaMask/metamask-extension into normalize-transactions 2018-04-04 14:28:25 -07:00
frankiebee
457a47bf62 transactions - normalize txParams 2018-04-04 14:27:20 -07:00
kumavis
502011019a tx - txParams - allow chainId to be a hex string 2018-04-04 08:59:03 -07:00
Alexander Tseung
34e608e9dc Merge branch 'master' of https://github.com/MetaMask/metamask-extension into cb-254 2018-04-03 17:06:00 -07:00
Dan
3c4b72bf2c Map existingLocaleCodes and userPreferredLocaleCodes to lower case in get-first-preferred-lang-code.js 2018-04-03 20:52:17 -02:30
Dan
5aff114001 Ensure get-first-preferred-lang-code.js matches locale codes from local directory names and chrome extension api. 2018-04-03 20:34:28 -02:30
kumavis
83df8b58ba tx-state-manager - validateTxParams - validate chainId is Number 2018-04-03 13:55:20 -07:00
frankiebee
3b1e4c74f5 transactions - dont throw if chain id is not a string 2018-04-03 12:17:53 -07:00
kumavis
00657e14a8 build - correctly set METAMASK_ENV via envify 2018-04-03 09:51:33 -07:00
Alexander Tseung
35875863d2 Fix merge conflicts. Modify send workflow 2018-04-03 01:03:31 -07:00
frankiebee
ab126b8c78 transactions gasLimit - use the block gasLimit if getCode fails 2018-04-02 15:43:32 -07:00
frankiebee
e8a480aac4 transactions validationt - valdate from field on txParams 2018-04-02 13:17:54 -07:00
Alexander Tseung
ba23843f91 Fix merge conflicts 2018-03-30 16:18:48 -07:00
Alexander Tseung
ef61ef2ce8 Fix i18n merge conflicts 2018-03-29 09:37:29 -07:00
Frankie
650b716f55
Merge pull request #3782 from MetaMask/i3670-FixNonceBug
Add test for suspected nonce bug
2018-03-28 14:38:40 -07:00
Dan Finlay
f50a7a8fe8 Rename variable to be more understandable 2018-03-28 14:18:03 -07:00
Frankie
06112b3e30
Merge pull request #3765 from MetaMask/sentry-error-simplify
sentry - simplify error message 'Transaction Failed: known transaction'
2018-03-28 12:55:52 -07:00
kumavis
21fbaed97c tx controller - explode on non-hex txParams + dont add chainId to txParams + sign with chainId as number 2018-03-27 23:55:18 -07:00
kumavis
97e1fcd331 sentry - simplify error message 'Transaction Failed: known transaction' 2018-03-27 20:41:10 -07:00
Frankie
76e83365ca
Merge pull request #3752 from MetaMask/sentry-error-fix
sentry - simplify all ethjs errors for better batching
2018-03-27 19:13:42 -07:00
kumavis
165ae7d193 i18n - derrive locale codes from index 2018-03-27 18:07:24 -07:00
kumavis
5290570c8f Merge branch 'master' of github.com:MetaMask/metamask-extension into i18n-translator-redux 2018-03-27 17:17:04 -07:00
kumavis
651e48dbd6 sentry - simplify all ethjs errors for better batching 2018-03-27 12:37:30 -07:00
Dan
be2254b880 Remove comments and console.logs 2018-03-27 10:37:45 -02:30
Alexander Tseung
6f367a5a6b Fix merge conflicts 2018-03-27 00:20:35 -07:00
frankiebee
43dde3cbde transactions - only save up to 40 txs totall across all networks 2018-03-26 15:58:36 -07:00
Dan
4f0881e41b Merge branch 'master' into i18n-translator-redux 2018-03-26 16:13:49 -02:30
kumavis
46e8781e41 lint - fix 2018-03-23 18:45:58 -07:00
kumavis
2eaac897bf sentry - namespace files under metamask dir 2018-03-23 18:37:41 -07:00
kumavis
e3d7062e9b sentry - rewrite report urls + use raven-js from npm 2018-03-23 17:22:44 -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
frankiebee
cd721f52cb Merge branch 'master' into retry-tx-refractor 2018-03-15 08:07:16 -07:00
kumavis
6aef2ed0b2 local-store - fix class syntax 2018-03-14 10:59:47 -07:00
kumavis
c4e90c9359 local-store - check for error from extension.runtime 2018-03-14 10:49:54 -07:00
kumavis
481983aae8 local-store - fix promisification of methods 2018-03-14 10:31:25 -07:00
frankiebee
b609924125 fix destructuring of variables 2018-03-14 08:21:50 -07:00
frankiebee
bc987a1129 fix destructuring of variables 2018-03-14 08:20:54 -07:00
Dan
798988597b Merge branch 'master' into retry-tx-refractor 2018-03-14 00:02:27 -02:30
kumavis
dc5fbf5eb2
Merge branch 'master' into i3076-UseStorageLocalInstead 2018-03-13 15:43:37 -07:00
kumavis
22cd788203
tx-gas-utils - fix code style 2018-03-13 15:39:33 -07:00
frankiebee
e5a83d3f1a transactions move validation of the to field to validateRecipient 2018-03-13 15:32:03 -07:00
frankiebee
a2c14ad02b Merge remote-tracking branch 'origin/i#3509' into i#3509 2018-03-13 15:27:26 -07:00
frankiebee
c465d510b1 fix error message 2018-03-13 15:26:45 -07:00
Frankie
c83a9ceb04
Merge branch 'master' into i#3509 2018-03-13 15:23:46 -07:00
frankiebee
d195cfab50 transactions - insure if a to field in tx params has a truthy valu that it is a valid addres and if it is falsy that it is not null to fix issue #3509 2018-03-13 15:13:05 -07:00
frankiebee
9fd349d740 transactions:state - add a submittedTime stamp so the ui has a better grasp of the time of submission 2018-03-13 09:51:37 -07:00
Jeffrey Tong
4f853bbd3c remove console log 2018-03-11 10:18:55 -07:00
Jeffrey Tong
bda493dc9d add comments that need clarification on naming convention 2018-03-11 10:17:08 -07:00
Dan
81e72147ef Merge branch 'master' into retry-tx-refractor 2018-03-09 02:07:27 -03:30
kumavis
a88e436b7d lint fix 2018-03-08 14:55:35 -08:00
kumavis
455faece9e Merge branch 'master' of github.com:MetaMask/metamask-extension into i3076-UseStorageLocalInstead 2018-03-08 14:14:49 -08: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
frankiebee
8adb03074c Merge branch 'master' into retry-tx-refractor 2018-03-07 17:16:35 -08:00
frankiebee
62febac876 refactor retrytx with higher gas price:
- create a new tx instead of overwriting the tx hash
- add a new state 'dropped' to the txStateManager
- mark duplicate txs as dropped when one gets confirmed in a block
2018-03-07 17:16:16 -08:00