1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-10-22 19:26:13 +02:00
Commit Graph

941 Commits

Author SHA1 Message Date
Olusegun Akintayo
b6673731e2
Implement Network Switcher designs (#12260)
* Show test networks toggle button in settings/advanced tab.

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

* Apply toggle testnet settings and show/hide testnets when on/off
Add localhost to testnet.

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

* Lint fixes.

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

* Show add network button

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

* Open full screen when add network is called.

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

* Show custonm rpc before testnet rpcs
lint fixes.

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

* Test cases for network dropdown.

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

* Test cases for toggle test networks in advanced tab component.

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

* Lint fixes.

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

* Fix Locales.

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

* E2E Tests: Custom RPC is now called Add Network

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

* Lint fix

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

* E2E: When Add Network button is clicked, wait for the full screen window to
be visible

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

* findVisibleElement should use a class. i.e start with a dot

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

* Hide Dropdown when Add Netwok is clicked.
Only show full screen if it's not already showing.
E2E tests passing.

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

* Lint fixes

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

* Fix tests for jest

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

* Testnets are not being shown by default anymore, tests should use
Mainnet instead.

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

* Import Button from ui
Change selector name to getShowTestnetworks
Fix button to show full width

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

* Fix e2e tests

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

* Remove localhost from INFURA provider types.

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

* Fix errors in Advanced Tab Component tests

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

* Lint fixes

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

* Fix unit tests for advanced tab component.

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

* Remove deleted elements from e2e tests

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

* Make sure all tests passed.

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

* Lint fixes

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>
2021-10-28 23:31:05 +04:00
ryanml
64e4ce19bc
Updating dapp learn more link (#12515) 2021-10-28 12:18:48 -07:00
ryanml
75b032590b
Adding metrics event for Advanced Options (EditGasDisplay) (#12507) 2021-10-28 10:06:16 -07:00
David Walsh
6e928c661e
Create function for hardware keyring checking (#12457) 2021-10-27 18:54:18 -05:00
ryanml
05a80ebeba
Adding collectibles feature flag, default NFT tab (#12463)
* Adding COLLECTIBLES_V1 feature flag

* Adding NFT's tab to home screen, default CollectiblesList view

* Handling null children in Tabs component
2021-10-27 09:55:14 -07:00
Niranjana Binoy
532927368d
Network Form Design and switch to full screen enhancements (#12302) 2021-10-25 16:38:43 -04:00
ryanml
a4ddeed799
Adding estimate fields to updateTransaction, createCancelTransaction and createSpeedUpTransaction (#12398) 2021-10-22 13:42:20 -07:00
Jyoti Puri
79b08fb803
Refactoring useGasFeeInputs hook (#12327)
Refactoring useGasFeeInputs hook
2021-10-22 22:44:28 +05:30
Dan J Miller
9d70c60c22
Connect Ledger via WebHID (#12411)
* Connect ledger via webhid if that option is available

* Explicitly setting preference for webhid

* Use ledgerTransportType enum instead of booleans for ledger live and webhid preferences

* Use single setLEdgerTransport preference methods and property

* Temp

* Lint fix

* Unit test fix

* Remove async keyword from setLedgerTransportPreference function definition in preferences controller

* Fix ledgelive setting toggle logic

* Migrate useLedgerLive preference property to ledgerTransportType

* Use shared constants for ledger transport type enums

* Use constant for ledger usb vendor id

* Use correct property to check if ledgerLive preference is set when deciding whether to ask for webhid connection

* Update eth-ledger-bridge-keyring to v0.9.0

* Only show ledger live transaction helper messages if using ledger live

* Only show ledger live part of tutorial if ledger live setting is on

* Fix ledger related prop type errors

* Explicitly use u2f enum instead of empty string as a transport type; default transport type to webhid if available; use constants for u2f and webhid

* Cleanup

* Wrap ledger webhid device request in try/catch

* Clean up

* Lint fix

* Ensure user can easily connect their ledger wallet when they need to.

* Fix locales

* Fix/improve locales changes

* Remove unused isFirefox property from confirm-transaction-base.container.js

* Disable transaction and message signing confirmation if ledger webhid requires connection

* Ensure translation keys for ledger connection options in settings dropdown can be properly detected by verify-locales

* Drop .component from ledger-instruction-field file name

* Move renderLedgerLiveStep to module scope

* Remove ledgerLive from function and message names in ledger-instruction-field

* Wrap ledger connection logic in ledger-instruction-field in try catch

* Clean up signature-request.component.js

* Check whether the signing address, and not the selected address, is a ledger account in singature-request.container

* Ensure ledger instructions and webhid connection button are shown on signature-request-original signatures

* Improve webhid selection handling in select-ledger-transport-type onChange handler

* Move metamask redux focused ledger selectors to metamask duck

* Lint fix

* Use async await in checkWebHidStatusRef.current

* Remove unnecessary use of ref in ledger-instruction-field.js

* Lint fix

* Remove unnecessary try/catch in ledger-instruction-field.js

* Check if from address, not selected address, is from a ledger account in confirm-approve

* Move findKeyringForAddress to metamask duck

* Fix typo in function name

* Ensure isEqualCaseInsensitive handles possible differences in address casing

* Fix Learn More link size in advanced settings tab

* Update app/scripts/migrations/066.js

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

* Update ui/pages/settings/advanced-tab/advanced-tab.component.test.js

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

* Add jsdoc comments for new selectors

* Use jest.spyOn for mocking navigator in ledger webhid migration tests

* Use LEDGER_TRANSPORT_TYPES values to set proptype of ledgerTransportType

* Use LEDGER_TRANSPORT_TYPES values to set proptype of ledgerTransportType

* Fix font size of link in ledger connection description in advanced settings

* Fix return type in setLedgerTransportPreference comment

* Clean up connectHardware code for webhid connection in actions.js

* Update app/scripts/migrations/066.test.js

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

* Update ui/ducks/metamask/metamask.js

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

* Add migration test for when useLedgerLive is true in a browser that supports webhid

* Lint fix

* Fix inline-link size

Co-authored-by: Mark Stacey <markjstacey@gmail.com>
2021-10-21 16:47:03 -02:30
David Walsh
3f687ff45f
Use ternary conditionals instead of && (#12406) 2021-10-21 11:11:31 -05:00
Alex Donesky
f733857388
Onboarding V2 Cleanups (#12417)
* remove the onboarding V2 feature flags used for dev, some remain until we're ready to make the switch

* update route

* add setCompletedOnboarding dispatch to submission on privacy-settings view

* update privacy-settings test
2021-10-20 13:55:59 -05:00
filipsekulic
cca852d5ad
Fix width and padding of the hide token modal in popup view (#12381) 2021-10-18 12:28:20 -02:30
dragana8
52641efa08
changed the order of items (#12384) 2021-10-18 12:27:59 -02:30
Alex Donesky
aa070edd3f
Fixing address truncation papercuts (#12330)
* fixing address truncation papercuts
2021-10-13 12:54:48 -05:00
Alex Donesky
398ea62029
Add Import Secret Recovery Phrase View (#12289)
* Add import secret recovery phrase to onboarding flow
2021-10-13 12:41:24 -05:00
David Walsh
72a3db7c0c
Use hardware constants everywhere (#12329) 2021-10-13 09:25:27 -05:00
ryanml
5fdf9641da
Adds sign typed data type to metrics payload for sign typed data events (#12291)
* Adding type to metrics event for eth_sign, personal_sign, eth_signTypedData

* Adding type to metrics eevents for eth_signTypedData_v3 and eth_signTypedData_v4

* Factoring in version
2021-10-12 09:40:41 -07:00
Alex Donesky
a8ec9ada2a
Onboarding V2 Creation Successful view (#12248)
* add creation-successful onboarding view
2021-10-11 09:43:25 -05:00
Alex Donesky
614228cba7
Onboarding V2 Secure Your Wallet view (#12208)
* secure-your-wallet onboarding view
2021-10-06 13:52:25 -05:00
Jyoti Puri
fc41321470
Support for type 0 transaction (#12252)
Support for type 0 transaction
2021-10-06 23:59:57 +05:30
Niranjana Binoy
68259ee3e2
UX Papercuts Epic: Create a consistent representation of the Buttons (#12096) 2021-10-05 15:20:42 -04:00
Jyoti Puri
68d7ff73c5
Remove autofocus from gas limit input on advance gas popup (#12279) 2021-10-05 21:46:08 +05:30
ryanml
730605353a
Using URL util to parse hostname for block explorer link (#12241) 2021-09-30 09:14:20 -07:00
Niranjana Binoy
77581256ca
Hiding refresh list on non-Mainnet networks (#12210) 2021-09-27 13:42:51 -04:00
Alex Donesky
db9253866e
fix cancel button styling bug (#12204) 2021-09-24 14:46:38 -05:00
Akintayo A. Olusegun
08dff86be0
Add target object word to "View on Etherscan" links (#12100)
* Add target object word to "View on Etherscan" links
Fix for: #9476

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

* Fix Swap tests checking for View $1 at or View $1 on

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

* Linter Fixes

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

* Fix  ui/hooks/useTransactionDisplayData.test.js expected result should
be May 13, 2020

Update Jest snapshot for view on etherscan test

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

* Add description of the variables in messages.

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

* 1. localize all of the blockExplorerViewAction values
2. Apply this nit. https://github.com/MetaMask/metamask-extension/pull/12100#discussion_r708343532

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

* Lint fixes.

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

* Fix locale value not used on GUI error lint error.

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

* Reverted this commit, on circle ci, the date is May 12.

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

* Add description to link block explore actions to where it's used.

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

* Fix missing messages.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>
2021-09-24 21:14:07 +04:00
ryanml
730ff25028
Fixing accounts scrollbar for chrome (#12205) 2021-09-24 09:27:22 -07:00
Etienne Dusseault
bf4e565497
edit-gas-display (#12165) 2021-09-23 22:40:03 -03:00
Jyoti Puri
adb56d8d16
Adding base to BigNumber constructor to round off value (#12140)
* Adding base to BigNumber constructor to round off value

* Numeric inputs to not allow more than 14 decimal places
2021-09-23 00:39:45 +05:30
ryanml
8df521df8a
Updating swaps availability tooltip text (#12157)
* Updating swaps availability tooltip text

Fixes MetaMask/metamask-extension#12156

* text update
2021-09-20 06:51:22 -07:00
Akintayo A. Olusegun
2929e6238c
Revisit #12019 : Show save dialog when calling a smart contract method and use the saved contact is already saved (#12090)
* Revisit showing add new address dialog.
Should not show if
    Address is own adddress
    send to recipient header is not shown

* Mock tests for the Confirm Page Container Container.

* Removed react-test-renderer dev-dependency

* Ran yarn setup to update lock file and remove ununsed packages.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>
2021-09-16 23:28:02 +04:00
Thomas Huang
2b1e05f086
Fixes tx list item test formatting, importing, and useDispatch mocking. (#12123) 2021-09-15 16:04:14 -07:00
Brad Decker
2100fb0ce1
fix stuck speedup problem (#12122) 2021-09-15 16:42:06 -05:00
Alex Donesky
cf569161fb
Fix failing transaction-list-item.component test by mocking useLayoutEffect (#12118) 2021-09-15 14:00:56 -05:00
kumavis
f472c2615a
CI - add metamaskbot comment "highlights" section for showing relevant storybook changes (#12095)
* ci/announce/highlight - add bot announcement section for "highlights" showing off important diffs + storybook highlights

* ci/announce/highlight - fix announcement message

* Update index.js

* xxx tmp xxx

* ci/announce/highlight - fix dirty file calculation

* ci/announce/highlight - try/catch wrap highlight generation for build stability

* ui - put fox emojis in the mascot component

* ci/announce/highlight - start storybook permalinks

* ci/announce/highlight - fix storybook permalink util

* ci/announce/highlight - fix storybook permalink util

* ci/announce/highlight - small styling fix

* storybook - use any easily predictable story id

* ci/announce/highlight - revert sample commit

* ci/announce/highlight - minimal documentation
2021-09-15 08:55:48 -10:00
ryanml
7895fcb7af
Merge pull request #11976 from MetaMask/break-point-overhaul
Using design system breakpoint values across ui/
2021-09-15 10:41:05 -07:00
Alex Donesky
74fa6fa187
Fix gas api overcalling (#12069)
* Move gasEstimation calls onto edit-gas-popover instead of transaction list item

* delete useCancelTransaction and useRetryTransaction hooks
consolidate gasFee calls into cancel button component.

* add tests

* update component name

* addressing feedback

* fix failing e2e test

* followup fix e2e tests

* change useIncrementedGasFees to accept single transaction rather than transactionGroup as argument

* remove unnecessary change to fixture

* only ever pass primary transaction to useIncrementedGasFees

* remove unnecessary optional chaining
2021-09-15 10:59:51 -05:00
ryanml
9e4b43defd
Merge pull request #12098 from MetaMask/dev_12088
Scroll all inputs into view when clicking Advanced options in gas edit modal
2021-09-14 19:59:08 -07:00
jpuri
191a52f0e7
Scroll all inputs into view when clicking Advanced options in gas edit modal 2021-09-14 14:32:13 +05:30
Etienne Dusseault
68c5f23569
Add transaction-list to Storybook (#12011) 2021-09-13 16:01:29 -05:00
Elliot Winkler
d403644e59
Truncate long network names (#12058)
In some languages, network names are longer than the visible width of
the network dropdown. In these cases, the currently selected network will
overflow the bounds of the network dropdown container.

This commit addresses this issue so that the dropdown container will
grow and shrink appropriately, truncating the currently selected network
if needed.
2021-09-13 10:05:53 -06:00
ryanml
5c03be009a Fixing breakpoint fallthroughs 2021-09-11 11:13:36 -07:00
ryanml
069ebaf463 Using design system breakpoint values across ui/ 2021-09-11 11:00:46 -07:00
Niranjana Binoy
05aadb38f2
Adding fake token warning and replacing Add Token labels with Import Tokens (#11798) 2021-09-10 16:21:04 -04:00
Niranjana Binoy
769beb2a26
Adding Refresh list and import tokens link to the main page (#11755) 2021-09-10 14:03:42 -04:00
Alex Donesky
490d3b8d40
Integrate TokensController (#11552)
* Integrate controllers/tokensController

* address rebase issues

* small cleanup

* addressing feedback

* more feedback
2021-09-10 12:37:19 -05:00
Brad Decker
ec1fd38076
remove unused sidebar component (#12048) 2021-09-09 10:14:07 -05:00
ryanml
cd30536cb7
Merge pull request #11963 from BboyAkers/aakers/8905
Add scrollbar in My Accounts Menu
2021-09-09 00:05:48 -07:00
David Walsh
7b827ca5e7
Create MetaMask Beta build (#10985) 2021-09-08 15:08:23 -05:00
Elliot Winkler
a35f22fcdf
Add Max Fee Per Gas to transaction breakdown (#12042)
This comes through in EIP-1559 transactions and so it is helpful to show
this to users.
2021-09-08 12:06:16 -06:00
Akintayo A. Olusegun
df69d2e5a8
Merge pull request #12019 from MetaMask/dev-olu-11148
Fix for: Confirmation screen should show local nicknames even when invoking a contract method
2021-09-08 20:45:04 +04:00
Akintayo A. Olusegun
0339a8715b Refactor contact name code using ternary operator.
Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>
2021-09-08 02:52:42 +04:00
Akintayo A. Olusegun
1ad80f0ae8 Use variable to check if should display dialog and display dialog
inline.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>
2021-09-08 02:40:47 +04:00
Akintayo A. Olusegun
409bb00748 Separate container from component as per https://github.com/MetaMask/metamask-extension/pull/12019#discussion_r703804969
Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>
2021-09-08 01:12:56 +04:00
ryanml
449da1d095
Improving warning text for eth_sign (#12013)
* Improving warning text for eth_sign

* Copy update
2021-09-06 10:28:34 -07:00
Akintayo A. Olusegun
d78855cb3d Fix for: Confirmation screen should show local nicknames even when invoking a contract method #11148
1. Display the new address detected dialog if the contract is not in the address book
2. Use the address book if exists, else use the default.

Signed-off-by: Akintayo A. Olusegun <akintayo.segun@gmail.com>
2021-09-05 16:16:18 +00:00
Elliot Winkler
49e1abc374
Sort contacts alphabetically (#11982)
* Sort contacts alphabetically

Contacts are grouped together by letter, and the groups are listed
alphabetically, but the contacts in each group are not sorted
alphabetically themselves.

Fixes #10318.

* Improve tests to be less brittle

* Remove this matcher

* Revert this file

* Also don't need this change anymore

* Don't need this data attribute either
2021-09-03 12:31:12 -07:00
Etienne Dusseault
616016a1f6
account-list-item (#11956) 2021-08-30 13:02:39 -10:00
Austin Akers
a690cd618c fixed scrolling issue with many accounts 2021-08-28 17:46:00 -07:00
ryanml
472cf17bda
Adding UI helpers for URL parsing (#11899) 2021-08-24 15:28:16 -07:00
Dan J Miller
29487ef277
Allow submission of transactions with dapp suggested gas fees, while estimates are loading (#11858)
* Allow submission of transactions with dapp suggested gas fees, while estimates are loading

* Allow editing of transactions with dapp suggested feeds, while estimates are still loading

* Ensure that advanced gas is always editible inline when gas is loading

* Ensure that insufficient balance error is shown when gas is loading if the user has customized the gas

* Only set gas price insufficient errors if the current network is non-eip-1559, or the txparams actually have a gas price

* Remove unnecessary param

* lint fix

* ensure insufficient balance warning is showing when loading

* Ensure that eip1559 network transactions do not combined eip1559 and non-eip1559 gas fee properties

* Lint fix
2021-08-17 17:38:13 -02:30
Dan J Miller
84036aacb6
Allow advanced inline gas editing when there is an estimates unavailable error (#11859) 2021-08-17 16:55:26 -02:30
Dan J Miller
ae247ea14a
Improve flashing behaviour for loading gas estimates (on confirm screen) (#11852)
* Improve flashing behaviour for loading gas estimates

* Fix typo

* renderHeartBeatIfInTest
2021-08-16 20:18:24 -02:30
Dan J Miller
b919884c6e
Allow editing custom gas while estimate is loading (#11853) 2021-08-16 20:15:55 -02:30
David Walsh
01fd2a609e
Gas Timing with Negative attitude should be bold with tooltip (#11772) 2021-08-14 17:46:55 -05:00
Alex Donesky
a073e0bb7e
Add low/medium/high gas recommendations to the speedup/cancel gas popovers (#11818) 2021-08-13 11:36:45 -05:00
ryanml
e57a2da647
Adjusting Max Fee label in EditGasDisplay per designs (#11796) 2021-08-10 15:36:35 -07:00
ryanml
504e74fbed
Fixing EditGasDisplay console errors (#11797) 2021-08-10 13:45:09 -07:00
Dan J Miller
e6543a83ef
Ensure transaction activity log supports EIP-1559 (#11794)
* Ensure transaction activity log supports EIP-1559

* unit test fix

* Add estimated base fee to swaps txMeta

* fix lint and tests

* Improve activity log copy
2021-08-06 19:48:53 -02:30
Alex Donesky
1216dc95c0
Hide gasTiming on edit-gas-popover when form is in error (#11792)
* Hide gasTiming on edit-gas-popover when form is in error

* Show unknown processing error if maxFeePerGas is too low for network conditions

* remove unnecessary change

* remove unnecessary function wrapper
2021-08-06 16:37:18 -05:00
Dan J Miller
bfde5a1d77
Fixes updates on the confirm screen. (#11788)
* Fixes updates on the confirm screen.

* Better handling of internal send transactions

* maxFee -> maxFeePerGas property name fix

* Remove redundant setEstimateToUse call in onManualChange

* Fix unit tests

* rebase error fix

* Fixes to speedup loading and transaction breakdown priority fee

* Fix lint and unit tests

* Ensure gas price based transaction that have been customized (e.g. speed up and retry) are properly initialized in useGasFeeInputs

* Clean up

* Link fix
2021-08-06 14:31:30 -05:00
David Walsh
1b1d039310
EIP-1559 - Ensure form always displays when there are errors (#11787) 2021-08-05 20:25:23 -05:00
David Walsh
a0bd496d56
Restore heartbeat to transaction confirmation, use isGasEstimatesLoading more broadly (#11781) 2021-08-05 18:59:58 -05:00
Alex Donesky
f9378b3aa2
Add fee level education button to swaps edit gas popover (#11785) 2021-08-05 17:10:04 -05:00
Alex Donesky
4245dac8d9
tiny lost code change from 9.8.4 RC (#11764) 2021-08-04 17:10:29 -05:00
Alex Donesky
d359429f04
Stop GasFeeController polling when pop closes (#11746)
* Stop GasFeeController polling when pop closes

* Stop estimate gas polling on window unload

* lint + comments

* Improve client closed logic

* lint

* Add back _beforeUnload on unmount in gas-modal-page-container

* Add full check and call onClientClosed method for notifcation environment

* Add gas pollingToken tracking to appStateController and use to disconnect polling for each environment type

* remove unused method

* move controller manipulation logic from background.js to metamask-controller, disaggregate methods

* add beforeunload handling to reset gas polling tokens from root of send page

* cleanup, lint and address feedback

* clear appState gasPollingTokens when all instances of all env types are closed, fix pollingTokenType arg from onEnvironmentTypeClosed call in metamask-controller

* mock new methods to fix tests

* final bit of cleanup + comments

Co-authored-by: Dan Miller <danjm.com@gmail.com>
2021-08-04 16:53:13 -05:00
Dan J Miller
a950111a19
Show advanced options, and hide radio buttons, for advanced gas settings users (#11751)
* Show advanced options, and hide radio buttons, for users with advanced gas settings turned on

* Improve naming and copy

* lint fix

* Lint fix
2021-08-04 19:04:42 -02:30
David Walsh
aa3d1f2341
EIP-1559 - Prevent uncaught exception when passing fees to getGasFeeTimeEstimate (#11759) 2021-08-04 16:17:20 -05:00
David Walsh
f0daa28fac
EIP-1559 - Temporarily remove the loading heartbeat from the transaction detail (#11762) 2021-08-04 16:16:18 -05:00
David Walsh
a3c7bae345
EIP-1559 - Remove unncessary props from AdvancedFormControls (#11757) 2021-08-04 16:00:46 -05:00
Alex Donesky
4552a53724
remove unnecessary conversion call (#11742)
* remove unnecessary conversion call

* Pass args to GasTiming as decGwei

* lint
2021-08-04 10:54:40 -02:30
ryanml
7902e62d8f
Fixing errors in EditGasDisplay (#11748) 2021-08-04 10:54:07 -02:30
Dan J Miller
1acbb39dff
Rename effective gas price field to total gas fee (#11754) 2021-08-04 10:52:54 -02:30
Alex Donesky
615380b76d
Remove estimate detail above advanced gas controls in non-1559 network (#11744)
* Remove estimate detail above advanced gas controls in non-1559 network

* lint

* remove gasEstimate localization text
2021-08-03 14:34:24 -05:00
David Walsh
24d563fc2c
EIP-1559 - Show minium native currency in banner when on testnets (#11743) 2021-08-03 12:51:02 -05:00
David Walsh
fba662ca2b
EIP-1559 - Provide better validation for gas price and gas limit (#11736) 2021-08-03 10:54:49 -05:00
David Walsh
cdbfe0f132
EIP-1559 - Ensure transaction detail font-size and icon colors are consistent with Figma design (#11735) 2021-08-02 21:08:20 -05:00
David Walsh
aa08171c72
EIP-1559 - Return null from GasTiming if on non-1559 network (#11733) 2021-08-02 21:08:12 -05:00
David Walsh
c8b3dfe4e9
EIP-1559 - Fall back to gasLimit and gasPrice for hardware wallets (#11716) 2021-08-02 17:52:18 -05:00
Dan J Miller
8481c4b6be
Show warning when network request for fee market estimates fails (#11724) 2021-08-02 19:19:07 -02:30
David Walsh
d34bf92fd0
Fix 11705 - Reset gas limit when radio button clicked (#11710)
* Fix 11705 - Reset gas limit when radio button clicked

* Trigger manual change when gasLimit is changed

* Coordinate gas limit with radio buttons

* Revert "Coordinate gas limit with radio buttons"

This reverts commit 910327a408e32ae989c5565a107db24ac24f2a98.

* Cleanup default gas limit

* setEstimateToUse only update gasLimit on error, add default minimum gasLimit

* add minimum gasLimit fallback

Co-authored-by: Alex <adonesky@gmail.com>
2021-08-02 17:58:30 -02:30
Alex Donesky
c43f6cab63
remove estimate detail in advanced gas controls (#11728) 2021-08-02 14:32:43 -05:00
David Walsh
38ff2c937f
Fix #11703 - Provide wiring for approval modal (#11711) 2021-08-02 09:07:15 -05:00
David Walsh
81f274303e
EIP-1559 - Only show advanced form toggle when radio buttons are present (#11713) 2021-08-01 08:09:53 -05:00
David Walsh
219b0f9bd6
Fix 11709 - Always show fiat on mainnet (#11714) 2021-08-01 08:09:24 -05:00
Dan J Miller
9c0e34b264
EIP-1559 - Ensure gas limit is of minimum value (#11702) 2021-07-31 08:02:14 -05:00
David Walsh
39823b3800
EIP-1559 - Implement speedup and cancel buttons (#11701) 2021-07-31 08:01:29 -05:00
Alex Donesky
8a42258e10
Remove the SHOW_EIP_1559_UI environment variable, replace with network detection where appropriate (#11694)
Fixing up tests and add back old custom gas modal for non-eip1559 compliant networks

Remove unnecessary props from send-gas-row.component

fix breaking test

Fix primary and secondary title overrides

fix rebase issue

Fix rebase conflict

Co-authored-by: David Walsh <davidwalsh83@gmail.com>
2021-07-30 22:59:21 -02:30
Brad Decker
e0953d9f68
Update send and confirm state management, and tx controller gas defaults, for EIP1559 (#11549)
wip

Documentation improvements for send slice support of EIP1559

Remove console.log in send duck

Property lookup safety improvement in selectors/confirm-transaction

Add code accidentally removed in rebase

Update addTxGasDefaults and _getDefaultGasFees to work with new estimate types, and ensure we correctly handle gas price estimates when on EIP1559 networks (#11615)

* Fix typo

Remove console.log in send duck

* Update addTxGasDefaults and _getDefaultGasFees to work correctly with all new gas fee estimate types

* Don't show gas timing support when not on eip1559 compatible network

* Hide gas timing component on transaction screen when on a non-1559 network

* Improve comments, tests and edge case handling

* Ensure eip1559 fees are applied and updated correctly when eip1559 estimate api fails

* Lint fix

Co-authored-by: Brad Decker <git@braddecker.dev>

Remove console.log

Handle possible gasEstimateType undefined

Remove unnecessary nonce field position change in confirm-page-container-content__details
2021-07-30 22:15:18 -02:30
Dan J Miller
f1140087b7
Adds insufficient gas error to edit-gas-display (#11524) 2021-07-30 20:16:31 -02:30
Dan J Miller
a1f8a65519
Ensure correct conversion of data before calling getGasFeeTimeEstimate (#11697) 2021-07-30 19:41:55 -02:30
Daniel
fa703173a0
Fix Jest unit tests (#11687)
* Fix Jest unit tests

* Provider correct getGasFeeTimeEstimate call to Gas Timing

* Fix tests for correct getGasFeeTimeEstimate method name

* Rename instances to getGasFeeTimeEstimate

Co-authored-by: David Walsh <davidwalsh83@gmail.com>
Co-authored-by: Dan Miller <danjm.com@gmail.com>
2021-07-30 15:10:41 -02:30
David Walsh
e283c03c4e
EIP-1559 - Improve gas timing logic to show more accurate verbiage (#11668) 2021-07-30 08:00:02 -05:00
Daniel
714170c7b8
EIP-1559 and Rinkeby Testnet support in Swaps (#11635) 2021-07-30 13:35:30 +02:00
David Walsh
cbfde8a080
EIP-1559 - Fix duplicated networkSupports1559 variables (#11679) 2021-07-30 05:11:27 -05:00
Alex Donesky
583c115663
remove estimation appearance from edit-gas-popover on non-1559 networks (#11673) 2021-07-29 18:29:36 -05:00
David Walsh
990a278177
EIP-1559 - Only show radio group and gas timing when network supports 1559 (#11659) 2021-07-29 13:13:14 -05:00
David Walsh
15cbe4e9a0
EIP-1559 - Allow decimals for maxFeePerGas and maxPriorityFeePerGas (#11664) 2021-07-29 10:59:14 -05:00
David Walsh
0849738003
EIP-1559 - Don't hide advanced form when radio button is chosen (#11643) 2021-07-29 10:14:48 -05:00
David Walsh
6d1fb911dc
EIP-1559 - Fix education links (#11650) 2021-07-29 09:18:13 -05:00
Dan J Miller
aaa15cbe03
Add support for EIP1559 transactions to transaction breakdown (#11622)
* Add support for EIP1559 transactions to transaction breakdown

* Use userPreferencedCurrencyDisplay for effective gas price in transaction breakdown

* Hide eip1559 gas properties in transaction breakdown on non-1559 networks

* Add comment explaining gasPrice and effectiveGasPrice usage in transaction breakdown container.
2021-07-28 15:00:34 -02:30
ryanml
52bac60a22
Fixing confirmation layout when dapp has suggested a price (EIP-1559) (#11634) 2021-07-28 11:29:55 -05:00
Dan J Miller
9a81b826c5
Only show dapp suggested gas fee warning if user has not edited the fee (#11621) 2021-07-27 20:01:53 -02:30
David Walsh
604524f94d
EIP-1559 - Restore custom values in Edit Gas Popover (#11589)
* EIP-1559 - Restore custom values in Edit Gas Popover

* Provide method to tell which radio button the user may have selected

* Use lodash's findKey

* Add case for legacy gas

* Use gas instead of gasLimit

* Remove unnecessary deletion and todo
2021-07-27 17:12:56 +02:00
Dan J Miller
f4d294714a
Ensure origin shows in gas popover dapp suggested gas fee warning (#11618) 2021-07-26 21:13:05 -02:30
David Walsh
fab9cfde03
EIP-1559 - Provide data wiring for Gas Timing component (#11462) 2021-07-26 10:35:51 -05:00
David Walsh
a2be02dfeb
EIP-1559 - Show gas estimate updating animation in transaction detail (#11566) 2021-07-26 10:24:44 -05:00
David Walsh
6986e76adc
EIP-1559 - Show advanced form controls by default when user has selected custom values or there are gas warnings/errors (#11590) 2021-07-26 09:17:23 -05:00
David Walsh
cd4521fb12
EIP-1559 - Allow wrapping for dapp suggested origin (#11602) 2021-07-24 15:40:51 -05:00
David Walsh
4e87069af3
EIP-1559 - Prevent Max Fee and Max Amount from wrapping on confirmation screen (#11591) 2021-07-23 08:39:10 -05:00
ryanml
8cb1557f1c
Adding method to capture one-time Sentry exceptions (#11553) 2021-07-22 16:13:40 -07:00
ryanml
a96af9e5fc
No longer deconstructing account menu ref if it isn't rendered (#11585) 2021-07-22 11:42:44 -07:00
David Walsh
c1d96676b5
EIP-1559 - Implement new verbiage for transaction detail subtext (#11569) 2021-07-22 11:33:34 -05:00
David Walsh
286fd397f8
EIP-1559 - Maintain changed form values and unselect radio buttons when user customizes form value (#11577) 2021-07-22 11:32:59 -05:00
David Walsh
6d92759853
EIP-1559 - Implement form validation for EIP-1559 (#11540)
* Restructure advanced gas form errors

* Use shared constant for gas errors

* Add validation for fields too low

* Add warnings for high max fee and max priority fee

* Fix lint

* Fix priority fee high warning string
2021-07-20 14:34:32 -05:00
ryanml
e60e371105
Improve handling for block explorer url host extraction (#11543) 2021-07-16 11:52:41 -07:00
David Walsh
493448c96e
EIP-1559 - Don't show submit button when in education mode, don't duplicate title (#11541) 2021-07-16 11:19:09 -05:00
Brad Decker
dc25a24de3
rely upon gas fee controller for gas price estimates (#11511) 2021-07-16 11:06:32 -05:00
David Walsh
d8984d3cf3
EIP-1559 - Provide Updated UI for Dapp-Suggested Gas fees (#11523) 2021-07-16 10:00:03 -05:00
Brad Decker
4aab4887d5
add MODIFY_IN_PLACE as mode prop on edit-gas-popover (#11527)
This is necessary for the submit method to call the right background process
2021-07-15 12:31:51 -05:00
David Walsh
8e5ebfb05a
EIP-1559 - Disable gas form submission if estimates are loading state (#11525) 2021-07-15 12:24:03 -05:00
David Walsh
1665617378
Create different label for Gas Price with GWEI included (#11526) 2021-07-15 12:23:54 -05:00
David Walsh
c241d3150c
EIP-1559 - Provide tooltip text for all advanced gas controls (#11529) 2021-07-15 12:23:37 -05:00
David Walsh
c1064e0c50
EIP-1559 - Only show education link if on 1559-compatible network (#11535) 2021-07-15 12:22:55 -05:00
David Walsh
a294f02b1d
EIP-1559 - Elevate gas properties to the Popover, disable submission if errors (#11510) 2021-07-14 11:45:37 -05:00
David Walsh
91e744a705
EIP-1559 - Provide edit button for transaction screens to update gas (#11516) 2021-07-14 08:42:10 -05:00
ryanml
bbef49158d
Various UI fixes (#11512) 2021-07-13 19:06:12 -07:00
David Walsh
97d9cdff80
Provide EIP 1559 fields in transaction history (#11464) 2021-07-13 08:42:36 -05:00
Brad Decker
9416d1ca71
provide skeleton for submitting gas form (#11496) 2021-07-12 14:35:54 -05:00
David Walsh
1da7beed13
Provide Estimate Data to EditGasDisplay (#11433) 2021-07-12 11:16:03 -05:00
Brad Decker
36ab817858
add edit button support to transaction-detail-item (#11481) 2021-07-09 13:08:15 -05:00
Brad Decker
68dfc98f40
wire up gasFeeController (#11421) 2021-07-08 15:23:00 -05:00
Brad Decker
64adfe7b11
update speedup and cancel to make room for EIP-1559 (#11407)
* prepare for EIP1559 gas fields in speedup/cancel

* Update ui/components/app/gas-customization/gas-modal-page-container/gas-modal-page-container.container.js
2021-07-08 13:48:23 -05:00
Alex Donesky
0ca0f1784e
Add recovery-phrase views for new onboarding flow (#11434)
* add recovery-phrase views for new onboarding flow

* black => ui-black

* minor syntax improvement
2021-07-07 19:10:12 -05:00
Alex Donesky
b1e2005a73
Add form-field component and new account view (#11450)
* add generic form-field component

* swap in new form-field component for advanced-gas-controls-row

* add new create password view for redesigned onboarding flow

* make text additions translatable
2021-07-06 17:19:11 -05:00
ryanml
68ad9c619f
Adding copy icon to home screen account address (#11460)
* Adding copy icon to home screen account address

Fixes MetaMask/metamask-extension#10145

* Using margin-inline-start
2021-07-06 11:17:13 -07:00
Brad Decker
da9fb4636b
move conversion utils to shared folder (#11451) 2021-07-06 12:48:49 -05:00
David Walsh
6fa3cce7ab
Create Gas Timing component for EIP-1559 (#11405) 2021-07-02 14:12:13 -05:00
David Walsh
afe06adb7a
Add icon to actionable message component (#11409) 2021-07-02 14:07:56 -05:00
David Walsh
e097a02607
Provide tooltip for 1559 Gas Price field (#11436) 2021-07-02 14:07:34 -05:00
David Walsh
310531eeb6
EIP 1559 - Provide a GWEI label for advanced gas control fields (#11419) 2021-07-01 09:37:00 -05:00
David Walsh
64644ad380
Implement Dapp Acknowledgement screen for editing gas (#11424) 2021-07-01 09:36:48 -05:00
ryanml
43b7eab46a
Fixing invalid minimumGasLimit prop (AdvancedGasInputs) (#11412) 2021-06-30 23:41:39 -07:00
Dan J Miller
18464793f5
Fix gas-modal-page-container.container check for custom gas price safety (#11426)
* Fix gas-modal-page-container.container check for custom gas price safety

* Ensure gas price has been fetch before checking for price safety on testnets
2021-06-30 15:56:34 -02:30
Alex Donesky
ad6715511e
make network-display component only clickable when passed a function for onClick (#11379) 2021-06-30 13:21:48 -05:00
David Walsh
36d3770b42
EIP-1559 - Implement TransactionDetail for confirmations (#11404) 2021-06-30 11:58:18 -05:00
David Walsh
d68f8f27c6
Implements the new EIP1559 UI components (#11384) 2021-06-28 09:45:08 -05:00
Daniel
ba3f51d6ed
Add support for fiat on-ramp via Transak (#11376) 2021-06-25 08:10:24 -05:00
Dan J Miller
87166afb6b
Use eth_gasPrice result for setting too low warning on custom networks (#11370)
* Use eth_gasPrice result for setting too low warning on custom networks

* Assume CustomPriceSafeForCustomNetwork when there is no custom price set (it will default to recommended)
2021-06-24 14:29:47 -02:30
David Walsh
6fa36cdf51
Provide New UI Components for EIP-1559 Designs (#11357) 2021-06-23 18:39:44 -05:00
David Walsh
85de65f470
Prevent propType errors in for TransactionIcon statuses (#11316) 2021-06-23 18:39:06 -05:00
Alex Donesky
a4a5580785
Update controllers with conversionRate change with minimal required changes in extension (#11361)
* updating controllers with conversionRate change with minimal required changes in extension

* swapping showFiat selector in places where possible

* adding invalid conversion protection

* lint fixes

* adjusting list-item styling logic
2021-06-23 18:28:49 -05:00
Brad Decker
c30cb7d33a
Refactor send page state management (#10965) 2021-06-23 16:35:25 -05:00
Alex Donesky
e10ddbe3a3
add erc-721 token detection and flag to disable sending (#11210)
* add erc-721 token detection and flag to disable sending

* addressing feedback

* remove redundant provider instantiation

* fix issue caused by unprotected destructuring

* add tests and documentation

* move add isERC721 flag to useTokenTracker hook

* Update  and  unit tests

* use memoizedTokens in useTokenTracker

Co-authored-by: Dan Miller <danjm.com@gmail.com>
2021-06-22 12:39:44 -05:00
ryanml
f1f2a01c76
Using fixed positioning for home notifications (#11356) 2021-06-21 15:51:09 -07:00
sooyoung
c152a17a85
Changed scss style to see token symbol (#11294)
* Changed scss style to see token symbol

* fix indentations
2021-06-15 11:00:47 -05:00
ryanml
22c2d261b9
Fixing unlocalized strings (#11281) 2021-06-12 15:25:24 -07:00
ryanml
2bfc3a093f
Using values from shared/constants/time to represent timing values (#11241) 2021-06-10 12:27:03 -07:00
Brad Decker
9e509d0c9d
Relocate send state into send duck from metamask duck (#11252) 2021-06-10 12:53:15 -05:00
Brad Decker
b073b04789
move metamask state selectors out of send (#11249) 2021-06-08 11:03:59 -05:00
Brad Decker
df9bc52e9f
Add gas constants (#11248) 2021-06-08 10:25:48 -05:00
ryanml
9932c40651
Adding periodic reminder modal for backing up recovery phrase (#11021)
* Adding recurring recovery phrase reminder modal

* Refactoring per PR feedback
2021-06-04 23:33:58 -07:00
Dan J Miller
6dae3bbe57
Improve detection of whether a whats new notification was 'seen' (#11225) 2021-06-03 13:58:04 -02:30
Shane T
c65ccf60e5
Fix proptype validation in TransactionIcon component (#11198) 2021-05-31 21:49:23 -02:30
ryanml
629da90d72
Adding "What's New" notification for Ledger Support Update (#11188)
* Adding "What's New" notification for Ledger Support Update

* Using Typography component
2021-05-26 14:29:19 -07:00
Etienne Dusseault
4c341d83ab
Add Approval Confirmation Screen component to Storybook (#10998)
* add metametrics wrapper

* add history dep

* provide test data and mock react router

* add first confirmaion screen

* figure out a way to mock match.params

* render token approval with data

* fix lockfile

* fix lint

* remove use effect

* lintfix

* add . for src paths

* litfix

* Add knobs to change redux store for confirm-approve component (Storybook) (#11135)

* add knob for domain

* knobify

* remove logs

* remove comment

* lintfix

* fix comments

* add background calls + metriccs event to storybook acctions

* lintfixxxx
2021-05-25 08:20:09 +08:00
ryanml
6640973858
Fixing jest component test output errors (#11139)
* Adding missing required props to component tests

* Removing unused IntroPopup component

* Mocking useLayoutEffect as useEffect in confirm-page-container-header.component.test.js
2021-05-20 11:28:25 -07:00
Niranjana Binoy
2972e78444
Avoid showing "Gas price extremely low" warning in advanced tab for testnets (#11111) 2021-05-20 11:32:55 -04:00
Alex Donesky
f19207ca87
use etherscan-link customBlockExplorer methods with customNetwork usage tracking (#11017)
* use etherscan-link customBlockExplorer methods with customNetwork usage tracking

* consolidate blockexplorer events, add domain to metametrics event

* lint fix
2021-05-19 09:51:47 -05:00
ryanml
b7a1c8c302
Adding notification for updated seed phrase wording (#11131)
* Adding notification for updated seed phrase wording

* Updating e2e notification state

* Always displaying image for swaps notification
2021-05-18 15:00:34 -07:00
Niranjana Binoy
9d78c8b873
Hide basic tab in advanced gas modal for speedup and cancel when on testnets (#11115) 2021-05-18 12:36:05 -04:00
Brad Decker
d9a2165f69
use safer toChecksum utility (#11117) 2021-05-17 16:19:39 -05:00
Dan J Miller
2e11458d29
Improve type checking and handle incorrect category in transaction-icon component (#11101)
* Improve type checking and handle incorrect category in transaction-icon component

* Capture exception for sentry when transaction icon is passed an unrequired category

* Rename ui/components/app/transaction-icon/index.scss -> ui/components/app/transaction-icon/transaction-icon.scss
2021-05-17 12:01:00 -02:30
ryanml
30abcd0fe0
Fixing unlocalized strings (#11102)
* Fixing unlocalized strings

Fixes MetaMask/metamask-extension#11094

* Removing aggregrate bullet from modal

* Updating bullet point keys
2021-05-14 17:29:26 -07:00
ryanml
9236d3132a
Fixing account search results ordering (#11097)
Removing 'shouldSort: false' from fuse.js' options config

Fixes MetaMask/metamask-extension#10991
2021-05-14 11:38:56 -07:00
Daniel
7acb33c976
Show a notification about BSC Swaps if a user is on the BSC Mainnet (#11083)
* Add a notification for BSC Swaps

* Add a new logo for BSC sources, update an image for BSC notification

* Mark a BSC notification as seen when a user clicks on “Start swapping”

* Add conditional rendering of notifications

* Remove divider for the last notification

* Remove a divider for the last notification

* Remove !

* Trigger pipeline
2021-05-14 14:47:56 -02:30
David Walsh
bf76d4e754
Prevent signature request component from canceling hardware wallet signing (#11013) 2021-05-07 15:54:20 -05:00
ryanml
f3cc048fea
Removing unused prop from TransactionActivityLog (#11014) 2021-05-07 13:21:03 -07:00
ryanml
9e8141eb0e
Fixing alignment issue with bottom notification (#10979) 2021-05-03 15:10:45 -07:00
Dan J Miller
a082a2ca75
Whats new popup design fixes (#10964)
* Remove padding on QR code image

* Allow the qr code to be below the description in the whats new popup

* Fix size and position of QR code in whats new notification

* Add right caret to action links in whats new popup

* Clean up placeImageBelowDescription logic

* Fix display of whats-new-popup image

* Improve spacing and sizing of whats new popup in both full screen and popup view

* refactor
2021-05-03 15:09:26 -02:30
Brad Decker
09d81ac5f2
remove the ui/app and ui/lib folders (#10911) 2021-04-28 14:53:59 -05:00