Erik Marks
f02ba2d561
Ensure the extension can be unlocked without network access ( #9295 )
...
move checkForLatestBlock to separate catch block
add test case
remove duplicate checkForLatestBlock call
4 years ago
Erik Marks
81a1d0a23d
Remove unused diagnostics property ( #9296 )
...
* Remove unused diagnostics property
4 years ago
Whymarrh Whitby
b6ccd22d6c
Update ESLint shared config to v3 ( #9274 )
...
Co-authored-by: Mark Stacey <markjstacey@gmail.com>
4 years ago
Whymarrh Whitby
6ab12001e3
Fix prefer-destructuring issues ( #9263 )
...
See [`prefer-destructuring`](https://eslint.org/docs/rules/prefer-destructuring ) for more information.
This change enables `prefer-destructuring` and fixes the issues raised by the rule.
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
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
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
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
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
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
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
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
Mark Stacey
9a624dd24c
Revert the revert of "LoginPerSite"
...
This reverts commit 466ece4588
, which has
the message:
"Revert "Merge pull request #7599 from MetaMask/Version-v7.7.0" (#7648 )"
This effectively re-introduces the changes from the "LoginPerSite" PR.
5 years ago
Erik Marks
cf60c8e1f6
Stop adding permissions middleware to trusted connections ( #8701 )
...
* don't add permissions middleware to trusted connections
* fix test case
5 years ago
Brad Decker
34fb525ce5
Limit Dapp permissions to primary account ( #8653 )
5 years ago
Whymarrh Whitby
5b1608681c
Manually connect via the full connect flow
5 years ago