Commit Graph

374 Commits

Author SHA1 Message Date
kumavis 0c6df24ecf metamask - introduce networkStore 2017-02-02 20:59:47 -08:00
kumavis 99fa9ab13a migration 7 - break off TransactionManager substate 2017-02-02 20:20:13 -08:00
kumavis bcb86f38cb messageManager - move view state to obs-store 2017-02-02 18:21:22 -08:00
kumavis 79ed2e902f keyring - replace getState with memStore 2017-02-02 17:07:52 -08:00
kumavis 5c5aa6ea01 keyring - rm config dep 2017-02-02 16:54:16 -08:00
kumavis 4c0cb9d92e metamask - memState - adopt configManager.isDisclaimerConfirmed from keyring controller 2017-02-01 16:38:09 -08:00
Frankie 54b1339f6a Merge branch 'dev' into messageManagerCleanUp 2017-02-01 13:05:58 -08:00
Frankie ce0c3ed03c Merge branch 'dev' into messageManagerCleanUp 2017-02-01 12:03:42 -08:00
Frankie 1b16b46241 code clan up and tests 2017-02-01 11:54:01 -08:00
kumavis 1cb730144d metamask - adopt isInitialized from keyring controller 2017-02-01 00:31:26 -08:00
kumavis ad060e2678 metamask - inherit some configManager state from keyring controller 2017-01-31 22:35:11 -08:00
kumavis c0d3db6a8c keyring - synchronous getState 2017-01-31 20:02:38 -08:00
kumavis 7ccaa263d2 inpage - set web3.eth.defaultAccount correctly 2017-01-30 15:38:32 -08:00
kumavis 2fa60cfcbf continue rename selectedAccount to selectedAddress 2017-01-30 15:25:12 -08:00
kumavis f9b31fe2c3 rename selectedAccount to selectedAddress 2017-01-30 15:08:31 -08:00
kumavis b1de2cdefa metamask - rename getSelectedAccount to getSelectedAddress 2017-01-30 13:09:46 -08:00
kumavis 4dafb09db2 metamask - move selectedAccount set/get to preferencesController 2017-01-30 13:01:07 -08:00
kumavis 0a1918f71a preferences - introduce preferences controller 2017-01-30 12:42:24 -08:00
Frankie f40629e5ae Merge branch 'dev' into messageManagerCleanUp 2017-01-30 00:50:02 -08:00
kumavis dd528d886f metamask - lookup selectedAccount via keyringController 2017-01-30 00:32:04 -08:00
kumavis 6480c2d8a6 public config - get selectedAccount from keyring controller substate 2017-01-29 23:59:17 -08:00
Frankie fdee1e3701 Merge branch 'dev' into messageManagerCleanUp 2017-01-28 22:59:28 -08:00
kumavis 13e2003469 metamask - subscribe metamask store to keyringController substate 2017-01-28 22:12:15 -08:00
Frankie 8be68575bb Clean up message manger includes:
Provider egine bump
Remove presence of message manger in keyring controller
Change the status wording fom conf to approved
make Message manager a class
fix messages not being apart of the badge
re write message manger to better reflect controller pattern
2017-01-28 20:28:20 -08:00
kumavis e9cdbf4f89 keyring - add and initialize obs-store 2017-01-28 13:12:12 -08:00
kumavis 1fd1746744 metamask - adopt shapeshift txs from keyringController 2017-01-27 23:05:29 -08:00
kumavis ad9531d521 metamask - organize methods 2017-01-27 19:35:03 -08:00
kumavis efcd22905a metamask - fix setupProviderConnection 2017-01-26 23:03:11 -08:00
kumavis 9ab8362843 metamask controller - cleanup remote api 2017-01-26 22:30:12 -08:00
kumavis fc1b11e373 metamask - organize into sections 2017-01-26 21:19:09 -08:00
kumavis 832772414e metamask - use web3-stream-provider/handler instead of manual wiring 2017-01-26 21:18:17 -08:00
kumavis 2113979be7 metamask controller - adopt setup*Communication from background 2017-01-26 20:52:46 -08:00
kumavis 2f79781ab9 metamask controller - adopt clearSeedWords from keyring controller 2017-01-26 20:17:36 -08:00
kumavis dc86ddebb7 background - graceful publicConfigStore connection teardown 2017-01-26 16:07:35 -08:00
kumavis af115aa4c1 background - organize metamask instantiation 2017-01-26 15:09:31 -08:00
kumavis 76ce348a04 obs-store - use published module 2017-01-24 19:47:00 -08:00
kumavis bb1ee8e649 Merge branch 'dev' of github.com:MetaMask/metamask-plugin into obs-store2 2017-01-24 16:09:57 -08:00
kumavis 70b8e640f0 Merge branch 'dev' into i#1048 2017-01-24 15:39:33 -08:00
kumavis 463a56ff54 background controller - extract KeyringC.placeSeedWords to MetamaskC 2017-01-24 15:33:33 -08:00
Frankie 48ffea0142 Move the assumption of their only being one hd keyring when requesting seed words to metamaskController 2017-01-24 12:28:05 -08:00
Frankie 8642ced310 Fix issue where generating a new account would put it in loose keys 2017-01-24 12:06:59 -08:00
kumavis 74dc20bdf1 Merge branch 'dev' into obs-store2 2017-01-21 10:06:50 -08:00
Dan Finlay b52346388b Added new modular private key import system
Now any strategy for importing a private key that can be described as a pure function can be very easily turned into a MetaMask import strategy.

