Commit Graph

154 Commits

Author SHA1 Message Date
Frankie e6da8e2762 Fix signing of transactions 2017-01-04 13:04:33 -08:00
Dan Finlay af2c7004b0 Make single letter variables more verbose 2017-01-02 15:08:18 -08:00
Dan Finlay 25d0ac1476 Merge branch 'dev' into ShowDifferentAccounts 2017-01-02 14:04:27 -08:00
Frankie fa3e708f34 Merge branch 'dev' into TxManager 2016-12-23 12:48:36 -08:00
Dan Finlay a10fe6b6f4 Return keyring metadata on metamask state object
Required making the getState methods for both keyringController and metamaskController async.
They both now return promises, and the main metamask-controller.getState method is now nodeified.

Will allow the UI to render loose keys differently than persisted keys.
2016-12-22 17:17:07 -08:00
Dan Finlay 05ce7086f7 Added error when trying to unlock uninitialized vault 2016-12-21 17:19:53 -08:00
Frankie 6f7c23fd28 Merge branch 'dev' into TxManager 2016-12-21 14:31:07 -08:00
Frances Pangilinan a85c691b71 Remove txManager in keyring controller 2016-12-21 14:06:15 -08:00
Frances Pangilinan 1ebcbe296b Migrate all tx mutation code out of keyring controller and
Fix up txManager to reflect code review requests
2016-12-21 13:41:49 -08:00
Frances Pangilinan 6e78494846 First pass at revision requests 2016-12-21 13:41:32 -08:00
Dan Finlay 48f2ae2154 Move old keystore migration code to metamask controller
Allows keyring controller to be more generic, less opinionated, and who knows, maybe sooner publishable as its own thing.
2016-12-21 11:02:04 -08:00
Dan Finlay 931ae5f64a Make notices confirmation configurable
- Confirm button will now dismiss the lost accounts array.
2016-12-20 15:24:08 -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
Kevin Serrano e9bea92ac3
Lint. 2016-12-19 14:55:52 -08:00
Frances Pangilinan 090935f90a Create a TxManager 2016-12-14 12:55:41 -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 c431783602 Remove redundant logging block 2016-12-01 10:21:56 -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 df0b89074b Return promise correctly from setSelectedAddress 2016-11-29 15:50:26 -08:00
Dan Finlay 5bf1018d75 Flattened addTx async methods 2016-11-29 14:56:58 -08:00
Dan Finlay ff3f6cc36a Bind ethQuery to estimateGas to allow it to be moved around. 2016-11-29 14:13:12 -08:00
Dan Finlay 85d5b12f8d Fix tx adding code
Broken in this commit:
bc39cd7b89

Synchronous methods were added to an `async.waterfall` array.

