1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-23 18:41:38 +01:00
Commit Graph

323 Commits

Author SHA1 Message Date
Dan Finlay
898e96fd6a Merge pull request #948 from MetaMask/RecoverLostAccounts
Auto-Recover accounts lost to BIP44 derivation fix
2016-12-22 14:43:43 -08:00
Dan Finlay
98527c1c25 Fix account injection bug
It seems `selectedAddress` was removed from the keyring-controller’s state, and is used to populate the injected current account.

I couldn't help myself, I dug around, I found a PR named [changed all instances of selectedAddress to selectedAccount](f5b0795ac5) by @Zanibas.  Sorry, Kevin!  Had you actually changed all instances, this bug would not have happened.

Fixes #908
2016-12-22 14:43:00 -08:00
Dan Finlay
ebeaf3b3d6 Restructured migration
Migrator now returns a lostAccount array that includes objects
these objects include keys of address and privateKey,
this allows the MetamaskController to restore the lost accounts
even without customizing the idStore or the KeyringController.

Also includes a patch that allows idStore to synchronously export private keys.
2016-12-21 17:21:10 -08:00
Dan Finlay
a3a64afdd5 Return undefined when vault is uninitialized 2016-12-21 17:20:14 -08:00
Dan Finlay
674b268982 Merge pull request #916 from MetaMask/i894-DetectBadAccounts
I894 detect bad accounts
2016-12-20 11:50:26 -08:00
Dan Finlay
26f1e6cbd2 Remove encryptor in favor of external browser-passworder
I broke out the encryptor lib into its own module on npm called browser-passworder.
2016-12-19 21:55:02 -08:00
Dan Finlay
20d2204ce6
Made changes according to feedback. 2016-12-19 19:32:59 -08:00
Kevin Serrano
e9bea92ac3
Lint. 2016-12-19 14:55:52 -08:00
Dan Finlay
7b9749e30c Got bad account detection working and added to state 2016-12-09 12:24:25 -08:00
Dan Finlay
ab9e15b782 Mostly added bad account detection
Currently riddled with logs, because the migrator is inexplicably returning before generating the new style accounts for comparison.
2016-12-08 14:22:02 -08:00
Dan Finlay
1880cda9b9 Fix vault encrypting & unlocking bug
This is only a bug in dev, but was committed yesterday.

Sometimes the `encrypt` method was being passed values other than the password as the encryption key, leading to un-unlockable vaults.

To find this, and avoid it for all time hereafter, I added several more steps to our oft-neglected integration test suite, which now fully initializes a vault, locks it, and unlocks it again, to make sure all of those steps definitely work always.
2016-11-30 19:36:24 -08:00
Dan Finlay
95bcc21a06 Add useful nodeify error message
If a nodified method does not return a Promise, it will throw an error, like this:
```
Error in event handler for (unknown): Error: The function setSelectedAccount did not return a Promise, but was nodeified.
```
2016-11-29 15:54:10 -08:00
Dan Finlay
9e764b1935 Fix nodeify 2016-11-28 17:27:20 -08:00
Dan Finlay
80e76b45ee Denodeify most of KeyringController
Mostly Fixes #893

A couple methods cache callbacks, and will require a larger refactor to fully denodeify.

Specifically, our methods involving web3 requests to sign a tx, sign a message, and approve or cancel either of those.

I think we should postpone those until the TxManager refactor, since it will likely handle this response caching itself.
2016-11-28 16:13:03 -08:00
Dan Finlay
b899119582 Merge branch 'master' into dev 2016-11-23 16:54:27 -08:00
kumavis
c0a2eb146a rpc - add sync uninstallFilter support 2016-11-23 10:48:20 -08:00
Dan Finlay
05c8658ff3 Fix new encryptor migration logic 2016-11-22 17:41:54 -08:00
Dan Finlay
de8da9ddf6 Simplify Encryptor API Surface
At least, the portion of it that we use.

Moved salting within the encryptor, so it does not need to be managed externally.

KeyringController now caches the password instead of a passwordDerivedKey, since it is ignorant of the salt.

Encryptor payload is now in a JSON format, so its portions are both base64 encoded *and* labeled appropriately.  The format is `{ "data": "0x0", "iv": "0x0", "salt": "string" }`.

