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

7067 Commits

Author SHA1 Message Date
Nidhi Kumari
6a17d76efc
UX Multichain: Added Select an action Modal (#20559)
* added select-action-modal skeleton

* added select action modal item

* replaced stake link with constant

* added route for open and close of modal

* updated lint errors

* lint fix

* updated tests

* revert unnecessary changes

* fixed lint errors

* added suggestions

* lint fix

* updated test

* nit fix

* updated select action item to use button

* removed unused fragments

* moved onClose command to bottom

* moved select action modal on footer click

* changed isDisabled to disabled

* added hover and updated test

* nit fix
2023-08-29 22:15:30 +05:30
Nidhi Kumari
215430236e
Created new route for connections (#20556)
* created new route for connections

* remove unnecessary code

* added connections component

* fixed connections route

* moved connections to pages in multichain

* moved connections route to multichain feature flag
2023-08-29 22:08:29 +05:30
Nidhi Kumari
b8b94c2c1f
UX Multichain: Added balance-overview component (#20528)
* added balance-overview component

* updated balance overview component to use Currency utility props

* added MULTICHAIN feature flag

* lint fix

* lint fix

* lint fix

* updated ternary operators
2023-08-29 22:07:23 +05:30
Daniel
4e14e179c8
Update UI for blocked tokens, use the latest dev gas api URL (#20625) 2023-08-29 14:38:46 +02:00
Subhajit Ghosh
877e184b29
Added deprecatation comment to menu.js file and Add deprecation notice to storybook (#20622) 2023-08-28 19:31:19 -07:00
Dhruv
b6ad074b9a
deprecating NetworkDisplay in favour of PickerNetwork (#20619) 2023-08-28 16:06:56 -07:00
Dhruv
a455b6ddc1
deprecating ConfirmPageContainerWarning in favour of BannerAlert (#20621) 2023-08-28 16:06:10 -07:00
Dhruv
7e1ed4bb0b
deprecating Dialog in favour of BannerAlert (#20623) 2023-08-28 16:03:41 -07:00
George Marshall
0cbd22d0e4
Fixing linting issue caused by bad merge of HoldToRevealModal and the Button component library component TS migration (#20634) 2023-08-28 16:01:05 -07:00
Garrett Bear
66292330fe
Feat/18890/button ts update (#20492)
* button to TS migration

working demo

style props

broken mapping - need switch

working types file

working types

fix dependent imports of Button

variant mapping

working types

fix lint

fix test

fix ButtonSize issue on QuizContent

box fix

test if this works

fix button being used on QuizContent

fix button_variant import

readme fix

* fix button import

* fix primary button as anchor hover

* deprecated

* button to TS migration

fix lint

fix test

* fix rebase issue

* fix rebase issue

* lint fix
2023-08-28 14:42:00 -07:00
Jase Balderrama
c54212916b
20488: Declare <Chip/> as deprecated (#20579)
* Add @deprecated JSDoc to <Chip/>

* Add deprecated banner to <Chip/> stories

* Fix linting error

Co-authored-by: George Marshall <georgewrmarshall@gmail.com>

* Import 'Severity' via existing import statement

* Add propTypes for <Deprecated/> wrapper

---------

Co-authored-by: George Marshall <georgewrmarshall@gmail.com>
2023-08-28 14:12:28 -05:00
Brad Decker
64aef2a1c9
split advancedGasFee by network and erase previous options (#20576)
* Split out advanced gas fees by network and delete old values

* use arrow functions in preferences test

* changes

* added back priorityFeeProperCase to en messages

* update types

* remove case change
2023-08-26 17:58:26 -07:00
Harsh Shukla
a35df21b7f
Part of #20163 for file ui\components\app\detected-token\detected-token-values\detected-token-values.js (#20537)
* Part of #20163 for file ui\components\app\detected-token\detected-token-values\detected-token-values.js

* Update ui/components/app/detected-token/detected-token-values/detected-token-values.js

---------

Co-authored-by: Garrett Bear <gwhisten@gmail.com>
2023-08-26 08:27:10 -07:00
Mark Stacey
3044aa0ebe
Fix account selectors when balances are missing (#20385)
* Fix account selectors when balances are missing

Some of the account selectors we use would return an empty set of
accounts if the `AccountTracker` state was missing. This resulted in UI
crashes when trying to access the current selected account.

The selectors have been updated to use the `identities` as the source-
of-truth for the full set of accounts. This ensures that even if the
balances are missing, each account will at least be represented by an
empty object.

* Fix unit test

* Fix another unit test

* Fix another unit test

* Fix another unit test

* Fix more unit tests

---------

Co-authored-by: legobeat <109787230+legobeat@users.noreply.github.com>
2023-08-26 00:28:24 -02:30
Danica Shen
c3f907fe4f
fix:fix error of balance fetching when add/import an account (#20612) 2023-08-25 20:05:28 +01:00
Victor Thomas
cf651c4d63
Multichain v1 App Footer component (#20550)
* wip bottom navbar

* creating app-footer component

* moving appfooter inline styles to scss

* lint:fix

* refactor app-footer

* reverting home component, icon-button changes

* adding hrefs and tabindex
2023-08-25 12:28:15 -04:00
Jyoti Puri
77c7f34062
Updating watch NFT page header (#20569) 2023-08-25 18:27:17 +05:30
Maarten Zuidhoorn
96210b9783
Always show connected accounts permissions if they exist (#20600)
* Show connected accounts permissions if they exist

* Add optional chaining
2023-08-25 12:40:28 +02:00
Maarten Zuidhoorn
f8a7a83e05
Update snaps-related copy (#20601)
* Update snaps-related copy

* Update test
2023-08-25 12:40:13 +02:00
Daniel
679d6686e3
Show a slippage notification again before submitting a swap, improve content for slippage notifications (#20364) 2023-08-25 11:44:31 +02:00
Howard Braham
d76b458235
fix(privateKey): Restore hold-to-reveal button for private key export (#20109)
* fix(privateKey): Restore hold-to-reveal button for private key export

* lint and unit test fixes

* adding e2e tests to reveal private key

* fixing lint issues

* fixed: Private key is able to be presented without tapping and holding the "Hold to reveal" CTA

* Incorrect password test and support hold to reveal

* improving unit tests

---------

Co-authored-by: Plasma Corral <32695229+plasmacorral@users.noreply.github.com>
Co-authored-by: Gustavo Antunes <17601467+gantunesr@users.noreply.github.com>
2023-08-24 17:35:26 -04:00
Danica Shen
9514b47a7e
fix(878): fix toggle align styles for eth-sign in settings (#20587) 2023-08-24 14:11:38 +01:00
Danica Shen
00d155ce2f
feat(878): implement network txn toggle and new style (#20363)
* feat(878): implement new incoming transaction toggle networks for setting and onboarding

* Update state snapshots

* feat(878): change gaps, migration types based on comment

---------

Co-authored-by: Mark Stacey <markjstacey@gmail.com>
2023-08-24 11:27:42 +01:00
Albert Olivé
a478f675f1
Fixed balance error when creating a new EOA account (#20585) 2023-08-24 11:01:30 +02:00
David Walsh
79d9c18cb1
UX: Multichain: Add address to account picker, change connection to copy button (#20520)
* UX: Multichain: Add address to account picker, change connection to copy button

* Fix for very long account names
2023-08-23 11:36:03 -05:00
Albert Olivé
b296f48c11
Fixing iconUrl issue setting the custodianName to custodianType if custodianName is undefined (#20565) 2023-08-23 15:40:11 +02:00
Albert Olivé
021c293e46
Removed code fences that were causing to not being able to sign correctly (#20560) 2023-08-23 13:58:58 +02:00
Howard Braham
d3d30fd373
fix(settings): fixed two IPFS gateway issues (#19700)
* fix(settings): fixed two IPFS gateway issues

- adds back in two bugfixes that were originally in #19283
  - fixes #16871
  - fixes #18140

- achieves 100% code coverage for /ui/pages/settings/security-tab
- removes the npm package `valid-url`, which has not been updated in 10 years

* changes after #20172 was merged

* improved URL validation (specifically spaces)

* better Jest coverage

* response to legobeat review

* fixing lint and Jest
2023-08-22 22:13:13 -07:00
Dan J Miller
b8525566f2
Enable legacy HD paths for trezor users (#19552)
* Update eth-trezor-keyring to v1.1.0

* Revert "Revert "feature: Add legacy derivation path to Trezor (#19443)" (#19451)"

This reverts commit b5ef94b9f0.

* Fix trezor import

* Update lavamoat policies

* Remove accidentally committed code

* Fix type in previous commit
2023-08-22 16:11:52 -04:00
Matthew Walsh
37209a7d2e
Replace IncomingTransactionsController with helper (#20378)
Remove the IncomingTransactionController and replace it with an internal helper class.
Move incoming transactions into the central transactions object.
Create a new RemoteTransactionSource interface to decouple incoming transaction support from Etherscan.
Split the incoming transaction logic into multiple files for easier maintenance.
2023-08-22 10:17:07 +01:00
Daniel
8ca0b762ad
Don't call "toPrecisionWithoutTrailingZeros" if a destination value is not a number (#20525) 2023-08-21 18:06:12 +02:00
Dan J Miller
12a1c66dc2
Use primary transaction to get token value in useTransactionDisplayData (#20536)
Co-authored-by: Jyoti Puri <jyotipuri@gmail.com>
2023-08-21 15:45:25 +05:30
Maarten Zuidhoorn
785e0d0923
[FLASK] Fix regression in transaction confirmation tabs (#20267)
* Fix regression in transaction confirmation tabs

* Fix transaction insights e2e test
2023-08-21 12:03:55 +02:00
Dhruv
ba31f87014
fix/TagUrl to TS (#20519) 2023-08-18 17:59:02 -07:00
Dhruv
07abc53cce
fix/BannerBase to TS (#20421)
* BannerBase to TS

* snapshot updates

* more snapshot updates

* addressing type definition error

* updating eth-sign-modal snapshot

* Updates to stories, types and adding data-testid

* Updating snapshots

* updating snapshot of blockaid-banner-alert and adding unit test for childrenWrapperProps

* BannerBase updates to stories, adding locale for close button, removing static data-testid in favor of using it at the instance, updating snapshots associated with those changes

* Removing incorrect arg from storybook file

* Updating html element in security provider e2e test to match BannerBase. Also updating snapshot of ConfirmTransaction page

* Fixing e2e tests

---------

Co-authored-by: georgewrmarshall <george.marshall@consensys.net>
2023-08-18 14:52:40 -07:00
George Marshall
dc6069a3ab
Deprecating ErrorMessage in favor of BannerAlert (#20461) 2023-08-18 13:27:10 -07:00
jainex
3d9457e517
Replacing deprecated Popover with Modal (#20413)
* Replacing deprecated Popover with Modal

* Replacing deprecated Popover with Modal in detected-token-ignored-popover

* Remove unused code

* fix hover problem

* update footerButton size to large

* Lint fix

* UI updates and removing unused CSS

* reset chnages in edit-gas-popover.component.js

---------

Co-authored-by: georgewrmarshall <george.marshall@consensys.net>
2023-08-18 09:54:50 -07:00
Srirag
7f157cabf9
Deprecation message has been added above @mixin H1 (#20500) 2023-08-18 09:54:12 -07:00
Albert Olivé
8df77ed93d
[MMI] Always redirect to MMI portfolio dashboard upon the user clicking on swaps (#20527) 2023-08-18 18:44:23 +02:00
Dan J Miller
ca1ddeb59b
Fix and test log.info calls run for each migration (#20517)
* Fix and test log.info calls run for each migration

In migrator/index.js, log.info is called before an after each migration.
These calls are intended to produce breadcrumbs to be captured by sentry
in cases where errors happen during or shortly after migrations are run.
These calls were not causing any output to the console because the log.setLevel
calls in ui/index.js were setting a 'warn value in local storage that was being
used by logLevel in the background.

This commit fixes the problem by setting the `persist` param of setLevel to
false, so that the background no longer reads the ui's log level.

Tests are added to verify that these logs are captured in sentry breadcrumbs
when there is a migration error due to an invariant state.

* Improve breadcrumb message matching

The test modified in this commit asserts eqaulity of  messages from breadcrumbs
and hard coded expected results. This could cause failures, as sometimes the
messages contain whitespace characters. This commit ensures the assertions only
check that the expected string is within the message string, ignoring extra
characters.
2023-08-18 11:15:45 -02:30
Albert Olivé
60f149178c
[MMI] Set approved status in tx controller in MMI logic (#20507)
* fix(custodial-signing): set approved status in tx controller in MMI logic

* Fixed the issue that was not showing custody-confirm-link

---------

Co-authored-by: Shane Terence Odlum <shane.odlum@consensys.net>
2023-08-18 14:38:51 +02:00
Ariella Vu
8807d06535
Security Alert Blockaid: fix propType and add instance to ConfirmApprove page (#20494)
* fix: SecurityProviderBannerAlert propTypes

* feat: add ConfirmApprove BlockaidBannerAlert
2023-08-18 14:06:46 +02:00
Albert Olivé
486ade85f3
[MMI] Fixed connect mmi button several issues (#20455)
* fixed connect mmi button several issues

* Fixed snapshot

* Improved multiple things

* running yarn dedupe

* Update LavaMoat policies

* For some reason, this.mmiConfigurationController.store.mmiConfiguration?.portfolio sometimes is undefined, added [] if null.
Moved the || {} outside the find method

* minor improvements

---------

Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
2023-08-17 14:50:40 +02:00
Mark Stacey
20e16d41be
Improve Sentry state pre-initialization (#20491)
* Improve Sentry state pre-initialization

Previously the masked state snapshot sent to Sentry would be blank for
errors that occured during initialization. Instead we'll now include
some basic information in all cases, and a masked copy of the persisted
state if it happens after the first time the persisted state is read.

* Add test

* Fix crash when persisted state not yet fetched

* Add descriptions for initial state hooks

* Update comments to reflect recent changes

* Re-order imports to follow conventions

* Move initial state hooks back to module-level

The initial state hooks are now setup at the top-level of their module.
This ensures that they're setup prior to later imports. Calling a
function to setup these hooks in the entrypoint module wouldn't
accomplish this even if it was run "before" the imports because ES6
imports always get hoisted to the top of the file.

The `localStore` instance wasn't available statically, so a new state
hook was introduced for retrieving the most recent retrieved persisted
state.

* Fix error e2e tests
2023-08-17 09:29:05 -02:30
Michele Esposito
3aa5b7d362
Use importAccountWithStrategy from core KeyringController (#19815)
* refactor: use new importaccount from keyring controller

* Update LavaMoat policies

* Update LavaMoat policies

* Update LavaMoat policies

---------

Co-authored-by: MetaMask Bot <metamaskbot@users.noreply.github.com>
2023-08-17 09:11:51 +02:00
Unik0rnMaggie
5cbfa82018
Fix Typo in en.json (#20429)
* Fix Typo in en.json

There is a typo in "smart contact"

* updated snapshot

---------

Co-authored-by: Howard Braham <howrad@gmail.com>
2023-08-16 15:36:33 -02:30
George Marshall
419bf92282
Removing Box props description from TS component docs (#20451)
* Removing Box props description from TS component docs

* Making style utility prop comments more generic
2023-08-16 10:34:08 -07:00
Mark Stacey
4e93b86116
Split Sentry mask into UI and background masks (#20426)
The state mask used to anonymize the Sentry state snapshots has been
split into UI and background masks. This was done to simplify later
refactors. There should be no functional changes.
2023-08-16 14:40:44 -02:30
Mark Stacey
a6ef7bb244
Add additional Sentry E2E tests (#20425)
* Reorganize Sentry error e2e tests

The tests have been reorganized into different describe blocks. Each
describe block is for either before or after initialization, and either
with or without opting into metrics.

This was done to simplify later test additions. The conditions for each
test are now in the describe block, letting us test additional things
in each of these conditions. The conditions were flattened to a single
level to avoid excessive indentation.

* Add error e2e test for background and UI errors

The Sentry e2e tests before initialization only tested background
errors, and the after initialization tests only tested UI errors. Now
both types of errors are tested in both scenarios.

* Add error e2e tests for Sentry error state

E2E tests have been added to test the state object sent along with each
Sentry error.

At the moment this object is empty in some circumstances, but this will
change in later PRs.

* Rename throw test error function

* Only setup debug/test state hooks in dev/test builds

The state hooks used for debugging and testing are now only included in
dev or test builds. The function name was updated and given a JSDoc
description to explain this more clearly as well.

* Add state snapshot assertions

State snapshot assertions have been added to the e2e error tests. These
snapshots will be very useful in reviewing a few PRs that will follow
this one.

We might decide to remove these snapshots after this set of Sentry
refactors, as they might be more work to maintain than they're worth.
But they will be useful at least in the short-term.

The login step has been removed from a few tests because it introduced
indeterminacy (the login process continued asynchronously after the
login, and sometimes was not finished when the error was triggered).

* Ensure login page has rendered during setup

This fixes an intermittent failure on Firefox

* Format snapshots with prettier before writing them

* Use defined set of date fields rather than infering from name

* Remove waits for error screen

The error screen only appears after a long timeout, and it doesn't
affect the next test steps at all.
2023-08-16 11:52:25 -02:30
Michele Esposito
42d05ef9cd
Use addNewAccount from core KeyringController (#19814)
* refactor: use addNewAccount from core KeyringController

* refactor: replace missed interaction

* refactor: select account only when is new

* refactor: use getAccounts to check if account is new
2023-08-16 11:19:41 +02:00