1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
Commit Graph

309 Commits

Author SHA1 Message Date
Dan Finlay
5d8a3dd99b Add ability to import v3 JSON wallets
There is now a menu item labeled "JSON File" for importing, and it can digest either:
- v1 MyEtherWallet JSON files
- v3 Account files (used by Geth, Mist, and MyEtherWallet).

Fixes #715
2017-01-18 16:45:39 -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
Dan Finlay
958cbfbde4 Merge branch 'i328-MultiVault-v1' into i715-AddImportMenu 2017-01-17 13:58:54 -08:00
Dan Finlay
77bd010543 Add "import account" menu item + template view 2017-01-17 13:47:30 -08:00
Dan Finlay
d87a7b2a76 Send update to UI when changing selected account
Fixes #981
2017-01-11 15:15:37 -08:00
Dan Finlay
2c2cdc4475 Convert more actions to new simple pattern 2017-01-03 11:33:15 -08:00
Dan Finlay
10c818abac Restore missing line 2017-01-03 11:30:27 -08:00
Dan Finlay
013e6a608f Corrected instances of showWarning to displayWarning 2017-01-03 11:03:25 -08:00
Dan Finlay
8b7b097034 Apply new pattern to repetitive functions 2017-01-03 10:42:09 -08:00
Dan Finlay
3ebf029c04 Update account list after adding account
Fixed by finally making a function generator for a pattern we use frequently, communicating to the background process.

Fixes #961
2017-01-03 10:39:34 -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
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
9c8345467c
Modify actions to support better transition. 2016-12-19 15:46:09 -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
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
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
049e351c9d Add integration tests for logging out and back in 2016-11-30 16:01:51 -08:00
Dan Finlay
549bbfd05f Made integration test create a first vault 2016-11-30 14:58:40 -08:00
Kevin Serrano
5a02e58f62
Fix proper behavior for restoring accounts when password forgotten. 2016-11-23 13:49:54 -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
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
17d63acaed Fix camel casing on setSelectedAccount action. 2016-11-21 18:16:59 -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
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
23263bec7d
Linting to the max. 2016-11-11 10:26:12 -08:00
Frankie
f665b779cb Merge branch 'master' into i328-MultiVault 2016-11-10 16:53:47 -08:00
Kevin G. Serrano
7b3f1ecc41
Unify warning functions. 2016-11-07 16:02:02 -08:00
Dan Finlay
bc623bbe34 Linted 2016-11-04 12:32:47 -07:00
Dan Finlay
1bbe0ed9e8 Scaffold new account view 2016-11-04 12:01:41 -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
25c46a1636
Make case condition more consistent. Remove extra action. Fix incorrect display of network. 2016-10-30 16:01:12 -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
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
f14fdf7a25 Change actions reference to keyringController to background 2016-10-20 09:58:33 -07:00
Kevin Serrano
afbc4c832b
Git merge resolution. 2016-10-19 14:57:30 -07:00
Kevin Serrano
ad3fa24a28
Intermediary commit. 2016-10-19 14:55:08 -07:00
Kevin Serrano
1481a3ef8e
Initial work on UI side 2016-10-15 10:48:12 -07:00
Frankie
aace26c4bd Create callback and Clean-up details 2016-10-13 16:53:32 -07:00
Frankie
c400f7c0f6 Fix gasPrice range 2016-10-13 15:10:29 -07:00
Dan Finlay
cd2c00a318 Add minimal method signatures to new keyring controller 2016-10-12 17:05:39 -07:00
Dan Finlay
93ed918caa Remove additional deprecated action 2016-10-12 16:43:35 -07:00
Dan Finlay
5c9969e126 Remove opinionated seed word code
Completely breaking all account maangement, I have removed the opinionated seed-word code from the UI.

Web3 injection still seems to work.
2016-10-12 16:31:15 -07:00
Frankie
ef0b535d94 Drop the buy button in the confTx view if account does not have enough eth 2016-09-15 10:24:05 -07:00
Frankie
218f380d87 Add qrcode-npm to package.json and swap out Qr Code generator api for node-module 2016-09-12 17:27:14 -07:00
Dan Finlay
7b6c018c39 Show loading indication during unlocking. 2016-09-08 19:53:54 -07:00
Dan Finlay
7b1bbb7a19 Show conf screen after send request 2016-09-01 11:30:42 -07:00
Frankie
483a7fee0a Add a back button on lock screen to go back to init menu 2016-08-25 14:13:32 -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
7d1b2db87e linting and ignoring. 2016-08-16 10:48:31 -07:00
Kevin Serrano
6895d330ff Merge master. 2016-08-15 10:50:53 -07:00
Dan Finlay
e826eb932c Remove ethereum classic provider
Fixes #542
2016-08-14 18:41:05 -07:00
Frankie
99a788a6f0 Add multi message capability to Qr view for market info 2016-08-12 17:43:24 -07:00
Frankie
b4c9a52259 Change buy forms so that they are their own view and add Qr-code 2016-08-12 15:41:59 -07:00
Frankie
4ace425a9c Fix merge mess 2016-08-10 14:41:40 -07:00
Frankie
ba1edc429b Merge branch 'master' into buyForm 2016-08-10 13:48:34 -07:00
Frankie
9c6dd9ef49 Create "buy form" add shape shift 2016-08-10 13:43:01 -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
92fb827923 currency now selectable and save-able. 2016-08-04 14:04:04 -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
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
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
51a5e66cbb Move main drop-down state to component state 2016-07-01 10:25:19 -07:00
Dan Finlay
179d176dc1 Fix broken action reference 2016-06-30 11:30:31 -07:00
Dan Finlay
8fde8a8921 Manually linted 2016-06-21 13:56:04 -07:00
Dan Finlay
a08c3bc01b Auto linted 2016-06-21 13:18:32 -07:00
Dan Finlay
c5d334d372 Fix disclaimer approving action 2016-06-16 16:40:55 -07:00
Dan Finlay
af48b94f6f Add disclaimer consent action 2016-06-16 15:58:45 -07:00
Dan Finlay
b2b4b4dd25 Merge branch 'master' into display_network 2016-06-03 15:21:24 -07:00
Dan Finlay
9cc04be5e4 Added seed word recovery to config screen 2016-06-02 16:52:18 -07:00
Zac Mitton
924a65c956 network status getting set upon start-up and showing in title bar but not auto-updating yet 2016-06-01 16:30:14 -07:00
Dan Finlay
5da6fd5ab1 Add clicking txs in list shows tx conf screen 2016-05-26 14:32:45 -07:00
kumavis
c5e5842424 actions - remove use of 'this' 2016-05-25 12:39:12 -07:00
Dan Finlay
95a3cfe3fc Added ability to nickname wallets locally
The changes are persisted to localstorage, so they cannot be restored on a new computer, but for right now it's a nice organizational feature.
2016-05-20 16:18:54 -07:00
Dan Finlay
7d5aaaa5bd Add ability to add account to vault
Scrolling to the bottom of the accounts page now reveals a downward-facing chevron button.