Fixes #843
Fixes #859
2016-11-22 15:54:51 -08:00
kumavis
4669f262e2 Merge pull request #857 from MetaMask/i841-RenameMethod
Rename idStoreMigrator method for clarity
2016-11-22 15:55:48 -05:00
kumavis
e61d792832 Merge pull request #869 from MetaMask/dev-cleanup
Dev Cleanup Package
2016-11-22 15:23:55 -05:00
kumavis
fa2f0dee28 idStore - fix estimateGas calculation 2016-11-22 12:10:49 -08:00
Kevin Serrano
6dad4f1f20
Phase out ethereumjs-util from encryptor module. 2016-11-22 11:17:05 -08:00
Dan Finlay
9fb96128e6 Rename idStoreMigrator method for clarity
Fixes #841
2016-11-21 19:52:56 -08:00
Kevin Serrano
f5b0795ac5
change all instances of selectedAddress to selectedAccount. 2016-11-21 16:21:16 -08:00
Kevin Serrano
9123e70434
Remove entropy from encryption and project. 2016-11-21 15:49:03 -08:00
Dan Finlay
7ab9d40820 Merge branch 'dev' into i831-AddRopsten-Dev 2016-11-21 11:03:32 -08:00
Dan Finlay
e8a8302624 Begin adding Ropsten support
Ropsten links will still not work until Etherscan publishes their ropsten link format.

At that time we will need to update ui/lib/account-link.js

Otherwise, fixes #831
2016-11-21 10:58:49 -08:00
Kevin Serrano
d6286cd13a
Maintain linting. 2016-11-18 16:27:26 -08:00
Dan Finlay
ce1c5eb75a Update migration code for new hd wallet param name 2016-11-18 11:37:07 -08:00
Kevin Serrano
bef023fb4a
Resolve merge conflict. 2016-11-18 09:23:20 -08:00
kumavis
39e0a33bba random-id - use Number.MAX_SAFE_INTEGER as max 2016-11-17 14:29:35 -08:00
Dan Finlay
8eb91e89bf Increment tx ids to avoid collisions
Fixes #791

It was possible for two requests to have the same ID, causing a crash and loss of StreamProvider connection.

This new id generation strategy creates a random ID, and increments it for each request.

In case the id generator is included from two different processes, I'm initializing the counter at a random number, and rolling it over a large number when it gets too big.
2016-11-17 14:05:12 -08:00
Dan Finlay
4352c7031a Merge branch 'i328-MultiVault' of github.com:MetaMask/metamask-plugin into i328-MultiVault 2016-11-17 13:51:32 -08:00
Dan Finlay
f229d32442 Replace old random-id code with incrementing id generator 2016-11-17 13:49:46 -08:00
Kevin Serrano
e18109f1ea
Fix semantics in comments 2016-11-15 13:45:21 -08:00
Kevin Serrano
585284cb88
Lints. 2016-11-15 13:44:22 -08:00
Kevin Serrano
64296df309
Resolve merge conflicts. 2016-11-15 13:43:15 -08:00
Kevin Serrano
7de6b12aad
Re-enable disclaimer screen. Rename variables to reflect role more clearly. 2016-11-14 16:49:16 -08:00
Kevin Serrano
d891869eff
First attempt at fixing errors in confirmation screen. 2016-11-14 11:19:01 -08:00
Kevin Serrano
7012747fb5
Package normalize inside sig util file. 2016-11-11 15:37:54 -08:00
Kevin Serrano
23263bec7d
Linting to the max. 2016-11-11 10:26:12 -08:00
kumavis
e123e3095b Merge branch 'master' into i328-MultiVault 2016-11-11 01:01:06 -05:00
kumavis
536cab0687 detect tx error - show warning and fix gasLimit 2016-11-10 21:19:34 -08:00
Frankie
f665b779cb Merge branch 'master' into i328-MultiVault 2016-11-10 16:53:47 -08:00
Kevin Serrano
e2b2083df0
remove gas field, due to alias redundancy. 2016-11-09 16:38:28 -08:00
Kevin Serrano
b6b4be61d9
Fix bug for increasing gas by 20 percent. 2016-11-09 16:29:24 -08:00
Dan Finlay
7068d2e71c Adjust gas buffer to be 20% over estimate 2016-11-08 08:39:41 -08:00
Dan Finlay
6f39924e60 Increase gas buffer
Fixes #795
2016-11-08 08:32:34 -08:00
Dan Finlay
161ff62fdc Merge branch 'master' into i328-MultiVault 2016-11-07 15:38:25 -08:00
Dan Finlay
1896928562 Fix gas price buffering
Our gas price buffering logic had a bug, because bn.js has inconsistent behavior when using hex-prefixed output.  The issue has been opened with them here:
https://github.com/indutny/bn.js/issues/151

We've corrected our usage in the mean time.
2016-11-07 11:56:20 -08:00