Commit Graph

837 Commits

Author SHA1 Message Date
kumavis d06c54e0b7 Merge branch 'bug-submitTx' of github.com:MetaMask/metamask-plugin into bug-submitTx 2017-01-13 15:51:36 -08:00
kumavis d755b66e20 background - metamask controller - fix 'this' ref 2017-01-13 15:51:08 -08:00
kumavis 9f162e72b4 Merge branch 'dev' into bug-submitTx 2017-01-13 13:26:57 -08:00
Frankie 1ffaab1d9b Merge branch 'dev' into integrateTxManagerUI 2017-01-13 11:31:51 -08:00
Frankie 5ed52eed68 Clean up code 2017-01-13 10:44:22 -08:00
kumavis 29e83d71a8 background - handle tx finalization in controllers instead of provider-engine 2017-01-13 02:00:11 -08:00
kumavis bc1615f032 background - fix metamaskController store -> diskStore persistence 2017-01-12 14:40:04 -08:00
kumavis 80514d73b5 migrations - wip - 005 multivault migration 2017-01-12 02:24:33 -08:00
kumavis b33c51c0a6 migrations - introduce promise-based migrator 2017-01-12 01:17:05 -08:00
kumavis 3bc996878b background - move pojo migrator to outside of metamask controller 2017-01-11 22:47:56 -08:00
kumavis 8012ede126 background - introduce ObservableStore 2017-01-11 19:31:21 -08:00
kumavis 65ba9fc39e bugfix - portstream - dont wrap cb in try catch 2017-01-11 19:09:49 -08:00
Frankie f9efb0817d Merge branch 'dev' into integrateTxManagerUI 2017-01-11 16:07:03 -08:00
Frankie 576e2ad64d Fix wording and icon of failed txs 2017-01-11 15:44:21 -08:00
Dan Finlay d87a7b2a76 Send update to UI when changing selected account
Fixes #981
2017-01-11 15:15:37 -08:00
kumavis 89a5eff270 currency conversion - less noisy error 2017-01-11 14:40:35 -08:00
Frankie bbd2f2738b Add to CHANGELOG 2017-01-11 12:23:00 -08:00
Frankie 0b59dafc34 Merge branch 'dev' into integrateTxManagerUI 2017-01-11 12:17:17 -08:00
Frankie 0fae263a9a Take some of the tx Logic out of the UI and create a visble state for pending and unaproved transactions 2017-01-11 12:16:37 -08:00
kumavis 26e4ff40e1 rpc - fix sync account cache setting 2017-01-11 02:33:57 -08:00
kumavis 61637c738b web3 provider - override eth_syncing and web3_clientVersion 2017-01-11 00:46:44 -08:00
Dan Finlay 21e2e4efd8 Remove erroneous OOG estimation logic. 2017-01-10 14:20:46 -08:00
kumavis b301c0fb48 deps - replace promise-request with fetch 2017-01-10 12:04:26 -08:00
kumavis 4c1b7700ad Merge branch 'dev' into TearDownOnDisconnect 2017-01-05 14:25:31 -05:00
kumavis 00ac5ca058 Merge branch 'dev' into TearDownOnDisconnect 2017-01-05 14:18:34 -05:00
Dan Finlay 73ee0ae766 Merge branch 'dev' into fixTxManager 2017-01-05 11:18:13 -08:00
Frankie e62f70660d MetaMask Controller - Convert to EventEmitter 2017-01-05 11:06:18 -08:00
Dan Finlay 7659f5894a Combine two identical then blocks 2017-01-05 11:03:30 -08:00
Frankie cf6817092b remove unnecessary try statments 2017-01-04 15:03:45 -08:00
Dan Finlay 6c99d09404 Fixed bugs with sanity-checking
- Was incorrectly calling some eth-query methods (left over from old local eth-query)
- Was still passing block to getAccount in addAccount
- Now emitting update only after all account balances are loaded, reducing UI update traffic.
2017-01-04 14:54:40 -08:00
Dan Finlay ead8a05034 Fix dependency reference 2017-01-04 14:21:36 -08:00
Dan Finlay a107b66854 Caught typo 2017-01-04 14:15:53 -08:00
Dan Finlay 18e6d266c1 Add descriptive comment 2017-01-04 14:07:08 -08:00
Dan Finlay 381a60695d Linted 2017-01-04 14:05:00 -08:00
Dan Finlay 3588aabdf2 Removed reliance on eth-store internal custom eth-query 2017-01-04 14:01:32 -08:00
Dan Finlay 08351f801a Move eth-store@1.1.0 into local repo. 2017-01-04 13:56:21 -08:00
Frankie 32e8063a77 clean up 2017-01-04 13:13:34 -08:00
Frankie 354fa763d4 Merge branch 'dev' into fixtTxManager 2017-01-04 13:05:29 -08:00
Frankie e6da8e2762 Fix signing of transactions 2017-01-04 13:04:33 -08:00
Kevin Serrano b571913daf
Merge branch 'dev' of github.com:MetaMask/metamask-plugin into dev 2017-01-03 12:19:33 -08:00
Kevin Serrano 68be524019
Take out unneeded permissions from the app. 2017-01-03 11:23:27 -08:00
Dan Finlay 33b4d213f1 Fix sendUpdate for new promisified getState method 2017-01-03 11:15:38 -08:00
Dan Finlay 1b9906372b Update UI state on ethStore updates
UI was remarkably not relying on ethStore for updates, so things like account balances were frozen until user activity.