Pressing this button shows loading indication, adds a new account to the identity vault, displays it in the list, and scrolls the list to the bottom of the page.

Any number of accounts can be generated in this way, and the UX feels intuitive without having to overly explain how HD paths work.
2016-05-20 12:40:44 -07:00
Dan Finlay
d0b0526765 Add dynamic list item styles 2016-05-18 14:36:35 -07:00
Dan Finlay
d18d9a8f97 Add animated sandwich button 2016-05-18 12:30:03 -07:00
Dan Finlay
041b5493dc Streamlined some transition logic
Fixes #122

Had used multiple actions for some transitions, which would lead to brief intermediary states.

Now making a few actions much more explicit about what they route to, so there is less intermediary logic, and we can transition confidently to the correct view.
2016-05-13 01:24:05 -07:00
Dan Finlay
29facfe4d6 Fix more transition bugs 2016-05-11 22:21:10 -07:00
Dan Finlay
d8bee4f599 Make default providers more easiliy configurable for metamask devs
No longer do our `mainnet` and `testnet` buttons set specific RPC urls. Now they set `provider.type`, which gets interpreted with code.

Currently the provider types of `mainnet` and `testnet` point to our new scalable backends, but these could be re-interpreted to use any other provider, be it etherscan, peer to peer, or otherwise.

Makes it easier for us to upgrade our infrastructure without incorporating migration logic into the program.
2016-05-10 15:37:13 -07:00
Dan Finlay
d3b541e126 Fix transition bugs after vault restore 2016-05-10 10:45:31 -07:00
Dan Finlay
c30a67b2de Restored signTx action 2016-05-06 14:46:04 -07:00
Dan Finlay
d929f80532 Fix routing bug
Where sometimes the account list was shown when first unlocking, after momentarily showing the detail panel.
2016-05-04 20:37:39 -07:00
Dan Finlay
9c6ec054b1 Show any pending txs when unlocking
Before the unlock action hard-routed to the home route, now it has a condition where it will show pending transactions instead.
2016-05-03 15:04:15 -07:00
Dan Finlay
e6c4d63ccd Add UI for Signing Messages
Calls to `eth.sign` are now transiently persisted in memory, and displayed in a chronological stack with pending transactions (which are still persisted to disk).

This allows the user a method to sign/cancel transactions even if they miss the Chrome notification.

Improved a lot of the view routing, to avoid cases where routes would show an empty account view, or transition to the accounts list when it shouldn't.

Broke the transaction approval view into a couple components so messages and transactions could have their own templates.
2016-05-03 14:32:22 -07:00
Dan Finlay
988165224b Fix outdated transitions
Fixes #151

- Cancelling or completing a tx now goes back to account detail view.
- Restoring a vault now does not select an unloaded account, shows account list.
- Account list now never selects an item only uses the cells as buttons.
2016-04-29 17:02:36 -07:00
Dan Finlay
1025eb3b4f Persist selected account
When selecting an account, we now persist the selection to the `configManager`, so the selection can be restored when re-unlocking Metamask.

Also found the bug where `rawtestrpc` was still being used as a default, and fixed it!
2016-04-25 14:14:34 -07:00
Dan Finlay
2dd7bd6bd0 Make account detail view the primary view
- When unlocking, the first account is now selected by default and displayed as the main view.
 - There is now a "CHANGE ACCT" button on the detail view to show the accounts list.
 - Clicking an account from the accounts list now navigates to the detail view and selects that account.
 - Config/Info screen "back" buttons now fire a new action, `GO_HOME`, which is configured to navigate to the accountDetail view, putting that logic in one place.
 - When locking and unlocking again, the first account is always displayed, eventually we should persist the selection.
2016-04-25 12:38:43 -07:00
Dan Finlay
d814a45dff Moved UI into repo with its own dependency stack 2016-04-13 15:28:44 -07:00