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

1409 Commits

Author SHA1 Message Date
Erik Marks
413700afc7
Rationalize build system arguments (#12047)
This rationalizes how arguments are passed to and parsed by the build system. To accomplish this, everything that isn't an environment variable from `.metamaskrc` or our CI environment is now passed as an argument on the command line.

Of such arguments, the `entryTask` is still expected as a positional argument in the first position (i.e. `process.argv[2]`), but everything else must be passed as a named argument. We use `minimist` to parse the arguments, and set defaults to preserve existing behavior.

Arguments are parsed in a new function, `parseArgv`, in `development/build/index.js`. They are assigned to environment variables where convenient, and otherwise returned from `parseArgv` to be passed to other functions invoked in the same file.

This change is motivated by our previous inconsistent handling of arguments to the build system, which will grow increasingly problematic as the build system grows in complexity. (Which it will very shortly, as we introduce Flask builds.)

Miscellaneous changes:
- Adds a build system readme at `development/build/README.md`
- Removes the `beta` package script. Now, we can instead call: `yarn dist --build-type beta`
- Fixes the casing of some log messages and reorders some parameters in the build system
2021-09-09 12:44:57 -07:00
Elliot Winkler
bbe972ca46
Upgrade chromedriver to 93 (#11990)
This allows developers to run the Chrome e2e tests locally without
having to have a custom version of Chrome installed.
2021-09-08 14:54:31 -06:00
David Walsh
7b827ca5e7
Create MetaMask Beta build (#10985) 2021-09-08 15:08:23 -05:00
ryanml
6836789d2c Merge remote-tracking branch 'origin/develop' into master-sync 2021-09-07 14:13:03 -07:00
Alex Donesky
e8ab578ed0
bump @metamask/controllers to v15.0.2 and remove AbortController workaround in e2e tests (#11988)
* bump @metamask/controllers to v15.0.1 and remove AbortController workaround in e2e tests

* remove old abortcontroller polyfill

* bump @metamask/controllers to v15.0.2
2021-09-03 09:34:21 -05:00
Elliot Winkler
7daa55a52c Fix 'yarn setup' on M1 Macs (#11887)
There are a few issues encountered when running `yarn setup` on new
Apple Silicon (aka M1, aka arm64) Macs:

* The script halts when attempting to run the install step for
  the `chromedriver` package with the message "Only Mac 64 bits
  supported". This is somewhat misleading as it seems to indicate that
  chromedriver can only be installed on a 64-bit Mac. However, what I
  think is happening is that the installation script for `chromedriver`
  is not able to detect that an arm64 CPU *is* a 64-bit CPU. After
  looking through the `chromedriver` repo, it appears that 87.0.1 is the
  first version that adds a proper check ([1]).

  Note that upgrading chromedriver caused the Chrome-specific tests to
  fail intermittently on CI. I was not able to 100% work out the reason
  for this, but ensuring that X (which provides a way for Chrome to run
  in a GUI setting from the command line) is available seems to fix
  these issues.

* The script also halts when attempting to run the install step for
  the `electron` package. This happens because for the version of
  `electron` we are using (9.4.2), there is no available binary for
  arm64. It appears that Electron 11.x was the first version to support
  arm64 Macs ([2]). This is a bit trickier to resolve because we don't
  explicitly rely on `electron` — that's brought in by `react-devtools`.
  The first version of `react-devtools` that relies on `electron` 11.x
  is 4.11.0 ([3]).

[1]: 469dd0a6ee
[2]: https://www.electronjs.org/blog/apple-silicon
[3]: https://github.com/facebook/react/blob/main/packages/react-devtools/CHANGELOG.md#4110-april-9-2021
2021-09-01 14:56:34 -07:00
MetaMask Bot
a70b9c346b Version v10.1.0 2021-09-01 17:50:44 +00:00
Dan J Miller
9cf7413e4b 1559 ledger (#11951)
* EIP-1559 - Provide support for Ledger

* Update ui/selectors/selectors.js

Co-authored-by: Mark Stacey <markjstacey@gmail.com>

* Add shared constants for hw types

* bump eth-ledger-bridge-keyring to v0.7.0

Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Alex <adonesky@gmail.com>
2021-09-01 10:43:42 -07:00
Elliot Winkler
8ffebb294b
Fix 'yarn setup' on M1 Macs (#11887)
There are a few issues encountered when running `yarn setup` on new
Apple Silicon (aka M1, aka arm64) Macs:

* The script halts when attempting to run the install step for
  the `chromedriver` package with the message "Only Mac 64 bits
  supported". This is somewhat misleading as it seems to indicate that
  chromedriver can only be installed on a 64-bit Mac. However, what I
  think is happening is that the installation script for `chromedriver`
  is not able to detect that an arm64 CPU *is* a 64-bit CPU. After
  looking through the `chromedriver` repo, it appears that 87.0.1 is the
  first version that adds a proper check ([1]).

  Note that upgrading chromedriver caused the Chrome-specific tests to
  fail intermittently on CI. I was not able to 100% work out the reason
  for this, but ensuring that X (which provides a way for Chrome to run
  in a GUI setting from the command line) is available seems to fix
  these issues.

* The script also halts when attempting to run the install step for
  the `electron` package. This happens because for the version of
  `electron` we are using (9.4.2), there is no available binary for
  arm64. It appears that Electron 11.x was the first version to support
  arm64 Macs ([2]). This is a bit trickier to resolve because we don't
  explicitly rely on `electron` — that's brought in by `react-devtools`.
  The first version of `react-devtools` that relies on `electron` 11.x
  is 4.11.0 ([3]).

[1]: 469dd0a6ee
[2]: https://www.electronjs.org/blog/apple-silicon
[3]: https://github.com/facebook/react/blob/main/packages/react-devtools/CHANGELOG.md#4110-april-9-2021
2021-09-01 10:40:40 -06:00
Dan J Miller
a4c0133bc5
1559 ledger (#11951)
* EIP-1559 - Provide support for Ledger

* Update ui/selectors/selectors.js

Co-authored-by: Mark Stacey <markjstacey@gmail.com>

* Add shared constants for hw types

* bump eth-ledger-bridge-keyring to v0.7.0

Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Alex <adonesky@gmail.com>
2021-09-01 11:25:06 -05:00
Erik Marks
8a8ce3a0c0
@metamask/controllers@15.0.0 (#11975)
Adds the latest version of `@metamask/controllers`, and updates our usage of the `ApprovalController`, which has been migrated to `BaseControllerV2`. Of [the new `controllers` release](https://github.com/MetaMask/controllers/releases/tag/v15.0.0), only the `ApprovalController` migration should be breaking.

This is the first time we use events on the `ControllerMessenger` to update the badge, so I turned the messenger into a property on the main `MetaMaskController` in order to subscribe to events on it in `background.js`. I confirmed that the badge does indeed update during local QA.

As it turns out, [MetaMask/controllers#571](https://github.com/MetaMask/controllers/pull/571) was breaking for a single unit test case, which is now handled during setup and teardown for the related test suite (`metamask-controller.test.js`).
2021-08-31 12:27:13 -07:00
ryanml
06f1f09e2f Merge remote-tracking branch 'origin/develop' into master-sync 2021-08-26 09:44:23 -07:00
MetaMask Bot
da30254ba4 Version v10.0.3 2021-08-25 18:59:57 +00:00
ryanml
a44d863093
Adding yarn scripts for changelog validation (#11868) 2021-08-18 08:59:48 -07:00
ryanml
352e1dd74c Merge remote-tracking branch 'origin/develop' into master-sync 2021-08-18 08:36:19 -07:00
Etienne Dusseault
46c4cc1966
Add confirm-add-suggested-token & confirm-add-token components to Storybook (#11175)
* add suggessted token

* lintfix

* lintfix

* silence use effect warning

* download token icons and use paths to avoid web urls

* lintifx

* Add confirm-add-token component to Storyboard (#11195)

* create story for add token

* change code

* add confirm add token story

* lintfix

* Update confirm-add-token.component.js

* Update confirm-add-token.component.js

* different token list for confirm add token

* lintfix

* Update confirm-add-suggested-token.component.js

* remove bnb png

* remove redundant images and fix storybook image path
2021-08-17 00:33:46 -05:00
MetaMask Bot
31f751c7ca Version v10.0.2 2021-08-17 01:04:25 +00:00
MetaMask Bot
ba1a4a2032 Version v10.0.1 2021-08-11 19:36:08 +00:00
Alex Donesky
0a8278a16f Fix ipfs dependency vulernability (#11745) 2021-08-03 22:13:09 -02:30
MetaMask Bot
9b35d4c8d4 Version v10.0.0 2021-08-02 22:55:15 -02:30
Dan J Miller
02c462168d
Master sync (#11734)
* Use current block gas limit as the limit passed eth_estimateGas (#11658)

* Revert "Use current block gas limit as the limit passed eth_estimateGas (#11658)" (#11660)

This reverts commit aee79fd44d.

* Use current block gas limit as the limit passed eth_estimateGas (#11658)

* Version v9.8.4

* Allow higher precision gas prices in the send flow (#11652)

* Allow higher precision gas prices in the send flow

* Fix gas duck test

* Allow more decimals in transaction breakdown gas price

* [skip e2e] Update changelog for v9.8.4 (#11665)

Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
2021-08-02 22:48:43 -02:30
Dan J Miller
4d4adfd45f
Revert "Sync master with develop (#11666)" (#11732)
This reverts commit 8b53350501.
2021-08-02 21:24:16 -02:30
Alex Donesky
1135810699
Bump controllers version from 12.0.0 to 14.0.2 (#11674) 2021-07-29 19:47:35 -02:30
ryanml
8b53350501
Sync master with develop (#11666)
* Use current block gas limit as the limit passed eth_estimateGas (#11658)

* Revert "Use current block gas limit as the limit passed eth_estimateGas (#11658)" (#11660)

This reverts commit aee79fd44d.

* Use current block gas limit as the limit passed eth_estimateGas (#11658)

* Version v9.8.4

* Allow higher precision gas prices in the send flow (#11652)

* Allow higher precision gas prices in the send flow

* Fix gas duck test

* Allow more decimals in transaction breakdown gas price

* [skip e2e] Update changelog for v9.8.4 (#11665)

Co-authored-by: Dan J Miller <dmiller@kyokan.io>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
2021-07-29 14:06:16 -02:30
kumavis
984b78730f
CI - enforce dep usage with depcheck (#11518)
* deps - validate with depcheck

* ci - add depcheck + fixes for missing/extra deps

* ci - run depcheck after deps prep install

* deps - add yarn-deduplicate development tool

* Update .circleci/config.yml

Co-authored-by: Mark Stacey <markjstacey@gmail.com>

* Update .circleci/config.yml

Co-authored-by: Mark Stacey <markjstacey@gmail.com>

* Removing @lavamoat/preinstall-always-fail

* [depcheck] removing unused dependencies

* Update .depcheckrc.yml

Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: ryanml <ryanlanese@gmail.com>
2021-07-27 20:03:03 -07:00
sethkfman
d64d9050b8
bumped contract-metadata to v1.28.0 (#11625) 2021-07-26 12:03:21 -07:00
ryanml
c325996296 Merge remote-tracking branch 'origin/develop' into master-sync 2021-07-26 10:54:32 -07:00
MetaMask Bot
75c7d284c5 Version v9.8.3 2021-07-24 00:44:37 +00:00
ryanml
77626b90c7 Merge remote-tracking branch 'origin/develop' into master-sync 2021-07-21 20:37:42 -07:00
MetaMask Bot
0f90c4239a Version v9.8.2 2021-07-20 12:33:28 +00:00
ryanml
53c358e207 Merge branch 'develop' into master-sync 2021-07-16 11:51:15 -07:00
Peter-Jan Brone
3fada25dfc
Add Skylink support to ENS resolver (#11401)
* Add Skynet support to ENS to IPFS resolver

* Remove newline

* Fix lint

* Fix lint

* Remove mistakenly committed zip file

* Update
2021-07-16 10:22:04 -05:00
kumavis
9f4820ee98
Build - refactor for bundle factoring and swappable runtime (#11080)
* wip

* build - breakout sentry-install bundle

* deps - move new build sys deps to published versions

* chore: lint fix

* clean - remove unused file

* clean - remove unsused package script

* lavamoat - update build system policy

* build - render html to all platforms

* development - improve sourcemap debugger output

* deps - update lavapack

* lint - fix

* deps - update lavapack for bugfix

* deps - update lavapack for bugfix

* deps - bump lavapack for line ending normalization

* sourcemap explorer - disable boundary validation

* ci - reset normal ci flow

* build - re-enable minification on prod

* build - remove noisy log about html dest

* build - update terser and remove gulp wrapper for sourcemap fix

* Revert "sourcemap explorer - disable boundary validation"

This reverts commit 94112209ed880a6ebf4ee2ded411e59db6908162.

* build - reenable react-devtools in dev mode

* wip

* build - breakout sentry-install bundle

* deps - move new build sys deps to published versions

* chore: lint fix

* clean - remove unused file

* clean - remove unsused package script

* lavamoat - update build system policy

* build - render html to all platforms

* development - improve sourcemap debugger output

* deps - update lavapack

* lint - fix

* deps - update lavapack for bugfix

* deps - update lavapack for bugfix

* deps - bump lavapack for line ending normalization

* sourcemap explorer - disable boundary validation

* ci - reset normal ci flow

* build - re-enable minification on prod

* build - remove noisy log about html dest

* build - update terser and remove gulp wrapper for sourcemap fix

* Revert "sourcemap explorer - disable boundary validation"

This reverts commit 94112209ed880a6ebf4ee2ded411e59db6908162.

* build - reenable react-devtools in dev mode

* Updating lockfile

* lint fix

* build/dev - patch watchifys incompatible binary stats output

* ui - add comment about conditional import

* build - improve comment

* Update development/stream-flat-map.js

Co-authored-by: Brad Decker <git@braddecker.dev>

* Outputting all bundle file links (metamaskbot)

Co-authored-by: ryanml <ryanlanese@gmail.com>
Co-authored-by: Brad Decker <git@braddecker.dev>
2021-07-15 10:59:34 -07:00
MetaMask Bot
80b0f04127 Version v9.8.1 2021-07-13 20:31:50 +00:00
ryanml
81a71a1052 Merge remote-tracking branch 'origin/develop' into master-sync 2021-07-12 08:41:53 -07:00
Alex Donesky
ece437b139 Update controllers with conversionRate change with minimal required changes in extension (#11361)
* updating controllers with conversionRate change with minimal required changes in extension

* swapping showFiat selector in places where possible

* adding invalid conversion protection

* lint fixes

* adjusting list-item styling logic
2021-07-09 16:35:44 -02:30
Brad Decker
39906d6124
upgrade @metamask/controllers to v12.0.0 (#11472) 2021-07-07 15:08:00 -05:00
ryanml
9e86d417f9
Bumping contract-metadata -> 1.27.0 in package.json (#11458) 2021-07-06 10:44:34 -07:00
MetaMask Bot
17682e3368 Version v9.8.0 2021-07-05 09:14:05 +00: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
ryanml
c6a6e6c21b Merge remote-tracking branch 'origin/develop' into master-sync 2021-07-01 12:59:41 -07:00
MetaMask Bot
4b7a1ec91f Version v9.7.1 2021-06-30 19:29:07 +00:00
Etienne Dusseault
5b08a6b94a
yarn build:dev for running build subprocess not in lavamoat (#11427) 2021-06-30 12:26:19 -02:30
Brad Decker
810978c1ff use jest for testing shared (#11334) 2021-06-29 15:35:22 -07:00
ryanml
b4f27d8916 Merge remote-tracking branch 'origin/develop' into master-sync 2021-06-25 09:57:28 -07:00
Brad Decker
a396f55953
use jest for testing shared (#11334) 2021-06-24 14:52:29 -05:00
Alex Donesky
a4a5580785
Update controllers with conversionRate change with minimal required changes in extension (#11361)
* updating controllers with conversionRate change with minimal required changes in extension

* swapping showFiat selector in places where possible

* adding invalid conversion protection

* lint fixes

* adjusting list-item styling logic
2021-06-23 18:28:49 -05:00
Alex Donesky
e10ddbe3a3
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-06-22 12:39:44 -05:00
Brad Decker
cf34e64f15
Support EIP-2718 transaction types, EIP-2930 and EIP-1559 support (#11288) 2021-06-16 15:40:17 -05:00
ryanml
c60313eeac Merge remote-tracking branch 'origin/develop' into master-sync 2021-06-15 14:17:26 -07:00