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

16620 Commits

Author SHA1 Message Date
Elliot Winkler
ae08035d5d
Convert shared/modules/network.utils to TS (#18352)
We want to convert NetworkController to TypeScript in order to be able
to compare differences in the controller between in this repo and the
core repo. To do this, however, we need to convert the dependencies of
the controller to TypeScript.

As a part of this effort, this commit converts
`shared/modules/network.utils.js` to TypeScript, and also adds tests.

Co-authored-by: Mark Stacey <markjstacey@gmail.com>
2023-03-31 10:52:56 -06:00
Elliot Winkler
bbfc455342
Convert shared/modules/fetch-with-timeout to TS (#18351)
We want to convert NetworkController to TypeScript in order to be able
to compare differences in the controller between in this repo and the
core repo. To do this, however, we need to convert the dependencies of
the controller to TypeScript.

As a part of this effort, this commit converts
`shared/modules/fetch-with-timeout.js` to TypeScript.
2023-03-31 10:52:33 -06:00
David Walsh
74b9ab28f3
UX: Multichain: Close account menu when item is clicked (#18393) 2023-03-31 10:41:51 -05:00
PeterYinusa
ed3c0e21b8 Update CHANGELOG.md 2023-03-31 16:00:42 +01:00
Dan J Miller
e38f5ecb68 Allow specific origin to direct to second page of token allowance flow (#18395)
* Allow specific origin to direct to second page of token allowance flow

* Remove accidentally committed git diff text

---------

Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
2023-03-31 15:11:47 +01:00
Dan J Miller
41210084dd
Allow specific origin to direct to second page of token allowance flow (#18395)
* Allow specific origin to direct to second page of token allowance flow

* Remove accidentally committed git diff text

---------

Co-authored-by: Erik Marks <25517051+rekmarks@users.noreply.github.com>
2023-03-31 11:34:55 -02:30
Davide Brocchetto
9dc8a0238f Fixed test instability (#18174) 2023-03-31 15:04:18 +01:00
PeterYinusa
468357e250 update policies 2023-03-31 14:33:19 +01:00
António Regadas
c02fe456a0 Adds build type mmi (#18399)
* adds build type mmi

* run prettier
2023-03-31 14:27:23 +01:00
Pedro Figueiredo
fbd68d4a3f
Introduce action metrics for mv3 service worker restart (#18346)
* fix dapp interaction e2e test

* wip

* add sentry post request mock

* fix console errors

* fix scripting console error and remove e2e test unnecessary check

* clean up

* remove e2e test

* stop skipping  test

* fixing build mv3 job

* fixing unit tests

* fixing unit tests

* fixing unit tests

* update coverages

* revert skip mv3 e2e test

* remove IN_TEST on the npm script

* remove console.log

* revert aria label changes

* revert aria label changes

* revert permission changes

* revert permission changes

* implement sw restart delay tracking

* fix rebase
2023-03-31 14:22:33 +01:00
António Regadas
18a21ca57e
Adds build type mmi (#18399)
* adds build type mmi

* run prettier
2023-03-31 14:21:58 +01:00
PeterYinusa
3d8b371710 update dependancies
Co-Authored-By: legobeat <109787230+legobeat@users.noreply.github.com>
2023-03-31 12:43:46 +01:00
PeterYinusa
87e8521f9c resolve merge conflicts
Co-Authored-By: legobeat <109787230+legobeat@users.noreply.github.com>
2023-03-31 12:29:20 +01:00
PeterYinusa
346aa12470 Merge branch 'master' into Version-v10.28.0 2023-03-31 12:25:47 +01:00
Albert Olivé
c2618176f6
[MMI] Added code fencing in info tab component (#17910)
* Added code fencing in info tab component

* Fixed storybook urls

* Removed isBeta mmi code fencing
2023-03-31 13:23:11 +02:00
Ariella Vu
559465574d Sign in with Ethereum: re-enable warning UI for mismatched domains / disable domain binding (#18200)
* siwe: re-enable warning UI for mismatched domains
- unblocks mismatched domain support
- we may re-add error handling here #18184
- reverts logic from #16616

* siwe: fix mismatch domain warning msg UI

* lint: rm whitespace EOL

* siwe: rm unit test

* lint: fix whitespace

* Revert "siwe: rm unit test"

This reverts commit c80a4a2e661609c46c76d1e43e05909b6db3f0f5.

---------

Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
2023-03-31 11:26:16 +01:00
Jyoti Puri
6b7ff32f85 Change api used for opensea validation (#18383)
* Change api used for opensea validation

* fix build
2023-03-31 10:59:23 +01:00
António Regadas
234fb4ac5d
[MMI] confirm-add-custodian-token component (#18261)
* adds component with locales and test

* adds feedback from review

* adds storeis file

* update snapshots

* prettier

* clean up stories file

* relocation

* review fixes

* Update ui/pages/institutional/confirm-add-custodian-token/confirm-add-custodian-token.js

Co-authored-by: George Marshall <george.marshall@consensys.net>

* Update ui/pages/institutional/confirm-add-custodian-token/confirm-add-custodian-token.js

Co-authored-by: George Marshall <george.marshall@consensys.net>

* Update ui/pages/institutional/confirm-add-custodian-token/confirm-add-custodian-token.js

Co-authored-by: George Marshall <george.marshall@consensys.net>

* Button path remove

* Update ui/pages/institutional/confirm-add-custodian-token/confirm-add-custodian-token.js

Co-authored-by: George Marshall <george.marshall@consensys.net>

* pulled

* stories file update location

---------

Co-authored-by: George Marshall <george.marshall@consensys.net>
2023-03-31 11:30:10 +02:00
David Walsh
f3fe5c0328 NFTs: Use Unknown Collection instead of first NFT name (#18388)
* NFTs: Use Unknown Collection instead of first NFT name

* Use localization in hook

* Get localization for previously owned

* Fix tests

---------

Co-authored-by: Dan Miller <danjm.com@gmail.com>
2023-03-31 10:13:22 +01:00
Danica Shen
427b4f2108 fix(18194): Redirect to extension expanded view when click back to sa… (#18376)
* fix(18194): Redirect to extension expanded view when click back to safety button

* Bump phishing warning version

---------

Co-authored-by: Dan J Miller <danjm.com@gmail.com>
2023-03-31 10:13:02 +01:00
David Walsh
e895ff33f9
NFTs: Use Unknown Collection instead of first NFT name (#18388)
* NFTs: Use Unknown Collection instead of first NFT name

* Use localization in hook

* Get localization for previously owned

* Fix tests

---------

Co-authored-by: Dan Miller <danjm.com@gmail.com>
2023-03-31 06:41:07 -02:30
Danica Shen
26fed9e8da
fix(18194): Redirect to extension expanded view when click back to sa… (#18376)
* fix(18194): Redirect to extension expanded view when click back to safety button

* Bump phishing warning version

---------

Co-authored-by: Dan J Miller <danjm.com@gmail.com>
2023-03-31 10:00:44 +01:00
Thomas Huang
00e6471d90
IPFS unit test for onboarding privacy setting (#18252) 2023-03-30 19:27:36 -07:00
Elliot Winkler
ed3cc404f2
NetworkController: Split network into networkId and networkStatus (#17556)
The `network` store of the network controller crams two types of data
into one place. It roughly tracks whether we have enough information to
make requests to the network and whether the network is capable of
receiving requests, but it also stores the ID of the network (as
obtained via `net_version`).

Generally we shouldn't be using the network ID for anything, as it has
been completely replaced by chain ID, which all custom RPC endpoints
have been required to support for over a year now. However, as the
network ID is used in various places within the extension codebase,
removing it entirely would be a non-trivial effort. So, minimally, this
commit splits `network` into two stores: `networkId` and
`networkStatus`. But it also expands the concept of network status.

Previously, the network was in one of two states: "loading" and
"not-loading". But now it can be in one of four states:

- `available`: The network is able to receive and respond to requests.
- `unavailable`: The network is not able to receive and respond to
  requests for unknown reasons.
- `blocked`: The network is actively blocking requests based on the
  user's geolocation. (This is specific to Infura.)
- `unknown`: We don't know whether the network can receive and respond
  to requests, either because we haven't checked or we tried to check
  and were unsuccessful.

This commit also changes how the network status is determined —
specifically, how many requests are used to determine that status, when
they occur, and whether they are awaited. Previously, the network
controller would make 2 to 3 requests during the course of running
`lookupNetwork`.

* First, if it was an Infura network, it would make a request for
  `eth_blockNumber` to determine whether Infura was blocking requests or
  not, then emit an appropriate event. This operation was not awaited.
* Then, regardless of the network, it would fetch the network ID via
  `net_version`. This operation was awaited.
* Finally, regardless of the network, it would fetch the latest block
  via `eth_getBlockByNumber`, then use the result to determine whether
  the network supported EIP-1559. This operation was awaited.

Now:

* One fewer request is made, specifically `eth_blockNumber`, as we don't
  need to make an extra request to determine whether Infura is blocking
  requests; we can reuse `eth_getBlockByNumber`;
* All requests are awaited, which makes `lookupNetwork` run fully
  in-band instead of partially out-of-band; and
* Both requests for `net_version` and `eth_getBlockByNumber` are
  performed in parallel to make `lookupNetwork` run slightly faster.
2023-03-30 16:49:12 -06:00
Frederik Bolding
a53b9fb489
[FLASK] snaps-monorepo@0.32.2 (#18371)
* snaps-monorepo@0.32.0

* Update LavaMoat policies

* Add JsonSnapRegistry

* Fix lint

* [FLASK] Handle side-effects changes in metamask-controller (#18373)

* Update PermissionController

* Fix lint

* Update iframe-execution-environment

* snaps-monorepo@0.32.1

* Bump test-snaps

* Update version assertion

* Update URLs

* Fix lint

* snaps-monorepo@0.32.2

---------

Co-authored-by: Guillaume Roux <guillaumeroux123@gmail.com>
2023-03-30 23:57:28 +02:00
Jyoti Puri
a28256ace4
Change api used for opensea validation (#18383)
* Change api used for opensea validation

* fix build
2023-03-30 17:33:35 -02:30
Jyoti Puri
701063542f Adding terms of use link for opensea (#18381) 2023-03-30 19:45:14 +01:00
Elliot Winkler
50d8740a0d
Ensure that TS files in shared/modules are linted (#18367)
Some TypeScript files in shared/modules are not being linted. Add them
to the ESLint config and fix any lint violations that arise from doing
so.
2023-03-30 12:42:38 -06:00
Elliot Winkler
9b0a6ecc90
NetworkController: Use messenger for events (#18041)
Currently, the network controller notifies consumers about events by
emitting them directly from the controller. In order to migrate the
controller to the core repo, where controllers use the BaseControllerV2
interface, events should be emitted via a messenger object.

This commit updates the network controller to use a messenger, and then
updates all of the controllers that listen for network events to use the
messenger as well.
2023-03-30 12:39:36 -06:00
Jyoti Puri
b3e45ea4bc
Adding terms of use link for opensea (#18381) 2023-03-30 22:25:02 +04:00
David Walsh
6f7e382777
UX: Multichain: Improve accessibility of accounts menu (#18309)
* UX: Multichain: Improve accessibility of accounts menu

* Use button instead of a

* Pass color instead of using CSS
2023-03-30 13:12:45 -05:00
David Walsh
ba307d7258
UX: Multichain: Account Picker (#18177)
* UX: Multichain: Account Picker

* Update ui/components/multichain/account-picker/index.js

Co-authored-by: Garrett Bear <gwhisten@gmail.com>

* Update ui/components/multichain/account-picker/index.js

Co-authored-by: Garrett Bear <gwhisten@gmail.com>

* Update ui/components/multichain/account-picker/index.js

Co-authored-by: Garrett Bear <gwhisten@gmail.com>

* Update ui/components/multichain/account-picker/index.js

Co-authored-by: Garrett Bear <gwhisten@gmail.com>

* Cleanup

* Move file names to DS standard

* Add index for export

* Add MULTICHAIN flag

* Fix hover color

* Fix lint

* Use BackgroundColor instead of Color

* Add comments for propTypes

* Provide args properly

* Implement onClick arg

* Fix alignment

* Update ui/components/multichain/account-picker/account-picker.js

* Update ui/components/multichain/account-picker/account-picker.js

* Update ui/components/multichain/account-picker/account-picker.js

* Update ui/components/multichain/account-picker/account-picker.js

* Update ui/components/multichain/account-picker/account-picker.js

* Only use account name and address, account for blockies or jazzicons

* Add test

* Fix jest change

* Fix CSS locations

* Update ui/components/multichain/account-picker/account-picker.js

Co-authored-by: Garrett Bear <gwhisten@gmail.com>

* Update ui/components/multichain/account-picker/account-picker.js

Co-authored-by: Garrett Bear <gwhisten@gmail.com>

* Update ui/components/multichain/account-picker/account-picker.js

Co-authored-by: Garrett Bear <gwhisten@gmail.com>

* Update snapshot

* Update border radius

* Fix jest

* Switch to using Button

---------

Co-authored-by: Garrett Bear <gwhisten@gmail.com>
2023-03-30 13:11:13 -05:00
Pedro Figueiredo
05f0006684
Fix aria label error on the console (#18370)
* fix aria label bug

* improve solution

* improve solution

* improve solution

* update snapshot
2023-03-30 18:33:42 +01:00
Alex Donesky
9cd4e8c5a8 Fix #18199 : Add fallbacks for confirmation title on NFT transfers (#18269)
* add fallbacks for confirmation title on nft transfers

* Add token name and id

* fix

* fix test

---------

Co-authored-by: David Walsh <davidwalsh83@gmail.com>
2023-03-30 18:09:29 +01:00
Jyoti Puri
291469dece Extracting out title component from confirm-transaction-base (#17991) 2023-03-30 18:09:17 +01:00
Alex Donesky
da06901f79
Fix #18199 : Add fallbacks for confirmation title on NFT transfers (#18269)
* add fallbacks for confirmation title on nft transfers

* Add token name and id

* fix

* fix test

---------

Co-authored-by: David Walsh <davidwalsh83@gmail.com>
2023-03-30 14:07:29 -02:30
Matthew Walsh
5f52aa0566 Fix missing transaction notifications (#18323) 2023-03-30 15:59:40 +01:00
Victorien Gauch
ff9d2b18ee fix: update zkevm feature toggle date (#18307) 2023-03-30 15:54:55 +01:00
Ariella Vu
6252133c5b Fix Signature Request scroll (#18305)
* signature-req: fix scroll

* signature-req: fix scroll allow items to shrink
2023-03-30 15:54:10 +01:00
micaelae
0f1c7cab02 Disable Bridge button on unsupported networks (#18268) 2023-03-30 15:53:05 +01:00
Filip Sekulic
d8889ac83a OpenSea security provider metrics (#17688)
* Added metrics for the OpenSea security provider

* Fixed tests

* Fixed a test

* Fixed metrics

* Code refactor

* Lint fixed

* Removed unnecessary code

* Fix build

* Fix e2e

* Cleanup

* Fix e2e

* Code refactor

* Removed unnecessary code

* rpc middleware: catch securityProviderCheck errors
to not block dapp rpc requests

* Fixed an issue

* Added aditional test

* Applied some changes

* Fixed a test

* Fixed a test

* Code refactor

* Covered more code with tests

* Updated a test

* Fixed an issue

---------

Co-authored-by: Jyoti Puri <jyotipuri@gmail.com>
Co-authored-by: digiwand <20778143+digiwand@users.noreply.github.com>
Co-authored-by: Brad Decker <bhdecker84@gmail.com>
2023-03-30 15:50:10 +01:00
Ariella Vu
6ad76745fe Fix disabled 'eth_sign' event & add 'Request Disabled' event type (#18007)
* Fix #17974 / add REQUEST_DISABLED event

* RPCMiddleware: add eth_sign REQUEST_DISABLED test

* don't call Signature Request for disabled eth_sign

* clean: alphabetize

* clean: rn isDisabledRequest -> isDisabledRPCMethod

* fix test

* rpc middeware: add eth_sign comment

* fix eth_sign events and re-add Signature Request

* send 'Signature Failed' for disabled eth_sigh
2023-03-30 15:50:04 +01:00
Dan J Miller
73173e685d Fixes to the Linea Goerli implementation (#18290)
* Ensure that NonInfuraDefaultNetworks are only selected in the dropdown if they are the currently selected network

* Ensure Linea Goerli network appears in network settings tab if added manually
2023-03-30 15:43:39 +01:00
vthomas13
8aead51f30 adding opensea security provider image (#18292) 2023-03-30 15:42:40 +01:00
Ariella Vu
cba9ba6198 Fix overflowing UI & buttons in Signature Request screens (#18247)
* signature-req: fix overflow ui

* signature-req: fix uneven btn height
2023-03-30 15:42:10 +01:00
Victorien Gauch
74f566f7f3 feat: add the ConsenSys zkEVM (Linea) as a default network (#17875)
* feat: add the consensys zkEVM as a default network

* fix: change infuraNetworkStatus in navigate-txs file

* fix: remove account tracker for zkEVM + remove zkEVM from infura list

* fix: change consensys zkevm name to linea + change rpc url for linea network

* fix: rebase conflicts

* feat: add new colors for linea goerli network

* feat: add new function inside network dropdown to render non infura networks

* feat: add feature toggle for linea network

* fix: add new unit test

---------

Co-authored-by: Dan J Miller <danjm.com@gmail.com>
2023-03-30 15:40:27 +01:00
vthomas13
d6b73d339d Revert "What's new - OpenSea security provider (#16831)" (#17968)
This reverts commit 932282e638.
2023-03-30 15:24:14 +01:00
Mark Stacey
917290e764 Revert "Moved subscribe and filter into network controller (#16693)" (#18129)
* Revert "Moved subscribe and filter into network controller (#16693)"

This reverts commit 6f6984fa58. That
commit was an RPC middleware refactor intended to move the subscribe
and filter middleware into the network controller, to simplify the
process of sharing this middleware between clients.

This refactor resulted in `eth_subscribe` notifications being sent on
the wrong connections, causing the UI to break in some cases (the UI
`provider` connection does not support notifications). This happened
because the `setupProviderEngine` function runs per-connection,
whereas the engine setup inside the network controller is global. The
global network client cannot support notifications because it has no
way to route them; they'll need to stay in the per-connection provider
engine.

Closes #17467

* Add e2e test

An e2e test has been added that confirms subscriptions are only
broadcast to the site that registered them. This test fails on
`develop`.
2023-03-30 15:18:50 +01:00
António Regadas
9f89d71c6f
[MMI] compliance settings component (#18274)
* MMI-2657 adds the compliance settings screen

* MMI-2657 adds stories file

* review fixes

* review fixes

* lint fix

* clean up

* Update ui/components/institutional/compliance-settings/compliance-settings.stories.js

Co-authored-by: Nidhi Kumari <nidhi.kumari@consensys.net>

* lint fix

* snaps update

* Button update

---------

Co-authored-by: Nidhi Kumari <nidhi.kumari@consensys.net>
2023-03-30 12:40:37 +02:00
Albert Olivé
b5184db620
[MMI] Added code fencing in keyring-label component (#17993)
* Added code fencing in keyring-label component

* Updated tests
2023-03-30 09:42:59 +02:00