This commit also removes the delegate call checking, since we concluded it was misinformed.
2016-11-29 12:46:08 -08:00
Dan Finlay 4b6b1db4f0 Ordered keyringController methods the same in metamask-controller 2016-11-29 12:05:23 -08:00
Dan Finlay b81f00849d Annotated KeyringController 2016-11-29 11:40:49 -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 d9dc2eac63 Fix more async usage of KeyringController 2016-11-23 14:35:29 -08:00
Dan Finlay 230a0ab876 Fix more keyring asyncifying tests 2016-11-23 11:58:34 -08:00
Dan Finlay 600f5c31db Mostly got async keyringController tests passing 2016-11-23 00:23:41 -08:00
Dan Finlay c77d355e98 Complete first pass at asyncrhonizing keyring controller 2016-11-22 23:36:11 -08:00
Dan Finlay 2efab79f5b Asynced keyrings and started on controller 2016-11-22 23:16:36 -08:00
Dan Finlay 05c8658ff3 Fix new encryptor migration logic 2016-11-22 17:41:54 -08:00
Dan Finlay 822face7a3 Fix password reference 2016-11-22 16:29:46 -08:00
Dan Finlay 6ebdebc0a5 Remove line of cruft 2016-11-22 16:18:18 -08:00
Dan Finlay 4b7b0a86d8 Refine isInitialized derivation method 2016-11-22 15:57:48 -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
Dan Finlay 2966d46fa2 Merge branch 'dev' into i843-MoveSaltIntoEncryptor 2016-11-22 15:36:50 -08:00
Dan Finlay c8176c9439 Merge pull request #875 from MetaMask/i868-estimateGasTooHigh-dev
I868 estimate gas too high dev
2016-11-22 14:42:46 -08:00
kumavis bc39cd7b89 KeyringController - estimateGas->analyzeGasUsage fix gasLimit + detect OOG 2016-11-22 14:28:31 -08:00
kumavis e14efa8f17 Merge pull request #858 from MetaMask/i842-WaitForSeedWord
I842 wait for seed word
2016-11-22 16:18:43 -05:00
Dan Finlay c4056a861a Move state update outside of conditional callback block 2016-11-22 13:13:10 -08:00
Dan Finlay 606c0b7618 Remove callback type check 2016-11-22 12:57:15 -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
Dan Finlay 0289444fcb Merge branch 'dev' into i842-WaitForSeedWord 2016-11-22 10:51:48 -08:00
Kevin Serrano 8261cf232d
Merge branch 'dev' into dev-cleanup 2016-11-22 10:50:15 -08:00
Dan Finlay 136296aad6 Began moving salt into encryptor 2016-11-22 09:52:43 -08:00
Dan Finlay ea56426b23 Use callback in placeSeedWord method.
When displaying seed words, we were not using a callback, which had some race condition potential.  This is simply a little cleaner and more correct.

