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

15069 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
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
b802e25a85
Fix sepolia network id (#15847) 2022-09-15 14:24:55 -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
3a25733fa6
Add notification about the merge (#15846) 2022-09-15 12:51:01 -02:30
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
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
a08de88d6a
Update whats new dates (#15804)
Co-authored-by: ryanml <ryanlanese@gmail.com>
2022-09-13 07:27:02 -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
45916b9624
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:56:19 -07:00
George Marshall
e7c72bc96f
Fixing lint issues (#15782) 2022-09-12 08:32:09 -07:00
Daniel
34e2faaf49
Replace Rinkeby with Goerli for dev testing (#15781) 2022-09-12 13:11:29 +02:00
David Walsh
e8232aa714
Only render tooltip component if swap network is disabled (#15733) 2022-09-09 14:12:54 -05:00
seaona
9cf401bb92
Expand error details before taking screenshot (#15779) 2022-09-09 14:40:51 +02:00
Jyoti Puri
216f76646e
Make cancel transaction idempotent (#15675) 2022-09-09 17:20:31 +05:30
ryanml
82cf63fcf4
Ensuring Blockies Icon is used in nickname popup when enabled (#15768) 2022-09-08 13:01:52 -07:00
Thomas Huang
c2218ad941
Continue rm enzyme, unit tests. (#15730)
* Convert Confirm Page Container test to tlr.

Add test ids to associated components.

* Convert Welcome component to tlr.

* Update ui/pages/first-time-flow/welcome/welcome.test.js

Co-authored-by: Ariella Vu <20778143+digiwand@users.noreply.github.com>

* Update ui/components/app/confirm-page-container/confirm-page-container-container.test.js

Co-authored-by: Ariella Vu <20778143+digiwand@users.noreply.github.com>

* Remove unsused, commented out, lines

Co-authored-by: Ariella Vu <20778143+digiwand@users.noreply.github.com>
2022-09-08 10:05:15 -07:00
omahs
f94bc074b8
Fix: french typos (#15735) 2022-09-08 11:45:24 -05:00
Daniel
fe10c35464
Preserve search query for "Swap from" and "Swap to" form fields, update content (#15758) 2022-09-08 11:31:56 -05:00
Adnan Sahovic
2dbabac599
warning for deprecated Rinkeby, Ropsten and Kovan test networks (#15725)
* warning for deprecated Rinkeby, Ropsten and Kovan test networks

* modified DeprecatedTestNetworks function

* added getCompletedOnboarding

* removed warning message from MetaMask ​​Notification page

* updated deprecatedTestNetworksMsg
2022-09-08 09:00:57 -02:30
Ariella Vu
a7ff6593a9
ConfirmPage: update setApprovalForAll dialog copy (#15744)
* ConfirmPage: update setApprovalForAll copy

* ConfirmPage: add TODO issue link
2022-09-08 03:17:40 -07:00
Nidhi Kumari
838cd5b38c
converted Jazzicon component to functional component and added story (#15638)
* converted jazzicon component to functional and added story

* removed console statement

* updated appendChild with dangerouslySetInnerHtml

* added propType description

* replaced dangerouslySetHTML with appendChild

* updated useEffect to useCleanup
2022-09-08 14:59:56 +05:30
George Marshall
c825a481c5
Adding custom component props to FormField component (#15679)
* adding custom component props to form-field component

* replacing ternary operater with binary logical OR

* Removing label from wrapping all form-field elements

* Adding wrapping label back but providing overriding props as well as updating default props
2022-09-07 09:21:14 -07:00
gzeon
527fbe0c70
Update Arbitrum symbol (#15747) 2022-09-07 10:20:11 -05:00
George Marshall
100fbbfaca
Upgrading storybook from 6.3 to 6.5 fixing shell-quote vulnerability (#15684)
* Updating storybook from 6.3 to 6.5

* Some lavamoat policy overrides for eslint
2022-09-06 15:58:22 -07:00
David Walsh
4de0f86a15
Fix storybook by shimming MV3 method (#15749) 2022-09-06 15:56:08 -05:00