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

15338 Commits

Author SHA1 Message Date
Elliot Winkler
d91eabfd16
Add initial provider API tests for Infura client (#15556)
We are working on migrating the extension to a unified network
controller, but before we do so we want to extract some of the existing
pieces, specifically `createInfuraClient` and `createJsonRpcClient`,
which provide the majority of the behavior exhibited within the provider
API that the existing NetworkController exposes. This necessitates that
we understand and test that behavior as a whole.

With that in mind, this commit starts with the Infura-specific network
client and adds some initial functional tests for `createInfuraClient`,
specifically covering three pieces of middleware provided by
`eth-json-rpc-middleware`: `createNetworkAndChainIdMiddleware`,
`createBlockCacheMiddleware`, and `createBlockRefMiddleware`.

These tests exercise logic that originate from multiple different places
and combine in sometimes surprising ways, and as a result, understanding
the nature of the tests can be tricky. I've tried to explain the logic
(both of the implementation and the tests) via comments. Additionally,
debugging why a certain test is failing is not the most fun thing in the
world, so to aid with this, I've added some logging to the underlying
packages used when a request passes through the middleware stack.
Because some middleware change the request being made, or make new
requests altogether, this greatly helps to peel back the curtain, as
failures from Nock do not supply much meaningful information on their
own. This logging is disabled by default, but can be activated by
setting `DEBUG=metamask:*,eth-query DEBUG_COLORS=1` alongside the `jest`
command.

We use this logging by bumping `eth-block-tracker`, and
`eth-json-rpc-middleware`.
2022-09-16 10:48:33 -02:30
Mark Stacey
5bfc2f379d
Fix portfolio URL configuration (#15849)
The portfolio URL added in #15407 was meant to be configurable via
environment variable or the `.metamaskrc` file, but that configuration
was broken. Instead the default value was always used.

That configuration has been fixed. The portfolio URL can be set either
by environment variable or configuration file.
2022-09-16 10:43:59 -02:30
Dan Miller
5f21cbeeff Fix bug introduced when resolving conflict during cherry-pick of 7ffcad3328 2022-09-15 20:42:50 -02:30
Mark Stacey
929a1a0d52
Update eth-json-rpc-infura (#15845)
* Update `eth-json-rpc-infura`

The package `eth-json-rpc-infura@5` has been updated to
`@metamask/eth-json-rpc-infura@7`. This update includes TypeScript
support, and it drops support for older node.js versions. The exports
have also been changed from default to named exports.

See here for a full list of changes: https://github.com/MetaMask/eth-json-rpc-infura/blob/main/CHANGELOG.md#700

* Fix LavaMoat policy issue

The `web3` package used by `@metamask/controllers` unintentionally
overwrites the `XMLHttpRequest` global, which breaks things. This was
fixed by revoking `web3`'s write access to that global using a policy
override.

Previously this policy override was applied to `web3`, but for some
unknown reason, this update caused that override to no longer apply.
2022-09-15 14:41:18 -02:30
Dan J Miller
d5c3dbce95 Fix sepolia network id (#15847) 2022-09-15 14:32:41 -02:30
Dan J Miller
b802e25a85
Fix sepolia network id (#15847) 2022-09-15 14:24:55 -02:30
Mark Stacey
3047c3ab24 Resolve inconsistency between browsers (#15800)
Resolve an inconsistency between Chrome and Firefox with how the
contentscript runs in an iframe.

This should have no user-facing impact, it's just meant as a safeguard
in case something unintentionally gets included in the contentscript.
2022-09-15 18:36:02 +02:00
Niranjana Binoy
06fc3a1dd5 Displaying the aggregators from tokenList in Detected token popover (#15835)
* using the aggregators from tokenList instead of detectedToken to avoid conflicts between static and dynamic list

* removing aggregator from the detectTokens object List
2022-09-15 12:55:11 -02:30
Niranjana Binoy
32aa47ddb2
Displaying the aggregators from tokenList in Detected token popover (#15835)
* using the aggregators from tokenList instead of detectedToken to avoid conflicts between static and dynamic list

* removing aggregator from the detectTokens object List
2022-09-15 12:53:18 -02:30
Dan J Miller
c35b4d6ec8 Add notification about the merge (#15846) 2022-09-15 12:52:38 -02:30
Olusegun Akintayo
5316fc682e Show 3box deprecation message in whats new (#15763)
* Show 3box deprecation message in whats new

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* Add . after message

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* Change deprecation notification message and remove date

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>
2022-09-15 12:52:38 -02:30
Dan J Miller
3a25733fa6
Add notification about the merge (#15846) 2022-09-15 12:51:01 -02:30
ryanml
7ffcad3328 Adding Sepolia as a default test network (#15787) 2022-09-15 12:25:42 -02:30
Dan J Miller
99e3721f13 Ensure that 'tokens found in this account' message is only shown when token detection activated (#15823) 2022-09-15 15:41:27 +02:00
Dan J Miller
b2f1c3f53e Hide DetectedTokenAggregators if token.aggregators lists are empty (#15824) 2022-09-15 15:40:58 +02:00
Dan J Miller
96a68019bf Move updateBackgroundConnection call in ui/index.js to before the action calls (#15826) 2022-09-15 15:40:26 +02:00
Dan J Miller
222c5debf3 Ensure chainId is defined in validateRecipientUserInput in send-duck (#15822) 2022-09-15 15:39:54 +02:00
Dan J Miller
7054dd6694 Ensure approval warning for setApprovalForAll is not shown when revoking (#15806)
Co-authored-by: ryanml <ryanlanese@gmail.com>
2022-09-15 15:38:33 +02:00
Dan J Miller
ba11a4b5ad Ensure network info popup only displays on networks where the user has no balances (#15821) 2022-09-15 15:36:41 +02:00
David Walsh
d0adb5f697
Update MV3 CSP to fix build (#15833) 2022-09-14 14:17:50 -05:00
Alex Donesky
0026966c9e
Skip searching 4byte directory if we don't have a full 4 bytes of data (#15473)
* skip searching 4byte directory if we don't have a full 4bytes of data

* address feedback

* lint
2022-09-14 13:36:53 -05:00
ryanml
7b04bf8b47
Adding Sepolia as a default test network (#15787) 2022-09-14 13:26:45 -05:00
PeterYinusa
eb176c721b
Case insensitive modifier for Firefox (#15831)
JSON.parse: unexpected character at line 1 column 1 of the JSON data

JSON.parse: unexpected end of data at line 1 column 1 of the JSON data
2022-09-14 18:16:21 +01:00
Dan J Miller
e5da67515c
Ensure network info popup only displays on networks where the user has no balances (#15821) 2022-09-14 10:35:59 -05:00
Dan J Miller
17855b5df8
Ensure chainId is defined in validateRecipientUserInput in send-duck (#15822) 2022-09-14 10:35:33 -05:00
Dan J Miller
b359844dc5
Ensure that 'tokens found in this account' message is only shown when token detection activated (#15823) 2022-09-14 10:35:14 -05:00
Dan J Miller
ba3a584d7f
Move updateBackgroundConnection call in ui/index.js to before the action calls (#15826) 2022-09-14 10:35:02 -05:00
Dan J Miller
487440f93d
Hide DetectedTokenAggregators if token.aggregators lists are empty (#15824) 2022-09-14 10:34:46 -05:00
Dan J Miller
fc65ca63af
Ensure approval warning for setApprovalForAll is not shown when revoking (#15806)
Co-authored-by: ryanml <ryanlanese@gmail.com>
2022-09-14 10:32:04 -05:00
Brad Decker
c87980bbfe
migrate network constants to typescript (#15610) 2022-09-14 09:55:31 -05:00
seaona
506d1e74e5
[e2e] Refactor send-hex-address spec using Ganache seeder (#15604)
* Send Hex Address Ganache refactor

* Added explanatory comment
2022-09-14 16:51:49 +02:00
Dan J Miller
527f56fa5f Properly handle JSON errors when restoring data in advanced settings (#15815) 2022-09-13 18:00:24 -07:00
Dan J Miller
0b9424acc1
Properly handle JSON errors when restoring data in advanced settings (#15815) 2022-09-13 17:59:04 -07:00
Ariella Vu
d3c7b9fb32
MV3: contentscript.js - re-activate streams when Service Worker terminates and then resets (#15494)
* contentscript: reactivate streams pt.1

* contentscript: reactivate streams pt. 2

* scripts/inpage.js: use const

* clean: rm unused @param

* contentscript: reactivate streams pt. 3
- reorganize functions

* resetSteamAndListeners -> resetStreamAndListeners

* contentscript: skip Legacy Provider while WIP

* contentscript: rm comment sentence

* initPageStreams -> initStreams

* setupPageStreams -> setupStreams

* contentscript: only destroy extension streams WIP

* remove pageMuxChannel listeners (It works!)
- credits to @gudhatt for this missing piece

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

* contentscript: cleanup

* contentscript: support legacy streams
w/ service workers

* contentscript: support phishing streams
w/ service workers

* contentscript: muxChannel -> channel

* contentscript: phishingExension -> phishingExt

* contentscript: add section comments

* contentscript: revert condensing comment

* contentscript: pagePhishing -> phishingPage

* contentscript: update comments

* contentscript: fix phishingExtPort

* contentscript: stream -> streams

* contentscript: update SW keep alive logic
should only keep alive when dapp is open / contentscript page

* rm console.log

Co-authored-by: Mark Stacey <markjstacey@gmail.com>
Co-authored-by: Jyoti Puri <jyotipuri@gmail.com>
2022-09-13 14:20:08 -07:00
Olusegun Akintayo
453340d12a
Show 3box deprecation message in whats new (#15763)
* Show 3box deprecation message in whats new

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* Add . after message

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

* Change deprecation notification message and remove date

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>
2022-09-13 22:51:46 +04:00
dependabot[bot]
8391949977
Bump @metamask/auto-changelog from 2.6.0 to 2.6.1 (#15001)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Brad Decker <bhdecker84@gmail.com>
2022-09-13 13:00:06 -05:00
Ariella Vu
99761b59dc
MV3: Migrate permissions (#15777)
* MV3: migrate host_permissions

* MV3: alphabetize permissions

* rm superfluous permissions
2022-09-13 09:36:42 -07:00
Ariella Vu
93c609b117
Update reset.scss to revive <b> element font-weight (#15784)
* reset.scss: add comment

* reset.scss: revive <b> element font-weight

* scss: rm unused b {} style

* scss: rm .text b style

Co-authored-by: ryanml <ryanlanese@gmail.com>
2022-09-13 09:30:41 -07:00
seaona
d322c89bb2
Updating Chromedriver to the last version (#15798)
* Updating Chromedriver to the last version

* Update Chrome version to last stable v105
2022-09-13 16:31:19 +02:00
Dan J Miller
a1673af673 Update whats new dates (#15804)
Co-authored-by: ryanml <ryanlanese@gmail.com>
2022-09-13 07:27:25 -07:00
Dan J Miller
a08de88d6a
Update whats new dates (#15804)
Co-authored-by: ryanml <ryanlanese@gmail.com>
2022-09-13 07:27:02 -07:00
Dan J Miller
e6f23e9dda Update token detection whats new message: token detection is off by default (#15807)
Co-authored-by: ryanml <ryanlanese@gmail.com>
2022-09-13 07:23:03 -07:00
Dan J Miller
4483ed5b7e
Update token detection whats new message: token detection is off by default (#15807)
Co-authored-by: ryanml <ryanlanese@gmail.com>
2022-09-13 07:21:48 -07:00
Matthew Epps
dcfe80c255
Add entry point for metalabs dapp into metamask home page (#15407)
Co-authored-by: Dan Miller <danjm.com@gmail.com>
2022-09-13 08:41:58 -05:00
Jyoti Puri
0b1744d4eb
Make createSpeedUpTransaction action idempotent (#15688) 2022-09-13 18:13:38 +05:30
Frederik Bolding
6cd18ea62b
[FLASK] Fix crash when uninstalling snap (#15799)
* Fix crash when uninstalling snap

* Run lint
2022-09-13 12:41:29 +02:00
Mark Stacey
ea947ed1a4
Resolve inconsistency between browsers (#15800)
Resolve an inconsistency between Chrome and Firefox with how the
contentscript runs in an iframe.

This should have no user-facing impact, it's just meant as a safeguard
in case something unintentionally gets included in the contentscript.
2022-09-12 18:35:41 -02:30
amerkadicE
7aa2a8a983
Replace web3js package with ethersjs package (#15386)
Co-authored-by: Alex Donesky <adonesky@gmail.com>
2022-09-12 15:46:48 -05:00
Frederik Bolding
398b93cf51
[FLASK] Fix crash with certain permissions on the snap settings page (#15797) 2022-09-12 18:36:40 +02:00
Taylor Monahan
9529462740 fix issue where signing a message sometimes doesn't allow you to scroll to the bottom (#15788)
* fix issue wherein signing a message sometimes doesn't allow you to scroll all the way to the bottom

done in a way to make it as mergeable as possible

* Fixing length-zero-no-unit lint issue

Co-authored-by: ryanml <ryanlanese@gmail.com>
2022-09-12 08:57:42 -07:00