Whymarrh Whitby
6f4c3b3405
Tidy up Migrator tests ( #9264 )
4 years ago
Whymarrh Whitby
c1e3c229bc
Fix import/order issues ( #9239 )
...
See [`import/order`](https://eslint.org/docs/rules/import/order ) for more information.
This change enables `import/order` and fixes the issues raised by the rule.
4 years ago
Whymarrh Whitby
b7259e5d6a
Fix radix issues ( #9247 )
...
See [`radix`](https://eslint.org/docs/rules/radix ) for more information.
This change enables `radix` and fixes the issues raised by the rule.
4 years ago
Whymarrh Whitby
4357cda7b8
Fix no-shadow issues ( #9246 )
...
See [`no-shadow`](https://eslint.org/docs/rules/no-shadow ) for more information.
This change enables `no-shadow` and fixes the issues raised by the rule.
4 years ago
Whymarrh Whitby
e803807dd9
Fix no-param-reassign issues ( #9235 )
...
See [`no-param-reassign`](https://eslint.org/docs/rules/no-param-reassign ) for more information.
This change enables `no-param-reassign` and fixes the issues raised by the rule.
4 years ago
Thomas Huang
87e5281a82
Clear Account Details in AppState ( #9238 )
...
* Clear Account Details in AppState
We store sensitive information in the AppState under accountDetail for when the modal is active and present. This adds a new action/reducer and componentWillUnmount to clean up the persisted data left after leaving the modal.
* Remove reduntant clearAccountDetails call when clicking done button
4 years ago
Whymarrh Whitby
aaacf66c6e
Fix import/no-extraneous-dependencies issues ( #9232 )
...
See [`import/no-extraneous-dependencies`](https://eslint.org/docs/rules/import/no-extraneous-dependencies ) for more information.
This change enables `import/no-extraneous-dependencies` and fixes the issues raised by the rule.
4 years ago
Whymarrh Whitby
5d42a9b773
Fix require-unicode-regexp issues ( #9212 )
...
* Fix require-unicode-regexp issues
See [`require-unicode-regexp`](https://eslint.org/docs/rules/require-unicode-regexp ) for more information.
This change enables `require-unicode-regexp` and fixes the issues raised by the rule.
* Remove case-insensitive flag from regexps
4 years ago
Whymarrh Whitby
884775cf71
Fix no-negated-condition issues ( #9222 )
...
See [`no-negated-condition`](https://eslint.org/docs/rules/no-negated-condition ) for more information.
This change enables `no-negated-condition` and fixes the issues raised by the rule.
4 years ago
Whymarrh Whitby
c11888f287
Fix no-empty-function issues ( #9216 )
...
See [`no-empty-function`](https://eslint.org/docs/rules/no-empty-function ) for more information.
This change enables `no-empty-function` and fixes the issues raised by the rule.
4 years ago
Whymarrh Whitby
9b78d3ab07
Fix import/extensions issues ( #9217 )
...
See [`import/extensions`](https://eslint.org/docs/rules/import/extensions ) for more information.
This change enables `import/extensions` and fixes the issues raised by the rule.
4 years ago
Whymarrh Whitby
310b15ba4a
Fix no-plusplus issues ( #9206 )
...
See [`no-plusplus`](https://eslint.org/docs/rules/no-plusplus ) for more information.
This change enables `no-plusplus` and fixes the issues raised by the rule.
4 years ago
Whymarrh Whitby
f8ebfc2f63
Update PreferencesController#_validateERC20AssetParams tests ( #9204 )
...
This change fixes the `_validateERC20AssetParams` tests, ensuring that the given
options are all valid except those that are being tested. Previously the `symbol`
property was invalid _in addition to_ the `decimals` property.
4 years ago
Whymarrh Whitby
88f54e29fb
Fix no-empty issues ( #9202 )
...
See [`no-empty`](https://eslint.org/docs/rules/no-empty ) for more information.
This change enables `no-empty` and fixes the issues raised by the rule.
4 years ago
Whymarrh Whitby
3346c2fc07
Fix no-loop-func issues ( #9199 )
...
See [`no-loop-func`](https://eslint.org/docs/rules/no-loop-func ) for more information.
This change enables `no-loop-func` and fixes the issues raised by the rule.
4 years ago
Whymarrh Whitby
a8863a3446
Fix consistent-return issues ( #9192 )
...
See [`consistent-return`](https://eslint.org/docs/rules/consistent-return ) for more information.
This change enables `consistent-return` and fixes the issues raised by the rule.
4 years ago
Erik Marks
948a4c8316
fixup! call initializeProvider where necessary
4 years ago
Erik Marks
30a59bb867
call initializeProvider where necessary
4 years ago
Erik Marks
93f695d3c6
fix timing-reliant network controller test
4 years ago
Erik Marks
1591ed7657
Robustify permissions controller requestUserApproval tests ( #9064 )
...
* convert requestUserApproval mock to wrapper
4 years ago
Erik Marks
826d1462f0
fixup! call initializeProvider where necessary
4 years ago
Erik Marks
b3e5befe74
call initializeProvider where necessary
4 years ago
Erik Marks
5cb22ee8df
fix timing-reliant network controller test
4 years ago
Erik Marks
f6f8e5cc4a
Robustify permissions controller requestUserApproval tests ( #9064 )
...
* convert requestUserApproval mock to wrapper
4 years ago
Whymarrh Whitby
bf6578c6b8
Enable guard-for-in rule ( #9000 )
4 years ago
Whymarrh Whitby
2ae4720443
Fix words ( #9038 )
4 years ago
Whymarrh Whitby
50c4db73cf
Fix global-require issues ( #8999 )
4 years ago
Whymarrh Whitby
68a64af5b3
Fix callback-return issues ( #8996 )
...
See [`callback-return`](https://eslint.org/docs/rules/callback-return ) for more information.
This change enables `callback-return` and fixes the resulting issues.
4 years ago
Thomas Huang
7b2218ac6e
Clear unapprovedTxs on createNewVaultAndRestore ( #9026 )
...
Clear unapproved transactions from txStateManager.transactions on createNewVaultAndRestore
4 years ago
Whymarrh Whitby
c7fad8f400
Limit number of transactions passed outside of TransactionController ( #9010 )
...
Refs #8572
Refs #8991
This change limits the number of transactions (`txMeta`s) that are passed
outside of the `TransactionController`, resulting in shorter serialization and
deserialization times when state is moved between the background and UI
contexts.
`TransactionController#_updateMemstore`
---------------------------------------
The `currentNetworkTxList` state of the `TransactionController` is used
externally (i.e. outside of the controller) as the canonical source for
the full transaction history. Prior to this change, the method would iterate
the full transaction history and possibly return all of it.
This change limits it to `MAX_MEMSTORE_TX_LIST_SIZE` to make sure that:
1. Calls to `_updateMemstore` are fast(er)
2. Passing `currentNetworkTxList` around is fast(er)
(Shown in #8377 , `_updateMemstore`, is called _frequently_ when a transaction
is pending.)
The list is iterated backwards because it is possible that new transactions are
at the end of the list. [1]
Results
-------
In profiles before this change, with ~3k transactions locally,
`PortDuplexStream._onMessage` took up to ~4.5s to complete when the set of
transactions is included. [2]
In profiles after this change, `PortDuplexStream._onMessage` took ~90ms to
complete. [3]
Before vs. after profile screenshots:
![Profile 1][2]
![Profile 2][3]
[1]:5a3ae85b72/app/scripts/controllers/transactions/tx-state-manager.js (L172-L174)
[2]:https://user-images.githubusercontent.com/1623628/87613203-36f51d80-c6e7-11ea-89bc-11a1cc2f3b1e.png
[3]:https://user-images.githubusercontent.com/1623628/87613215-3bb9d180-c6e7-11ea-8d85-aff3acbd0374.png
[8337]:https://github.com/MetaMask/metamask-extension/issues/8377
[8572]:https://github.com/MetaMask/metamask-extension/issues/8572
[8991]:https://github.com/MetaMask/metamask-extension/issues/8991
4 years ago
Mark Stacey
022ef13372
Fix migration 47 ( #9014 )
...
This migration had referred to the non-existent
`TransactionsController` instead of `TransactionController`, so it
effectively did nothing. Now it should work.
This migration hasn't been included in any release yet, so we can fix
it in-place instead of adding an additional corrected migration.
The migration comment has also been updated, as it was inaccurate.
4 years ago
Whymarrh Whitby
4f0a205369
Use eslint@6.8.0 ( #8978 )
...
* Use eslint@6.8.0
* yarn lint:fix
4 years ago
Mark Stacey
8ff1d05df3
Remove recipient blocklist checker ( #8943 )
...
It seems that this blocklist checker never worked correctly. Ever since
the initial commit, it was comparing the Number `1` to the `networkId`,
which is a string. Additionally, even if it did throw, the transaction
continued unhindered. The user could still approve it, and there was no
indication shown to the user that anything went wrong. Also some of the
blocklist entries were incorrectly mixed-case, and were never hit.
We can remove this for now, and re-add it later on after we rewrite the
transaction controller.
4 years ago
Erik Marks
652db3fd36
Use string network and chain IDs ( #8628 )
...
* convert network id enums to string
* stringify appropriate chain/network ids in tests
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
4 years ago
Mark Stacey
a71cc2b137
Fix display of incoming transactions ( #8942 )
...
The `metamaskNetworkId` property in the `txMeta` for incoming
transactions was incorrectly set as a Number instead of a String. This
change was made accidentally as part of #8627 .
As a result incoming transactions were being excluded from the
transaction list, as they didn't have a matching network ID.
`metamaskNetworkId` is now set to a string, and a migration has been
added to ensure `metamaskNetworkId` is converted to a string for any
incoming transactions in state.
4 years ago
Erik Marks
8bc02d4b5e
rpc-cap@3.0.0 ( #8924 )
...
* rpc-cap@3.0.0
* adapt use of rpc-cap for new major version
4 years ago
Erik Marks
f97f95cc86
Fix kovan chain ID constant ( #8913 )
4 years ago
Erik Marks
04de9a92c5
Fix signing method bugs ( #8833 )
...
* update signTypedData validation
* update tests for new eth-json-rpc-middleware
* remove lowercasing of tx 'from' addresses
4 years ago
Thomas Huang
753a3eb4c9
ParseInt nextworkNextNonce correction ( #8827 )
...
* networkNextNonce toNumber
* nonceBN for all getTransactionCount
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
5 years ago
Mark Stacey
6ca18c3573
Fix handling of permissions of removed accounts ( #8803 )
...
Imported accounts can be removed, but the permissions controller is not
informed when this happens. Permissions are now removed as part of the
account removal process.
Additionally, the `getPermittedIdentitiesForCurrentTab` selector now
filters out any non-existent accounts, in case a render occurs in the
middle of an account removal.
This was resulting in a render crash upon opening the popup on a site
that was connected to the removed account.
5 years ago
Mark Stacey
1f8a7a72c9
Fix `TokenRatesController` ( #8780 )
...
The `TokenRatesController` was accidentally broken in #8744 , when the
logic for starting and stopping polling was moved from the `isActive`
property to start/stop functions.
A reference to the now-obsolete `isActive` property was accidentally
left behind, resulting in no exchange rate updates.
5 years ago
Brad Decker
13d6803698
Adds the rule of hooks eslint rule ( #8779 )
5 years ago
Whymarrh Whitby
f4c255b7c7
Delete unused InfuraController & tests ( #8773 )
5 years ago
Erik Marks
a84eedb7da
Permissions: Do not display HTTP/HTTPS URL schemes for unique hosts ( #8768 )
...
* only show URL.host in connected-accounts component
* strip scheme from URL for unique hosts
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
5 years ago
Erik Marks
56004db8bf
blocklisted -> blocked
5 years ago
Jenny Pollack
7a4bb7f73a
replace blacklist with blocklist
5 years ago
Erik Marks
fdb3070fce
Delete unused transaction history test state ( #8769 )
5 years ago
Brad Decker
456684ee7d
move activation logic into token rates controller ( #8744 )
5 years ago
Erik Marks
c8a995dd9b
Send accountsChanged notification for wallet_requestPermissions ( #8742 )
...
* emit accountsChanged for eth_accounts via wallet_requestPermissions
* add/update tests
5 years ago
Erik Marks
616a446832
Use URL origin instead of hostname for permission domains ( #8717 )
...
* use URL.origin instead of hostname for tabs and permissions
5 years ago