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

17239 Commits

Author SHA1 Message Date
António Regadas
9454bddef6
[MMI] replace logic from preferences controller with event emitter (#19781)
* adds the emit and cleans old code

* clean up

* lint

* review update

* deep comparison with lodash
2023-06-28 16:45:22 +02:00
Brad Decker
de14b1ddb2
e2e tests for permissions metrics (#19789) 2023-06-28 08:54:49 -05:00
David Walsh
fd20f48e2c
UX: Multichain: Make imports consistent (#19793) 2023-06-28 08:37:03 -05:00
Frederik Bolding
c8f26d8c24
Fix design inconsistencies in the connect flow (#19800) 2023-06-28 14:36:20 +02:00
Vinicius Stevam
994a71d30e
Add e2e tests for queuing multiple signing operations (#19446) 2023-06-28 08:21:02 +01:00
Howard Braham
b36487ab52
perf(CI): Shallow git clone that works with PRs from forks (#19757)
* perf(CI): Shallow git clone that works with PRs from forks

Co-authored-by: Brad Decker <bhdecker84@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>

* added CircleCI link and removed rc_or_master_branch_only

---------

Co-authored-by: Brad Decker <bhdecker84@gmail.com>
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
2023-06-27 10:57:46 -07:00
jiexi
b13b9438b7
Reset extensions streams on chromium prerender workaround (#19727)
This temporary workaround checks if a page in chromium is a prerendering via `document.prerendering` and then resets the extension stream when this state changes from prerendered to active.
2023-06-27 09:10:04 -07:00
Dan J Miller
bf8f606344
Update sentry to v7.53.0 (#19279)
* Update sentry to v7.53.0

* Fix errors.spec.js

* Update LavaMoat policies

* Update LavaMoat policies

---------

Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
2023-06-27 12:15:02 -02:30
Albert Olivé
9271cfd7bf
[MMI] The add custody token view needs a styles tweak (#19779)
* fixing styles

* Fixing styles and snapshots

* fixed eslint rule

* Removed unnecessary test
2023-06-27 15:49:15 +02:00
Mark Stacey
85de0d31c6
Fail policy update on cache miss (#19775)
If there is a cache miss during the policy update workflow, the result
would be invalid (either a partial update or a misleading "no policy
changes" message). To prevent this, the cache step will now fail if it
is not able to restore the cache.
2023-06-27 09:25:50 -02:30
Mark Stacey
5893fb3922
Fix update lavamoat policies workflow (#19774)
The update lavamoat policies workflow was installing dependencies from
the `develop` branch rather than the PR. This resulted in invalid
policy updates. It has been updated to use the PR branch in each step
instead.
2023-06-27 07:49:48 -02:30
Vinicius Stevam
74bda30490
add e2e test decrypt and encrypt multiple messages (#19657) 2023-06-27 10:57:59 +01:00
Nidhi Kumari
af56e34d5f
Updated action list in token, NFTs and activity view (#19702)
* updated ui for nft import button

* updated no nft image found in the center

* updated footer for all screens in tabs

* removed no nft state from nft tab

* updated snapshot

* lint fix

* fixed e2e tests

* fixed prep build error

* removed no nfts yet test

* updated tabs

* fixed prod error

* updated no nft screen

* changed button size to md
2023-06-27 12:05:31 +05:30
Albert Olivé
1e56fdbf66
[MMI] Added code fences in whats new popup (#19581)
* added code fences in whats new popup

* Improved code

* Added missing prop

* Update LavaMoat policies

* updated functions by using an options object for the rendering functions in order to bypass possible typsecript issues

---------

Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
2023-06-27 08:30:42 +02:00
Harsh Shukla
ec4c4050e6
Part of #17670: Replace Typography with Text component in: callout.js (#18912)
* Part of #17670: Replace Typography with Text component in: callout.js

* Update ui/components/ui/callout/callout.js

Co-authored-by: Danica Shen <zhaodanica@gmail.com>

* Update callout.js

* Updating snapshot and deprecating component

* Updating snapshot and deprecating component

---------

Co-authored-by: Danica Shen <zhaodanica@gmail.com>
Co-authored-by: George Marshall <george.marshall@consensys.net>
Co-authored-by: Garrett Bear <gwhisten@gmail.com>
2023-06-26 19:36:01 -07:00
rohit kerkar
deabc3ed5f
Part of #18714: Replacing deprecated constants in confirm-subtitle folder (#19699)
* repalcing deprecated constants

* resolve issue

* lint fixes

---------

Co-authored-by: georgewrmarshall <george.marshall@consensys.net>
2023-06-26 19:35:45 -07:00
Ujwal Kumar
04839a250d
Issue 17670 replace typography with text (#19433)
* Replace Typograph with Text component in numeric-input-component.js

* Replace Typography with Text component in signature-request-message.js

* Replace Typography with Text component in signature-request.component.js

* Replacing deprecating constants and fixing some signature story warnings

* Updating snapshot

* Fixing import

---------

Co-authored-by: georgewrmarshall <george.marshall@consensys.net>
Co-authored-by: Garrett Bear <gwhisten@gmail.com>
2023-06-26 15:50:08 -07:00
113fdc189c
Part of #17670: Replace Typography with Text component in CancelSpeedupPopover (#18638)
* create story

* replace Typography with Text component

* review changes

* replace CSS with props styling
* use `Button` from `component-library`
* tooltip HTML refactor with `component-library` components
* remove whitespace in story

* strong tag support within Text component

* addresses #18651
* taken from #18752 as suggested in https://github.com/MetaMask/metamask-extension/pull/18638#discussion_r1176334805

* replace `strong` with new `Text as="strong"`

* remove unneccessary css from fa564e3f036f1439f9f220cca23595b508760614

* add text variant definition

* Updating text variant of button

* restrore proper spacing between elements

* Quick fix for test

* Adding key

---------

Co-authored-by: georgewrmarshall <george.marshall@consensys.net>
Co-authored-by: Garrett Bear <gwhisten@gmail.com>
2023-06-26 13:52:54 -07:00
jainex
c1c6c8237a
Update Label component font weight from bold to medium (#19731)
* Update Label component font weight from bold to medium

* update snapshot

* fix snapshots

* fix snapshots 2

* Removeing deprecated constants for enums

---------

Co-authored-by: georgewrmarshall <george.marshall@consensys.net>
2023-06-27 01:29:04 +05:30
Mark Stacey
ec7e7fdf6d
Fix fallback gas estimation (#19746)
* Fix fallback gas estimation

Our fallback gas estimation was failing due to a bug in the
`@metamask/controller-utils` package. This was causing gas estimation
to fail completely on certain networks (those not supported by our gas
estimation APIs and non EIP-1559 compatibile), and it was causing the
fallback gas estimation operation (in case our API was down) to fail
across all networks.

Fixes https://github.com/MetaMask/metamask-extension/issues/19735

* Add e2e tests

E2E tests have been added to capture gas estimation. Cases are added
for our API, for the fallback estimate, and for non-EIP-1559 estimates.

As part of this work, the legacy gas API had to be disabled. This was
being used in e2e tests but was dead code in production. It needed to
be disabled to ensure the code under test was reachable.

* Fix gas API referenced in e2e test

* Update unit test snapshots
2023-06-26 16:13:16 -02:30
jiexi
0c047acdbf
Bump @metamask/providers to v11.1.0 (#19762)
* Bump @metamask/providers to v11.1.0

---------

Co-authored-by: Alex <adonesky@gmail.com>
2023-06-26 13:27:03 -05:00
Nidhi Kumari
eb506a5694
UX Multichain: fixed padding for edit screen (#19707)
* fixed padding for edit screen

* Use network picker for header trigger

* Fix swaps display

* updated snapshot

---------

Co-authored-by: David Walsh <davidwalsh83@gmail.com>
2023-06-26 23:27:56 +05:30
David Walsh
9a9625d96c
UX: Ensure multichain native token name is always shown (#19705)
* UX: Ensure multichain native token name is always shown

* Fix lint
2023-06-26 12:54:32 -05:00
Frederik Bolding
3df690b852
Use snaps@0.35.2-flask.1 and snaps@1.0.0-prerelease.1 (#19734)
* snaps@0.35.0-flask.1

* Update LavaMoat policies

* Update stable snaps packages to 1.0.0-prerelease.1

* Update LavaMoat policies

* Fix lint

* snaps@0.35.2

* Exclude snap_manageAccounts

* Code fencing

* Revert removing endowment:keyring exclusion

* Bump iframe URLs
2023-06-26 19:41:59 +02:00
George Marshall
f2d039f6cb
Replacing deprecated components and fixing prop errors (#19745) 2023-06-26 10:29:02 -07:00
Nidhi Kumari
1cc78fa0b1
UI updates for contacts Page (#19646)
* updated contacts flow update

* json file updates

* updated contacts edit and view list

* keep contacts tab selected

* lint fix

* replaced hardcoded strings with constant

* updated padding in box
2023-06-26 22:38:42 +05:30
Nidhi Kumari
e9423be894
updated linea image for token and badge (#19717)
* updated linea image for token and badge

* replaced hardcoded string with constant
2023-06-26 22:07:20 +05:30
George Marshall
48f61dcf61
Deprecating FormField and fixing console error (#19739)
* Deprecating FormField and fixing console error

* Updating snapshots
2023-06-26 09:29:33 -07:00
David Walsh
e37e570b2e
Fix #847 - Don't show account address on token pages (#19740)
Co-authored-by: Nidhi Kumari <nidhi.kumari@consensys.net>
2023-06-26 11:13:26 -05:00
Mark Stacey
55a8ff249c
Remove unused GitHub Action workflow (#19660)
This GitHub action workflow was disabled, but was still running setup
steps. It has now been removed entirely. We can re-introduce it again
later once the problem that led to it being disabled has been fixed.

The associated npm script and JavaScript module have been removed as
well.
2023-06-26 11:50:00 -02:30
Alex Donesky
e7e55dd873
Add tokenId type validation in wallet_watchAsset middleware (#19738) 2023-06-26 09:12:13 -05:00
ryanml
c8a6612bd2
Fixing misspelling in 10.28.0 changelog notes (#19756) 2023-06-26 10:03:15 -02:30
Mark Stacey
ac8825b5b1
Use Yarn caching in GitHub Actions (#19662)
GitHub actions that install dependencies will now also cache those
dependencies using the standard strategy for Yarn (which is to hash the
lockfile).

This matches the module template (see https://github.com/MetaMask/metamask-module-template/pull/145
for details).

This should have no functional impact except that this action will run
faster when dependencies are unchanged.
2023-06-26 09:05:53 -02:30
weizman
6bb786f3fd
Disable warn logs in content-script (#19754) 2023-06-26 14:00:38 +03:00
Dhruv
1c7c89abcb
Replacing deprecated constants & creating stories (#19686)
* Replacing deprecated constants & creating stories

* updating snapshot
2023-06-23 14:38:40 -07:00
Mark Stacey
fc2402df5e
Update LavaMoat policies (#19744)
Update LavaMoat policies to match what CI expects.
2023-06-23 17:43:52 -02:30
Ariella Vu
34375a57e5
Security Provider cleanup (#19694)
* security-prov: isFlaggedSecurityProviderResponse

* security-prov: create shared/modules/util

* security prov: rn isFlagged -> isSuspcious
- util fn returns true if response is not verified and flagged

* security prov: add util test
and support undefined param

* security prov: reorg util fn
- no logic changes
2023-06-23 20:08:22 +02:00
weizman
365c1e32d2
Integrate Snow with LavaMoat scuttling protection (#17969) 2023-06-23 18:25:24 +03:00
Brad Decker
b86326b4bf
signature approved metrics e2e test (#19628) 2023-06-23 09:48:44 -05:00
Gauthier Petetin
ad3140c949
fix(action): add required permissions to remove labels (#19728) 2023-06-23 09:27:49 -03:00
Mark Stacey
3b9fd435fb
Validate LavaMoat policies on each PR (#19703)
* Validate LavaMoat policies on each PR

The LavaMoat policies are now validated on every PR. This makes it
easier to validate policy changes, as they should always correspond
with the changes made in the PR (unlike today, when they could be due
to a change in platform or a previous PR).

Closes #19680

* Update LavaMoat policies

---------

Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
2023-06-23 09:50:36 -02:30
Nidhi Kumari
dfb830e862
removed portfolio link from wallet view (#19716)
* removed portfolio link from wallet view

* removed unused code

* updated test

* updated spec file

* updated test
2023-06-23 17:28:41 +05:30
António Regadas
80bfb5b501
[MMI] rearrange mmi account menu options (#19635)
* adds the portfolio dashboard option and compliance to the global menu

* undo change
2023-06-23 11:55:31 +02:00
António Regadas
93704a8479
fixes the stake a portfolio icons not showing (#19633) 2023-06-23 11:54:59 +02:00
António Regadas
adc02dd534
adds MMI blue fox svg (#19632) 2023-06-23 11:54:04 +02:00
António Regadas
ce3855f520
adds MMI name to the manifest name (#19617) 2023-06-23 11:53:00 +02:00
Howard Braham
ed06926ac5
chore(tools): update geckodriver to 4.0.4 (#19558) 2023-06-22 21:00:40 -07:00
Mark Stacey
492038a312
Validate LavaMoat config in parallel (#19589)
The LavaMoat policies and allow-scripts configuration are now validated
in parallel. They are still only validated for release candidate
branches and the `master` branch.
2023-06-22 18:40:32 -02:30
Elliot Winkler
89cec5335f
Replace NetworkController w/ core version (#19486)
This commit fulfills a long-standing desire to get the extension using
the same network controller as mobile by removing NetworkController from
this repo and replacing it with NetworkController from the
`@metamask/network-controller` package.

The new version of NetworkController is different the old one in a few
ways:

- The new controller inherits from BaseControllerV2, so the `state`
  property is used to access the state instead of `store.getState()`.
  All references of the latter have been replaced with the former.
- As the new controller no longer has a `store` property, it cannot be
  subscribed to; the controller takes a messenger which can be
  subscribed to instead. There were various places within
  MetamaskController where the old way of subscribing has been replaced
  with the new way. In addition, DetectTokensController has been updated
  to take a messenger object so that it can listen for NetworkController
  state changes.
- The state of the new controller is not updatable from the outside.
  This affected BackupController, which dumps state from
  NetworkController (among other controllers), but also loads the same
  state into NetworkController on import. A method `loadBackup` has been
  added to NetworkController to facilitate this use case, and
  BackupController is now using this method instead of attempting to
  call `update` on NetworkController.
- The new controller does not have a `getCurrentChainId` method;
  instead, the chain ID can be read from the provider config in state.
  This affected MmiController. (MmiController was also updated to read
  custom networks from the new network controller instead of the
  preferences controller).
- The default network that the new controller is set to is always
  Mainnet (previously it could be either localhost or Goerli in test
  mode, depending on environment variables). This has been addressed
  by feeding the NetworkController initial state using the old logic, so
  this should not apply.
2023-06-22 12:46:09 -06:00
Elliot Winkler
bd12ea733a
Fix autolock field to accept decimals in Firefox (#19653)
The autolock field on the Settings screen — the field that allows users
to set the duration that MetaMask will wait for until automatically
locking — does not always accept decimal numbers. This breaks the e2e
test for this feature as it attempts to set this field to "0.1".

More specifically, the React component responsible for this field passes
whatever the user inputs through the `Number` function immediately and
then uses this to repopulate the input. Therefore, if the user enters
"3" followed by a ".", `Number("3.")` will be called. This evaluates to
the number 3, and "3" becomes the new value of the field. As a result,
the "." can never be typed.

Curiously, this behavior only happens in Firefox; Chrome seems to
keep the "." in the input field when it's typed. This happens because
`onChange` event doesn't seem to get fired until a number is typed
*after* the ".". This may be due to underlying differences in the DOM
between Chrome and Firefox.

Regardless, always passing the input through `Number` creates other odd
behavior, such as the fact that the input can never be cleared (because
`Number("")` evaluates to 0).

This commit solves these problems by saving the "raw" version of the
user's input as well as the normalized version. The raw version is
always used to populate the input, whereas the normalized version is
saved in state.
2023-06-22 10:29:24 -06:00