Fixes #842
2016-11-21 20:08:36 -08:00
Dan Finlay 9fb96128e6 Rename idStoreMigrator method for clarity
Fixes #841
2016-11-21 19:52:56 -08:00
Dan Finlay ced36eb201 Improve Keyring organization
Separated public & private methods. (Fixes #845)
Made class method `type()` into a simple property. (Fixes #846)
2016-11-21 19:40:58 -08:00
Kevin Serrano 1cbab788ec
Change fauceting to become a response of an emit. 2016-11-21 16:46:26 -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
Kevin Serrano bc6312e9e3
Promisify persistence of keyrings before returning key
Change single letter variables (shame)
2016-11-18 15:58:49 -08:00
Kevin Serrano cd2442e3e7
Persist keyrings from migration to storage. 2016-11-18 10:48:00 -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 592b64a19f
Revert one cb to previous state. 2016-11-15 17:13:33 -08:00
Kevin Serrano 5bfb700fa8
Minimize dispatches by using emitters and relying on state updates. 2016-11-15 17:12:13 -08:00
Kevin Serrano 1db0bc4b2a
Merge branch 'i328-MultiVault' of github.com:MetaMask/metamask-plugin into i328-MultiVault 2016-11-15 13:31:58 -08:00
Kevin Serrano a4666de0ce
Minimize repeated code. 2016-11-15 13:31:22 -08:00
Kevin Serrano b1fee2a1d3
Minimize repeated code. 2016-11-15 11:19:21 -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 4826f7c0a0
Revert to previous anonymous function for promise. 2016-11-11 17:06:07 -08:00
Kevin Serrano 20cea5b2f5
Various keyring changes
- Rearrange the require statements.
- Remove unused web3.
- Simplify some callbacks and promises.
- Clarify certain parameters.
2016-11-11 15:41:04 -08:00
Kevin Serrano 23263bec7d
Linting to the max. 2016-11-11 10:26:12 -08:00
Frankie 17aac2dbc5 fix tx data so it has the network id 2016-11-10 19:07:12 -08:00
Dan Finlay 553a6da011 Fix 787 gas buffer bug 2016-11-07 12:00:14 -08:00
Dan Finlay fc26a0a899 Fix network checking 2016-11-04 12:11:00 -07:00
Dan Finlay abebe51f69 Add tolerance to normalize method 2016-11-03 16:34:55 -07:00
Dan Finlay ba7d6b437f Fix password validation and persistence issue
Was wiping the vault on each successful password attempt... :P
2016-11-03 16:14:37 -07:00
Kevin Serrano 2afc06287d
Implement private key exporting. 2016-11-03 15:40:23 -07:00
Dan Finlay e0246975a7 Finish fixing nicknaming bug 2016-11-03 13:44:29 -07:00
Dan Finlay bd2a429a85 Fix account nicknaming bug
When nicknaming, we weren't normalizing the input, and so we were retrieving with differently formatted addresses than we were persisting.
2016-11-03 11:59:20 -07:00
Dan Finlay 9ca3c57339 Fix vault creation bug 2016-11-03 11:34:57 -07:00
Dan Finlay 185396ff08 Fix dual vault creation bug 2016-11-02 16:35:46 -07:00
Dan Finlay ed1917d71a Fix initial vault creation 2016-11-02 16:18:47 -07:00
Dan Finlay 4cf1b606e4 Fix handling of migrating old vault style
Now old vaults are recognized as an "Initialized" MetaMask instance.

Upon logging in, when fetching the initial password-derived key, if there is no new-style vault, but there is an old style vault, it is migrated to the new format before proceeding through the usual unlocking steps.
2016-11-02 15:04:50 -07:00
Kevin Serrano 8f3db0dbc0
Add reveal of seed words. 2016-11-01 22:19:04 -07:00
Dan Finlay b5f6ef8c01 Fixed bugs related to clearing caches when restoring to a new vault 2016-11-01 17:00:17 -07:00
Dan Finlay 498b30bddc Fix seed phrase restore 2016-11-01 11:51:51 -07:00
Kevin Serrano db356a181a
Made progress on parity for MultiVault
- Deleted some unused items
- Renamed files and paths to match with new locations.
- Modified keyring controller logic to separate concerns.
- Fix account naming issues.
- Enable creation of new vault with default HD keyring.
- Formatting issues.
2016-11-01 11:30:10 -07:00
Kevin Serrano 96643c222a
Implement seed word confirmation page.
Remove logs.
Move HD render files to ui/app.
2016-10-31 11:35:09 -07:00
Kevin Serrano 6fc498f8a0
Implement auto-fauceting 2016-10-31 09:47:20 -07:00
Dan Finlay 18e5173f06 Now migrating old vaults to new DEN format 2016-10-29 02:29:25 -07:00
Dan Finlay 6ec471c6dc Configure BIP44 Keychain as default one 2016-10-28 12:10:35 -07:00
Kevin Serrano 678301a20e
Phase out extra warning screen. 2016-10-25 13:24:03 -07:00
Dan Finlay 518ff399fb Fix loading indication 2016-10-21 14:11:04 -07:00
Dan Finlay 1ddb8b9aec Added tx & msg managing functionality to new KeyringController 2016-10-21 13:41:33 -07:00
Dan Finlay 626b52d24a Fix bug in new KeyringController vault restoring logic. 2016-10-21 13:11:30 -07:00
Dan Finlay 44aa1be277 Create basic keyring-controller unit test file 2016-10-21 12:11:54 -07:00
Dan Finlay c3e1c5c57f Added SimpleKeyring tests 2016-10-21 11:10:36 -07:00
Dan Finlay 9560ae93ee Added tx and msg signing to keychain & controller 2016-10-20 19:06:17 -07:00
Dan Finlay 957b7a72b5 Improved simple account generation 2016-10-20 17:29:25 -07:00
Dan Finlay 55d56f77cf Began adding first basic keyring 2016-10-20 16:45:58 -07:00
Dan Finlay 0deed17752 Fix tests 2016-10-20 12:07:53 -07:00
Dan Finlay 383f8ea7dc Linted & added salting to vault 2016-10-20 11:33:18 -07:00
Dan Finlay e5c95d68f8 Fix state updating after vault creation and unlocking 2016-10-20 11:00:38 -07:00
Dan Finlay 2132477797 Fix unlock logic 2016-10-20 10:28:45 -07:00
Kevin Serrano ad3fa24a28
Intermediary commit. 2016-10-19 14:55:08 -07:00