I've created a generic and reusable UI action called `importNewAccount(strategy, args)`.

The `strategy` is a unique identifier defined in `app/scripts/account-import-strategies`, and the `args` will be passed to the member of the `strategies` array whose key matches the strategy string.

Strategies return private key hex strings, and are used by the metamask-controller to create a new keyring, and select that new account, before calling back.

This also implements @frankiebee's idea of showing the imported account when it's been imported (my oversight!).

This commit only moves us to this architecture, keeping feature parity for private key import, but has some untested code for importing geth-style JSON files as well!
2017-01-18 15:20:48 -08:00
Dan Finlay 1ff4894b67 Allow importing of private key strings
Fixes #1021

A top-right menu item now allows `Account Import`.  It has a menu (with one item for now) that allows importing a private key string.

Errors are displayed, and a success navigates the user to their account list, where the imported account is labeled `LOOSE`.
2017-01-17 16:24:45 -08:00
kumavis c3d491a37c background - return txHash to provider-engine on done 2017-01-14 20:51:29 -08:00
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
kumavis 29e83d71a8 background - handle tx finalization in controllers instead of provider-engine 2017-01-13 02:00:11 -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
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
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 ead8a05034 Fix dependency reference 2017-01-04 14:21:36 -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
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 25d0ac1476 Merge branch 'dev' into ShowDifferentAccounts 2017-01-02 14:04:27 -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 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
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 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 77d2deb176 Merged master into dev 2016-12-19 13:37:27 -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
Frances Pangilinan 090935f90a Create a TxManager 2016-12-14 12:55:41 -08:00
Dan Finlay 4b6b1db4f0 Ordered keyringController methods the same in metamask-controller 2016-11-29 12:05:23 -08:00
Dan Finlay 9d401f9137 Fix nodeify usage 2016-11-28 17:27:28 -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
Kevin Serrano 8261cf232d
Merge branch 'dev' into dev-cleanup 2016-11-22 10:50:15 -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
Kevin Serrano 88ed1f191f
Add to changelog. 2016-11-22 09:45:28 -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 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 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
Frankie f665b779cb Merge branch 'master' into i328-MultiVault 2016-11-10 16:53:47 -08:00
Kevin Serrano b6b4be61d9
Fix bug for increasing gas by 20 percent. 2016-11-09 16:29:24 -08: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
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
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 1ddb8b9aec Added tx & msg managing functionality to new KeyringController 2016-10-21 13:41:33 -07:00
Dan Finlay 9560ae93ee Added tx and msg signing to keychain & controller 2016-10-20 19:06:17 -07:00
Dan Finlay 55d56f77cf Began adding first basic keyring 2016-10-20 16:45:58 -07:00
Kevin Serrano afbc4c832b
Git merge resolution. 2016-10-19 14:57:30 -07:00
Frankie 35232c5e29 Fix for linting 2016-10-13 18:08:15 -07:00
Frankie aace26c4bd Create callback and Clean-up details 2016-10-13 16:53:32 -07:00
Frankie b200f74d5f Merge branch 'master' into i#495CustomGasField 2016-10-13 15:17:30 -07:00
Frankie c400f7c0f6 Fix gasPrice range 2016-10-13 15:10:29 -07:00
Kevin Serrano 7cba71fc55
Merge branch 'i328-MultiVault' of github.com:MetaMask/metamask-plugin into origin/i328-MultiVault 2016-10-12 17:12:52 -07:00
Dan Finlay cd2c00a318 Add minimal method signatures to new keyring controller 2016-10-12 17:05:39 -07:00
Kevin Serrano d750daed5c
Remove logs. 2016-10-12 13:05:15 -07:00
Kevin Serrano 3954ed2a7e
Fix misnamed variable. 2016-10-12 13:04:21 -07:00
Kevin Serrano 5e9bc31c58
Cleanup. 2016-10-11 15:50:02 -07:00
Kevin Serrano f7361d9654
lint 2016-10-11 14:49:24 -07:00
Kevin Serrano 79a99ac93b
Move tos hash comparison logic from background to mm controller. 2016-10-11 14:33:30 -07:00
Kevin Serrano 21d1959435
Fix linting and guarantees set TOS hash. 2016-10-07 01:54:12 -07:00
Kevin Serrano e4f2cd2e09
Fix retention of terms of service hash across reloads of plugin. 2016-10-07 01:42:13 -07:00
Kevin Serrano 4ea3246912
Add controller functions for storing and checking TOS hashes. 2016-10-06 03:24:28 -07:00
Dan Finlay da611eb3a1 Improve popup behavior for parity errors
When we receive an invalid params error, instead of opening the popup and showing no tx, we now just forward that tx back to the UI code.
2016-10-03 20:04:44 -07:00
Frankie ebf864ae6e Fix for readability 2016-10-02 04:53:43 +08:00
Frankie 0a8a25c818 Fix issue #688 where fiat conversion does not persist when switching networks 2016-10-01 09:31:14 +08:00
Dan Finlay e197e3808f Drop origin key from requests for Parity compatibility 2016-09-19 10:16:27 +08:00
Frankie 17eb53cfcd Change Testfaucet url 2016-09-15 10:22:09 -07:00
Dan Finlay bfea26d3e3 Ensure listener is cleaned up
Also fixed bug when validating a tx with no value.
2016-09-06 18:56:26 -07:00
Dan Finlay dcc24804a1 Add negative value validation to tx approval 2016-09-06 15:23:48 -07:00
Dan Finlay 793ad6b8d8 Merge branch 'master' into PopupNotifications 2016-08-24 16:59:22 -07:00
Dan Finlay 3febbdae57 Linted 2016-08-24 16:02:22 -07:00
Dan Finlay abb5b2013d Fix bug where unconfirmed message sig is lost when locked.
Fixes #484

