1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
Commit Graph

2927 Commits

Author SHA1 Message Date
Daniel
54a6588628 Swaps: Add conditional routing to new APIs based on a feature flag (#11470) 2021-07-09 16:41:41 -02:30
Dan J Miller
2da9acd325 Add some metrics events to the 3box controller (#11447) 2021-07-05 01:32:03 -07:00
Dan J Miller
e5d54afe80 Ensure transaction controller correctly estimates gas for special custom networks (#11441) 2021-07-05 01:31:50 -07:00
Alex Donesky
85f17831a2 add erc-721 token detection and flag to disable sending (#11210)
* add erc-721 token detection and flag to disable sending

* addressing feedback

* remove redundant provider instantiation

* fix issue caused by unprotected destructuring

* add tests and documentation

* move add isERC721 flag to useTokenTracker hook

* Update  and  unit tests

* use memoizedTokens in useTokenTracker

Co-authored-by: Dan Miller <danjm.com@gmail.com>
2021-07-05 01:01:26 -07:00
Brad Decker
4e0bfbc463 add eip-1559 fields to event schema (#11408)
* add eip-1559 fields to event schema

* add gas_limit to all
2021-06-29 15:00:31 -07:00
ryanml
a1e141fbe1 Updating address error (#11389) 2021-06-29 13:37:29 -07:00
ryanml
b1f469d1e2 Removing obsolete client-side transaction metrics events (#11329)
* Removing metametrics send count tracking

* Removing client side Transaction Completed and Canceled events
2021-06-29 13:37:11 -07:00
ryanml
9a6b619740 Adding metric events for Approved, Rejected, and Submitted to the TxController (#11358) 2021-06-29 13:35:38 -07:00
ryanml
077ee16ec2 Add 'Transaction Added' metric event to TransactionController (#11341) 2021-06-29 13:35:26 -07:00
ryanml
40c8a1a984
Merge branch 'master' into Version-v9.7.0 2021-06-21 12:15:52 -07:00
Alex Donesky
9f0ec1c18f patch breaking change in signTypeData param validation (#11309) 2021-06-15 11:57:14 -07:00
ryanml
2bfc3a093f
Using values from shared/constants/time to represent timing values (#11241) 2021-06-10 12:27:03 -07:00
Mark Stacey
e5a050b36f
Remove unused parameters from setProviderType (#11270)
Only the first parameter, `type`, was ever passed in. The others are
superfluous. The defaults have been set directly instead.

It's a bit silly to set the `rpcUrl` and `nickname` to an empty string,
but to make this more sensible would take much more effort. This at
least is simpler and guaranteed to be equivalent.
2021-06-10 13:54:18 -02:30
Dan J Miller
3af174b590 Stringify gas estimate in backend, before it is serialized and sent to ui (#11266)
* Stringify gas estimate in backend, before it is serialized and sent to ui

* Fix send.utils.test.js
2021-06-09 19:57:24 -07:00
ryanml
523c04b47a Fix built-in networks switch-ethereum-chain, Including RPC url in switchEthereumChain requestData (#11268)
* Moving RPC Urls to network constants

* Including RPC url in switchEthereumChain requestData

* Setting project id to var

* Fix built-in networks switch-ethereum-chain

`switch-ethereum-chain` did not work correctly with built-in networks.
It was treating them as custom networks, rather than as built-in
networks. This affected how they were displayed in the network
dropdown, and resulted in slight differences to the network stack used
as well.

The problem was that `updateRpcTarget` was used, which was meant for
custom networks only. Now that `setProviderType` is used in the case of
a built-in network, the behaviour should match the network switcher
exactly.

Co-authored-by: Mark Stacey <markjstacey@gmail.com>
2021-06-09 19:57:10 -07:00
Dan J Miller
432d6508ba
Stringify gas estimate in backend, before it is serialized and sent to ui (#11266)
* Stringify gas estimate in backend, before it is serialized and sent to ui

* Fix send.utils.test.js
2021-06-09 22:18:05 -02:30
ryanml
a75092762f
Fix built-in networks switch-ethereum-chain, Including RPC url in switchEthereumChain requestData (#11268)
* Moving RPC Urls to network constants

* Including RPC url in switchEthereumChain requestData

* Setting project id to var

* Fix built-in networks switch-ethereum-chain

`switch-ethereum-chain` did not work correctly with built-in networks.
It was treating them as custom networks, rather than as built-in
networks. This affected how they were displayed in the network
dropdown, and resulted in slight differences to the network stack used
as well.

The problem was that `updateRpcTarget` was used, which was meant for
custom networks only. Now that `setProviderType` is used in the case of
a built-in network, the behaviour should match the network switcher
exactly.

Co-authored-by: Mark Stacey <markjstacey@gmail.com>
2021-06-09 15:18:38 -07:00
Brad Decker
df9bc52e9f
Add gas constants (#11248) 2021-06-08 10:25:48 -05:00
ryanml
10f9912fd5 Supporting existing default networks in switchEthereumChain (#11184) 2021-06-07 10:38:33 -02:30
ryanml
c9a539b5aa Removing support survey notification from What's New (#11118)
* Removing support notification from what's new

* Adding migration for support notification removal

* Expanding test cases, using async/await for storage comparison
2021-06-07 10:33:25 -02:30
Mark Stacey
5f538f7ab2 Migrate Sentry settings to environment variables (#11085)
Sentry is now configured with environment variables, rather than with
hard-coded values. This makes it easier to test Sentry functionality
using a different Sentry account, as we did recently during QA of
v9.5.1.

The only change for the normal build process is the introduction of the
`SENTRY_DSN_DEV` variable, which can be set via `.metamaskrc` or via an
environment variable. This determines where error reports are sent. It
still defaults to our team Sentry account's `metamask-testing` project.

The `sentry:publish` script now requires SENTRY_ORG and SENTRY_PROJECT
to be set in order to publish release artifacts. The CircleCI
configuration has been updated with these values, so it should act the
same as it did before. Previously we had used a CLI flag to specify the
organization and project, but Sentry already natively supports these
environment variables [1].

[1]: https://docs.sentry.io/product/cli/configuration/#configuration-values
2021-06-07 10:30:50 -02:30
Shane
0cb0f7c2c2 fix metaRPCClientFactory id handling (#11116)
* fix metaRPCClientFactory id handling
2021-06-07 10:30:49 -02:30
Erik Marks
2007e73747 @metamask/providers@8.1.1 (#11078)
* @metamask/providers@8.1.1

* Minimize import footprint
2021-06-07 10:07:43 -02:30
Mark Stacey
352dbd8831 Replace uses of hasOwnProperty.call with simpler alternatives (#11009)
Three uses of `hasOwnProperty.call` have been replaced with simpler
alternatives. I did this because I found this convention confusing.

The `ComposableObservableStore` changes required adding a check for
whether the `config` is defined, because the old syntax would allow
iterating over `undefined` as if it was an empty object. Functionally
it should be identical. A new test was added to highlight this
functionality.
2021-06-07 10:04:11 -02:30
Erik Marks
8303e866e2 Fix error behavior of addEthereumChain (#11031) 2021-06-07 10:04:11 -02:30
Erik Marks
434249f171 Update switchEthereumChain unrecognized chain error (#11030) 2021-06-07 10:03:15 -02:30
Brad Decker
cfc0a868a4 rough in switchEthereumChain (#10905) 2021-06-07 10:02:42 -02:30
Mark Stacey
3ba3b330f6 Use strict assertion mode everywhere (#11012)
The `assert` module has two modes: "Legacy" and "strict". When using
strict mode, the "strict" version of each assertion method is implied.
Whereas in legacy mode, by default it will use the deprecated, "loose"
version of each assertion.

We now use strict mode everywhere. A few tests required updates where
they were asserting the wrong thing, and it was passing beforehand due
to the loose matching.
2021-06-07 10:02:39 -02:30
Mark Stacey
9d002cbff0 Remove SET_CURRENT_FIAT action (#11003)
The `SET_CURRENT_FIAT` action has been removed. It has been replaced
by a call to `forceUpdateMetamaskState`. The only purpose of this
action was to eagerly update the current fiat currency settings before
the next state update. Forcing a state update instead is simpler and
safer.

The `setCurrentCurrency` function in the background has been updated to
no longer return the state, now that it's no longer needed.
2021-06-07 10:02:39 -02:30
Erik Marks
88d85d43bd @metamask/post-message-stream@4.0.0 (#10989) 2021-06-07 10:00:17 -02:30
Alex Donesky
ce8b173f56 add setting to dismiss seed phrase backup reminder (#10967) 2021-06-07 09:58:45 -02:30
David Walsh
f8e400f51c Fix #10173 - Prevent lag in external monitors when using Mac + Chrome (#10952) 2021-06-07 09:58:45 -02:30
Brad Decker
29742b9519 remove the ui/app and ui/lib folders (#10911) 2021-06-06 12:45:27 -02:30
ryanml
9932c40651
Adding periodic reminder modal for backing up recovery phrase (#11021)
* Adding recurring recovery phrase reminder modal

* Refactoring per PR feedback
2021-06-04 23:33:58 -07:00
Dan Miller
e3ed26cc24 Revert "Revert "Implement Ledger Live bridge (#10293)""
This reverts commit 56db48a1c3.
2021-05-31 17:30:56 -02:30
Dan Miller
56db48a1c3 Revert "Implement Ledger Live bridge (#10293)"
This reverts commit 397417bf09.
2021-05-28 16:17:17 -02:30
David Walsh
397417bf09 Implement Ledger Live bridge (#10293) 2021-05-26 10:33:12 -07:00
ryanml
3242710f3d
Supporting existing default networks in switchEthereumChain (#11184) 2021-05-26 09:17:18 -07:00
Dan J Miller
452a5e7de6 Add stringified payload to metametrics controller trackEvent error message (#11166)
* Add stringified payload to metametrics controller trackEvent error message

* Don't include full payload when throwing error on missing event or category in trackEvent
2021-05-24 15:17:10 -07:00
Dan J Miller
a137cd1aca Add event property to event sent on tx:status-update in metamask-controller (#11165) 2021-05-24 15:16:57 -07:00
Dan J Miller
1323a77531
Add stringified payload to metametrics controller trackEvent error message (#11166)
* Add stringified payload to metametrics controller trackEvent error message

* Don't include full payload when throwing error on missing event or category in trackEvent
2021-05-24 16:57:07 -02:30
Dan J Miller
3cbef734f2
Add event property to event sent on tx:status-update in metamask-controller (#11165) 2021-05-24 16:32:26 -02:30
Mark Stacey
5009ceae53
Migrate to new CurrencyRateController (#11005)
The CurrencyRateController has been migrated to the BaseControllerV2
API, which includes various API changes. These changes include:
* The constructor now expects to be passed a
`RestrictedControllerMessenger`.
* State changes are subscribed to via the `ControllerMessenger` now,
rather than via a `subscribe` function.
* The state and configration are passed in as one "options" object,
rather than as two separate parameters
* The polling needs to be started explicitly by calling `start`. It
can be stopped and started on-demand now as well.
* Changing the current currency or native currency will now throw an
error if we fail to update the conversion rate.

The `ComposableObservableStore` has been updated to accomodate these
new types of controllers. The constructor has been updated to use an
options bag pattern as well, to make the addition of the new required
`controllerMessenger` parameter a bit less unweildly.
2021-05-20 00:27:51 -02:30
Alex Donesky
f19207ca87
use etherscan-link customBlockExplorer methods with customNetwork usage tracking (#11017)
* use etherscan-link customBlockExplorer methods with customNetwork usage tracking

* consolidate blockexplorer events, add domain to metametrics event

* lint fix
2021-05-19 09:51:47 -05:00
ryanml
86b61a2fc2
Removing support survey notification from What's New (#11118)
* Removing support notification from what's new

* Adding migration for support notification removal

* Expanding test cases, using async/await for storage comparison
2021-05-18 10:55:55 -07:00
Mark Stacey
37dc19a352
Migrate Sentry settings to environment variables (#11085)
Sentry is now configured with environment variables, rather than with
hard-coded values. This makes it easier to test Sentry functionality
using a different Sentry account, as we did recently during QA of
v9.5.1.

The only change for the normal build process is the introduction of the
`SENTRY_DSN_DEV` variable, which can be set via `.metamaskrc` or via an
environment variable. This determines where error reports are sent. It
still defaults to our team Sentry account's `metamask-testing` project.

The `sentry:publish` script now requires SENTRY_ORG and SENTRY_PROJECT
to be set in order to publish release artifacts. The CircleCI
configuration has been updated with these values, so it should act the
same as it did before. Previously we had used a CLI flag to specify the
organization and project, but Sentry already natively supports these
environment variables [1].

[1]: https://docs.sentry.io/product/cli/configuration/#configuration-values
2021-05-18 13:56:22 -02:30
Brad Decker
03961715f7 use safer toChecksum utility (#11117) 2021-05-17 15:38:01 -07:00
Brad Decker
001a01e5b2 Migration to remove erroneous tx state (#11107) 2021-05-17 15:34:11 -07:00
Brad Decker
0841ba7054 fix splitting of transaction nonce groups in state (#11103)
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
2021-05-17 15:33:44 -07:00
Brad Decker
8254213b9c create safer isValidAddress method (#11089) 2021-05-17 15:32:59 -07:00