Fixes #963
2017-01-03 11:10:20 -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
Dan Finlay edc5f9e821 Add tolerance for hex prefixed private keys to simple keychain 2017-01-02 13:55:43 -08:00
kumavis 616721f47d inpage-provider - add isMetaMask
adds `metamaskInpageProvider.isMetaMask === true`
Fixes #727
2017-01-02 12:20:09 -08:00
Dan Finlay 21af3de43d Merge branch 'FixMigrationPasswordBug' into ShowDifferentAccounts 2016-12-23 17:10:56 -08:00
Dan Finlay e95c937569 Add additional migration test 2016-12-23 17:09:24 -08:00
Frankie fa3e708f34 Merge branch 'dev' into TxManager 2016-12-23 12:48:36 -08:00
Frankie fde69ea0ba fix some minor spelling mistakes and clean up code 2016-12-23 12:43:42 -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 1861bf8e2b Remove log 2016-12-22 14:46:14 -08:00
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 9e54e3baa0 Break up migration function 2016-12-22 13:56:45 -08:00
Dan Finlay 291403c13f Don't bother changing selected accounts since accounts are recovered 2016-12-22 13:45:45 -08:00
Dan Finlay cf3951c9df Remove logs 2016-12-22 13:40:12 -08:00
Dan Finlay 0df656850d Linted 2016-12-21 17:30:10 -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 05ce7086f7 Added error when trying to unlock uninitialized vault 2016-12-21 17:19:53 -08:00
Frances Pangilinan 9e1c90eafc fix merge 2016-12-21 14:46:10 -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
Kevin Serrano aea263a80d
Lint. 2016-12-20 16:45:22 -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 4fbea1c7b4 Merge pull request #939 from MetaMask/BrowserPassworder
Remove encryptor in favor of external browser-passworder
2016-12-20 11:49:40 -08:00
Dan Finlay 35d8f69e80 Merge pull request #942 from MetaMask/Version-2.14.1
Version 2.14.1
2016-12-20 11:48:15 -08:00
Dan Finlay 3f2945dce0 Version 2.14.1 2016-12-20 08:58:18 -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
Dan Finlay ead8329877 Merge pull request #937 from MetaMask/i900-forgot-password-flow
I900 forgot password flow
2016-12-19 16:01:01 -08:00
Kevin Serrano e9bea92ac3
Lint. 2016-12-19 14:55:52 -08:00
Dan Finlay 77d2deb176 Merged master into dev 2016-12-19 13:37:27 -08:00
kumavis 5ea7d738d2 changelog - inf reload detection hotfix 2016-12-19 13:23:32 -08:00
kumavis b4a298e1a3 inpage - temporarily disable ping stream 2016-12-19 12:25:35 -08:00
kumavis 73998feeb2 move notice code from metamask-controller + config-manager, in to notice-controller 2016-12-16 12:44:47 -08:00
Kevin Serrano 1458b8c68e
Deactivate polling for now. 2016-12-16 11:39:41 -08:00
Dan Finlay 2b1d821da3 Cleanup 2016-12-16 11:26:39 -08:00
Kevin Serrano 851ba66cdd Add ability to show notices to user & get confirmation.
Implement generation of markdown for notice files.
Create npm command. Enhance notice generation.
Add test files to test multiple notices.
Add basic markdown support to notices.
Interval checks for updates.
Add extensionizer and linker
Add terms and conditions state file
Add link support to disclaimer.
Changelog addition.
2016-12-16 10:55:42 -08:00
Kevin Serrano 8819475a2e Add ability to show notices to user & get confirmation.
Implement generation of markdown for notice files.
Create npm command. Enhance notice generation.
Add test files to test multiple notices.
Add basic markdown support to notices.
Interval checks for updates.
Add extensionizer and linker
Add terms and conditions state file
Add link support to disclaimer.
Changelog addition.
2016-12-16 10:44:52 -08:00
Dan Finlay 83880a5c92 Remove morden testnet provider
Instances configured to point at Morden will now point at Ropsten.
2016-12-15 16:12:03 -08:00
Frances Pangilinan da9349fe63 Clean up and comment functions 2016-12-14 15:04:33 -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
kumavis 26b60f1b5a inpage - correctly listen for incomming messages 2016-12-07 14:42:38 -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 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 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 9d401f9137 Fix nodeify usage 2016-11-28 17:27:28 -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 44a2f2ad9d Version 2.13.11 2016-11-23 16:59:48 -08:00
Dan Finlay b899119582 Merge branch 'master' into dev 2016-11-23 16:54:27 -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
kumavis c0a2eb146a rpc - add sync uninstallFilter support 2016-11-23 10:48:20 -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 d9f8a8f9b2 Version 2.13.10 2016-11-22 14:51:33 -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
kumavis e61d792832 Merge pull request #869 from MetaMask/dev-cleanup
Dev Cleanup Package
2016-11-22 15:23:55 -05:00
kumavis 49a1f43736 Merge branch 'master' into i868-estimateGasTooHigh 2016-11-22 15:14:25 -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 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 ca819781cb Merge pull request #866 from MetaMask/new-faucet-dev
Make ropsten faucet button point at the correct url.
2016-11-22 10:30:50 -08:00
Kevin Serrano 17669e4af8
Make ropsten faucet button point at the correct url. 2016-11-22 10:20:59 -08:00
Kevin Serrano 8d2afccdc0
Ropsten has sole access to the faucet. 2016-11-22 10:13:57 -08:00
Dan Finlay 136296aad6 Began moving salt into encryptor 2016-11-22 09:52:43 -08:00
Kevin Serrano 88ed1f191f
Add to changelog. 2016-11-22 09:45:28 -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
Dan Finlay 1ddc7625e0 Version 2.13.9 2016-11-21 12:24:27 -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
Kevin Serrano bc6312e9e3
Promisify persistence of keyrings before returning key
Change single letter variables (shame)
2016-11-18 15:58:49 -08:00
Dan Finlay ce1c5eb75a Update migration code for new hd wallet param name 2016-11-18 11:37:07 -08:00
Kevin Serrano cd2442e3e7
Persist keyrings from migration to storage. 2016-11-18 10:48:00 -08:00
Kevin Serrano bef023fb4a
Resolve merge conflict. 2016-11-18 09:23:20 -08:00