1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-05 15:35:46 +01:00
Commit Graph

137 Commits

Author SHA1 Message Date
Matthew Epps
7a92e22111
Swaps optimizations (#12842)
* Trigger Build

* Trigger Build

* Move swaps index variables to redux

* all optimizations so far

* Add better equality checks for selectors in swaps index and build quote

* Clean up PR, remove extra code and logs

* Clean up lavamoat file

* Fixes for optimizations

* Update tests and test snapshots

* Remove unnecessary tests

* Remove unnecessary console log

* Trigger Build

* Trigger Build

* Add delay to account for remote call made by trezor keyring

Co-authored-by: Dan Miller <danjm.com@gmail.com>
2021-12-01 12:55:09 -03:30
Jyoti Puri
a020281c96
Implementing save button on advance gas fee modal (#12854) 2021-12-01 06:01:21 +05:30
Matthew Epps
8e6a0ff879
Send all swaps requests to api2, remove useNewSwapsApi boolean (#12792)
* Send all swaps requests to api2, remove useNewSwapsApi boolean

* Switch token bucket priority

* Fix tests

* Trigger Build

* Trigger Build
2021-11-30 19:56:28 +01:00
Niranjana Binoy
4b975adc85
EIP-1559 V2 : Advanced gas fee modal - Max base fee and Priority fee inputs (#12619) 2021-11-29 23:10:48 +05:30
Jyoti Puri
0e0e7ac830
Legacy transactions to use old transaction flow (#12782) 2021-11-29 21:38:24 +05:30
Jyoti Puri
7609841902
Confirm transaction page - onchain failure handling (#12743) 2021-11-24 22:32:53 +05:30
Jyoti Puri
2c6fb06114
Edit gas fee modal more changes (#12660) 2021-11-19 00:38:29 +05:30
Jyoti Puri
0daefe9ea0
Adding edit gas fee modal (#12624)
Edit transaction screen changes for EIP-1559 V2
2021-11-18 23:24:58 +05:30
Jyoti Puri
39cb29d5b5
Changes in edit link on confirm transaction page (#12567) 2021-11-13 00:39:59 +05:30
Jyoti Puri
4779bd9fe5
Show warning in confirm transaction screen for low/high gas values. (#12545) 2021-11-12 08:52:54 +05:30
Mark Stacey
ab2aca2c08
Fix lint errors (#12645)
These lint errors were accidentally introduced recently as a result of
merging #12530 and #12461
2021-11-10 10:54:17 -03:30
Jyoti Puri
a49a40fbbb
Adding GasFee context (#12530)
Adding GasFee context
2021-11-10 07:37:10 +05:30
David Walsh
17b64e94fc
Use gas recommendation constants throughout app (#12461) 2021-11-05 19:59:23 -05:00
VSaric
65984291b6
Changed ETH decimal values to have 8 places for sending (#12437)
* Changed ETH decimal values to have 8 places for sending

* Fixing unit tests

* Fixing test-lint
2021-11-05 07:52:03 -07:00
Jyoti Puri
ab1877ae0e
Deleting old GasFeeInputs hook (#12526) 2021-10-29 20:12:31 +05:30
Alex Donesky
385e0f2ad4
fix missing conversion rates in swaps token drop down (#12420)
* fix missing conversion rates in swaps token drop down

* make defaultToken appear at the top of the owned section of the dropdown with full renderable data regardless of whether swaps tokens are available

* revert change to filter non-native tokens with symbol ETH
2021-10-25 10:03:21 -05:00
Jyoti Puri
79b08fb803
Refactoring useGasFeeInputs hook (#12327)
Refactoring useGasFeeInputs hook
2021-10-22 22:44:28 +05:30
Jyoti Puri
707ae7d652
Extracting out error and warning code from useGasFeeInputs hook (#12283)
Extracting out error and warning code from useGasFeeInputs hook
2021-10-18 17:25:35 +05:30
Alex Donesky
aa070edd3f
Fixing address truncation papercuts (#12330)
* fixing address truncation papercuts
2021-10-13 12:54:48 -05:00
Jyoti Puri
fc41321470
Support for type 0 transaction (#12252)
Support for type 0 transaction
2021-10-06 23:59:57 +05:30
Alex Donesky
14f0d8245b
fix issue where conversionRates aren't shown for tokens stored in non-checksum format (#12206) 2021-09-27 09:06:07 -05:00
Alex Donesky
1ca02cb633
fix issue where duplicate tokens without icons appear in swap-to token list dropdown (#12148) 2021-09-22 10:31:36 -05:00
Alex Donesky
2a9fbffb6c
Replace hardcoded sent ether label on confirm screen (#11802)
* Replace hardcoded sent ether label on confirm screen

* replace transaction type SENT_ETHER with network agnostic SENDING_NATIVE_ASSET

* remove sentEther translation base

* make backwards compatible with lingering transaction of legacy sentEther type

* update localalization files

* fixup legacy sentEther transaction type

* changing new transaction type away from localization string

* revert migration tests

* update fixtures and test data

* update name of new transaction type

* add migration

* remove legacy SENT_ETHER from transaction types enum object
2021-09-15 16:54:51 -05: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
Niranjana Binoy
0c2af43d3a
changing token address to lowercase for dynamic token list (#12071) 2021-09-10 23:55:23 -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
Niranjana Binoy
eb987a47b5
Integrating the TokenListController to Extension (#11398) 2021-09-09 16:56:27 -04:00
Brad Decker
ec1fd38076
remove unused sidebar component (#12048) 2021-09-09 10:14:07 -05:00
Alex Donesky
9b6acb7370
Use higher gasfees when attempting to speedup or cancel a transaction (#11936) 2021-08-25 16:04:18 -07:00
Dan J Miller
05fa7961f1
Dont default gas limit in gas popover when non is available on transaction params (#11872)
* Dont default gas limit when non is available on transaction params

* Fix unit tests
2021-08-18 02:54:53 -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
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
ryanml
38b581cdfa
Return an empty string when date is not provided [Date display utils] (#11831) 2021-08-13 08:22:12 -07:00
David Walsh
e0692db7ba
Remove unwanted console.log from codebase (#11820) 2021-08-12 08:13:51 -05: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
a0bd496d56
Restore heartbeat to transaction confirmation, use isGasEstimatesLoading more broadly (#11781) 2021-08-05 18:59:58 -05:00
Alex Donesky
804fefcd36
Separate out non blocking gas errors (#11783) 2021-08-05 17:53:48 -05:00
Dan J Miller
e9ef3b168a
Allow max fee to be equal to max priority fee (#11778) 2021-08-05 14:15:02 -02:30
Dan J Miller
0cf5019486
Use bignumber for number comparisons in useGasFeeInput (#11776)
* Use bignumber for number comparisons in useGasFeeInput

* fix
2021-08-05 13:52:56 -02:30
Dan J Miller
01262d33a4
Ensure that gas fee inputs fallback to tx params values if api is down (#11775)
* Ensure that gas fee inputs fallback to tx params values if down

* ensure getGasFeeEstimate fallback is a string
2021-08-05 08:33:49 -02:30
Dan J Miller
9fcd93191b
Ensure that gas fee minimum errors show when api is down (#11767)
* Fix legacy unapproved tx handling

* clean up
2021-08-04 20:14:20 -02:30
Dan J Miller
818dc13019
Fix legacy unapproved tx handling (#11766) 2021-08-04 19:53:15 -02:30
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
Dan J Miller
3f4c988018
Ensure gas fees update in popover on poll for new values (#11760) 2021-08-04 18:27:14 -02:30
Dan J Miller
b9fb495c7b
Allow max priority fee to be below 1, and only require it to be greater than 0 (#11749) 2021-08-04 10:53:52 -02:30
Dan J Miller
61b965a8a2
Allows users to set a max priority fee below suggested, just showing a warning in that case (#11750) 2021-08-04 10:53:19 -02:30
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
Dan J Miller
7ac1972371
Ensure that gas price in popover updates when api provided estimate updates (#11727) 2021-08-02 21:09:21 -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
David Walsh
4ce6994a6c
Fix #11695 - Prevent maxFee and maxPriorityFee imbalance (#11700) 2021-08-02 09:07:29 -05:00
David Walsh
38ff2c937f
Fix #11703 - Provide wiring for approval modal (#11711) 2021-08-02 09:07:15 -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
Daniel
714170c7b8
EIP-1559 and Rinkeby Testnet support in Swaps (#11635) 2021-07-30 13:35:30 +02:00
Dan J Miller
b4722ff81d
Fix to having radio buttons in advanced gas inputs pre-selected (#11669)
* Ensure fees match in use gas inputs

* Lint fix
2021-07-29 16:00:21 -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
David Walsh
a2be02dfeb
EIP-1559 - Show gas estimate updating animation in transaction detail (#11566) 2021-07-26 10:24:44 -05:00
ryanml
8cb1557f1c
Adding method to capture one-time Sentry exceptions (#11553) 2021-07-22 16:13:40 -07: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
Brad Decker
dc25a24de3
rely upon gas fee controller for gas price estimates (#11511) 2021-07-16 11:06:32 -05:00
Brad Decker
9416d1ca71
provide skeleton for submitting gas form (#11496) 2021-07-12 14:35:54 -05:00
Brad Decker
c3e6514c35
add useGasInputs hook (#11480) 2021-07-09 13:26:54 -05:00
Brad Decker
f51a8451b8
add useGasEstimates hook (#11479) 2021-07-09 10:23:45 -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
Brad Decker
da9fb4636b
move conversion utils to shared folder (#11451) 2021-07-06 12:48:49 -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
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
2bfc3a093f
Using values from shared/constants/time to represent timing values (#11241) 2021-06-10 12:27:03 -07: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
Daniel
c3b79bb358
Show custom tokens in Swaps, add a custom token in Swaps (#11200)
* Show custom tokens in Swaps

* Add messages for adding a custom token in Swaps

* Add the first version of importing custom tokens in swaps

* Fix lint rules

* Create a new component: ImportToken

* Remove a pointer cursor from regular heading

* Fix a CSS issue for tokens with long names

* Update a comment

* Don’t return a custom token if it doesn’t have symbol or decimals

* Only search by contract address if nothing was found

* Track “Token Imported” event

* Fix unit tests

* Import tracking for “Token Imported”, increase token icon font size

* Disable token import for Source Token

* Update logic and content for notifications, update tests

* Do not hide a dropdown placeholder on click, so a user can click on a link

* Update a key name

* Update styling for the “danger” type notification in Swaps

* Show either a warning or danger notification based on token verification occurences

* Remove testnets from SWAPS_CHAINID_DEFAULT_BLOCK_EXPLORER_URL_MAP

* Use the “shouldSearchForImports” prop

* Create a new function for handling token import: “onOpenImportTokenModalClick”

* Filter token duplicities before iterating over tokens

* Use “address” instead of “symbol” for checking uniqueness

* Trigger Build

* Use a new API (/token) to get token data for importing in Swaps

* Temporarily decrese Jest threshold for functions
2021-06-03 13:38:37 -02:30
Dan J Miller
395195ac3c
Capture exception instead of throw error in useTransactionDisplayData (#11153) 2021-05-21 09:31:45 -02:30
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
4689546eb3
Throw error if transaction type is not recognized by useTransactionDisplay data (#11104) 2021-05-14 18:33:14 -02:30
David Walsh
77f0ff8e83
Group signature transactions (#11016) 2021-05-11 12:57:06 -05:00
David Walsh
cc9c096e61
Prevent an undefined gas price from breaking the transaction list (#11015) 2021-05-07 16:38:36 -05:00
Brad Decker
09d81ac5f2
remove the ui/app and ui/lib folders (#10911) 2021-04-28 14:53:59 -05:00