Adds unsigned messages to the in-memory message list before showing the unlock message.
2016-08-24 15:58:08 -07:00
Dan Finlay e5ca83d2bf Emit updates to all listeners on pending tx updates
Previously the metamask controller only supported a single UI event listener, which wasn't useful for having a separate notification UI open at the same time.

Also reduced the notification's complexity down to a single method, which is heavily re-used.

Still has an outstanding bug where if the plugin ui dismisses the last tx, it does not close the notification popup.
2016-08-23 11:15:56 -07:00
Frankie 3525dc0801 Create a ShapeShift tx in tx History 2016-08-18 15:20:26 -07:00
Frankie efa61f2cf8 Merge branch 'master' into shapeshiftTx 2016-08-18 11:06:32 -07:00
Frankie 752d16f6c0 WIP: ShapeShift tx 2016-08-18 11:04:28 -07:00
Kevin Serrano d43ac808ff Fix uncalled fn. 2016-08-16 14:28:32 -07:00
Kevin Serrano 58e3042a3b Remove logging. Clean up duplicate entries in currency list. 2016-08-16 13:21:16 -07:00
Kevin Serrano 6895d330ff Merge master. 2016-08-15 10:50:53 -07:00
Kevin Serrano b1f68ec9cd Add global var for background. 2016-08-11 19:44:59 -07:00
Kevin Serrano 2b0c6953e2 Create global variable that changes ui logging. 2016-08-11 18:58:23 -07:00
Kevin Serrano 243d83dd33 Separate developmentMode conditional to only wrap log. 2016-08-11 14:24:35 -07:00
Kevin Serrano ad468c1880 Merge branch 'master' into logging-fix 2016-08-11 14:07:49 -07:00
Kevin Serrano 9904b4ef5a Add ability to hide logging messages in production. 2016-08-11 13:59:14 -07:00
Kevin Serrano abfc5632ef Fix ether warning checkbox. 2016-08-10 10:54:55 -07:00
Kevin Serrano cb0c1f25ba Did not previously call functions before! 2016-08-09 16:49:15 -07:00
Kevin Serrano 637d3978b7 Fix default value. Add loading indication for async. 2016-08-09 16:33:58 -07:00
Kevin Serrano 479abadaa7 Merge branch 'master' into usd-conversion 2016-08-04 13:26:03 -07:00
Dan Finlay c9c8fbf2ec Fix account selection updating 2016-07-29 13:27:39 -07:00
Kevin Serrano 86832e6feb Fix merge conflicts. Fix typos. Ensure currency immediately updated on load. 2016-07-22 11:15:47 -07:00
Kevin Serrano 22528002e1 Linting! 2016-07-22 10:15:39 -07:00
Kevin Serrano a612fcee64 Change function names. Add interval polling for api. Refactor functions. 2016-07-21 16:44:50 -07:00
Kevin Serrano 716e65424d Add date access throughout the data flow. 2016-07-21 14:08:26 -07:00
Frankie fcd523abe4 Buy button (#474)
* WIP: Buy button link

* Add buy eth and the buy eth warning message

* Add css

* Move the opening of coinbase page to background
 and send to faucet if on test net

* Create a Warning about storeing eth

* Finish Buy button and Eth store warning screen

* Add to CHANGELOG

* fix frankies deletion and change chrome to extension
2016-07-21 13:41:10 -07:00
Kevin Serrano 7b85802a0f Merge branch 'master' into usd-conversion 2016-07-21 11:30:57 -07:00
Dan Finlay 6658bea8d4 Implement some cross-browser practices (#473)
* Add mozilla plugin key to manifest

* Move all chrome references into platform-checking module

Addresses #453

* Add chrome global back to linter blacklist

* Add tests
2016-07-21 10:45:32 -07:00
Kevin Serrano 4a9d5b1c25 Add data field to pass up parameters up to reducer. 2016-07-21 10:15:34 -07:00
Kevin Serrano 491b9cddc5 Add fiat actions to metamask controllere and actions. 2016-07-21 09:30:58 -07:00
Dan Finlay 9609593f13 Fix bug where rejected tx would not call back 2016-07-07 11:00:19 -07:00
Dan Finlay c0b0c9c028 Simplify error log 2016-07-05 09:51:33 -07:00
Dan Finlay 1d8d7d833d Improve metamask-controller error logging
Fixes #384
2016-07-05 09:06:33 -07:00
kumavis cc970ccd0d fix typo 2016-06-30 15:31:36 -07:00
Dan Finlay 60fec24c00 Debugged by using a real dapp 2016-06-24 17:00:35 -07:00
Dan Finlay d3e0e7fe45 Manually debugged refactor 2016-06-24 16:46:18 -07:00
Dan Finlay 122018a96a Fixed tests 2016-06-24 16:13:27 -07:00
Dan Finlay fa7e466559 Rename background-controller metamask-controller 2016-06-24 15:55:11 -07:00