1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-14 05:37:12 +01:00
Commit Graph

3105 Commits

Author SHA1 Message Date
Dan Finlay
5d37f90787 Automatically remove shapeshift txs over 11 minutes old with no payment 2017-02-03 21:36:04 -08:00
Dan Finlay
c9024655d3 Add migration to index 2017-02-03 21:35:54 -08:00
Dan Finlay
4dc71ed57b Got ShapeShiftController back to working 2017-02-03 21:12:18 -08:00
Dan Finlay
13ee92909c Mostly got shapeshift tx management into its own controller
Rendering the list is still having issues, so this isn't done yet.
2017-02-03 20:45:20 -08:00
kumavis
bc4efa1807 eth-store - update store state after manipulating 2017-02-03 16:07:58 -08:00
kumavis
ff87b9dc7a id mgmt - update to latest eth_sign spec 2017-02-03 14:59:07 -08:00
kumavis
77f8995568 migrations - fix migration #9 and add safety checks to migrator 2017-02-03 14:00:30 -08:00
kumavis
99d6a329a2 eths-store - eagerly set current block 2017-02-03 12:35:01 -08:00
kumavis
970d4fd695 metamask - add missing diskState and memState subscriptions 2017-02-02 23:47:00 -08:00
kumavis
9e4ef45b6a migration #9 - break out CurrencyController substate 2017-02-02 23:32:24 -08:00
kumavis
b233e7e37c eth-store - cbs default to noop 2017-02-02 22:32:00 -08:00
kumavis
8b5e3aa287 migration #8 - break out NoticeController substate 2017-02-02 22:23:45 -08:00
kumavis
73edfc9f31 eth-store - convert to obs-store subclass 2017-02-02 22:05:06 -08:00
kumavis
f08f40aee2 txManager - depend on preferencesStore 2017-02-02 21:09:17 -08:00
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
134a4c7bc3 keyring - manage isUnlocked in memStore 2017-02-02 16:59:15 -08:00
kumavis
5c5aa6ea01 keyring - rm config dep 2017-02-02 16:54:16 -08:00
Kevin Serrano
9b6a06e679
Merge branch 'dev' into notice-management 2017-02-02 16:22:44 -08:00
Kevin Serrano
88882f547e
Change filepath for new location of notices. 2017-02-02 15:59:39 -08:00
kumavis
4c0cb9d92e metamask - memState - adopt configManager.isDisclaimerConfirmed from keyring controller 2017-02-01 16:38:09 -08:00
Frankie
10ce2a781f emit a update badge 2017-02-01 15:12:15 -08:00
Frankie
d93708b553 put updateBadge back in 2017-02-01 15:08:06 -08:00
Frankie
c7b9adbfcb swap out set state for updateState 2017-02-01 15:00:41 -08:00
Frankie
a96f892788 Fix messy merge 2017-02-01 13:25:36 -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
cd5d952600 keyring - move identities into memStore 2017-02-01 00:17:48 -08:00
kumavis
41c93ceb7e keyring - add keyringtypes to memStore 2017-02-01 00:02:10 -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
0b9d37c6c8 migration #6 - fix selectedAddress data source 2017-01-30 15:53:21 -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
7a0acb2333 migration #6 - move selectedAccount from keyringController to preferencesController 2017-01-30 13:01:54 -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
4dd6ba9c1b migration 5 - move keyring controller state to substate 2017-01-28 19:19:03 -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
3afd0ef27d tests - remove persistence and start with initial state 2017-01-27 23:04:34 -08:00
kumavis
ad9531d521 metamask - organize methods 2017-01-27 19:35:03 -08:00
Frankie
a8ed780d9b Merge branch 'dev' into messageManagerCleanUp 2017-01-27 14:17:12 -08:00
Frankie
451845142e Rewrite message controller to fit controller pattern 2017-01-27 14:16:35 -08:00
kumavis
efcd22905a metamask - fix setupProviderConnection 2017-01-26 23:03:11 -08:00
kumavis
95b846ba07 keymanager - small clean 2017-01-26 22:31:06 -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
fc3a53ec7b background - stream disconnection fix 2017-01-26 20:18:28 -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
a06ee45404 migrations - rename 005 to stubbed _multi-keyring 2017-01-24 16:30:42 -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
5811f2ab14 Merge pull request #1051 from MetaMask/hotfix1048
hotfix - addNewAccount  - dont assume hd keyring position
2017-01-24 13:38:24 -08:00
kumavis
745fff0c80 hotfix - dont assume hd keyring position 2017-01-24 13:29:48 -08:00
kumavis
01c88bb0bd keyring-controller - cleanup 2017-01-24 13:22:26 -08:00
kumavis
8049c1fc07 keyring-controller - cleanup 2017-01-24 13:21:55 -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
Frankie
56d400b0f8 Merge branch 'master' into upToDate 2017-01-20 14:01:58 -08:00
kumavis
9c6cf90538 keyring controller - placeSeedWords should use first hdKeyring 2017-01-20 13:52:21 -08:00
Dan Finlay
9f1884145a Merge branch 'dev' into i715-AddJsonImport 2017-01-18 17:24:12 -08:00
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
0e01abdf71 Merge branch 'master' into Version-3.1.0 2017-01-18 12:25:35 -08:00
kumavis
b2c52f6b83 Merge branch 'dev' into i715-AddImportMenu 2017-01-18 11:49:15 -08:00
kumavis
3b7301488f tx-manager - use rpc-specified txHash 2017-01-18 11:33:37 -08:00
Frankie
e3650b336a Merge branch 'master' into fixSignedVsSubmitted 2017-01-18 11:30:41 -08:00
Frankie
460cbb985f Fix the dissplay for submitted transactions and the listner wating to hear when tx's were included in a block 2017-01-18 11:24:53 -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
c53932a19a Merge branch 'dev' into conversion-api-err 2017-01-17 12:08:47 -08:00
Dan Finlay
8fcade92d3 Fix bug where signed messages were not dismissed 2017-01-17 00:13:38 -08:00
Dan Finlay
7ae2e005ed Fix removeHexPrefix to stripHexPrefix 2017-01-17 00:03:56 -08:00
Dan Finlay
d5ad84aa12 Wrote fix for eth.sign 2017-01-16 23:26:48 -08:00
kumavis
82012cbbce keyring - simple - throw error if wallet not found for address 2017-01-16 11:54:59 -08:00
kumavis
e7cf0f4bdd keyring - simple - fix address generation 2017-01-16 11:49:31 -08:00
kumavis
ef81bde98b eth-store - emit update on new account add 2017-01-14 21:46:40 -08:00
kumavis
f49fb149cc background - txManager - filter txs by network 2017-01-14 21:29:46 -08:00
kumavis
c3d491a37c background - return txHash to provider-engine on done 2017-01-14 20:51:29 -08:00
Frankie
fdcf03f57d Fix the inclusion of the txFee in the meta tx object 2017-01-14 13:32:35 -08:00
Frankie
87505e1742 fix for linting 2017-01-13 18:01:50 -08:00
Frankie
580d93188c Satisfy review needs:
removed unnecessary this.query = opts.query from constructor
Created a tx error state for errors in approveTransaction
validateTxParams has been moved to tx-utils
removed "value" arg from _setTxStatus
2017-01-13 17:47:20 -08:00
Frankie
212ef0b850 fix the maxcost not being included in txMeta 2017-01-13 16:53:10 -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
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
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
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
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
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
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
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
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
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
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
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
d891869eff
First attempt at fixing errors in confirmation screen. 2016-11-14 11:19:01 -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
bfeaae69f2
Clarify functions names. Package normalize inside util file. Fix require headers. 2016-11-11 15:40:12 -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
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
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
553a6da011 Fix 787 gas buffer bug 2016-11-07 12:00:14 -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
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
4db976ae46 Don't faucet during tests 2016-11-03 11:22:10 -07:00
Dan Finlay
756f56cfee Don't faucet in development 2016-11-03 10:42:34 -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
e2f67a2cb8
Do not open MM page in dev mode. 2016-11-01 11:21:46 -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
Kevin Serrano
f9409793d8
Merge branch 'i328-MultiVault' of github.com:MetaMask/metamask-plugin into i328-MultiVault 2016-10-30 16:02:11 -07:00
Dan Finlay
18e5173f06 Now migrating old vaults to new DEN format 2016-10-29 02:29:25 -07:00
Kevin Serrano
9b4f3825e7
Merge branch 'i328-MultiVault' of github.com:MetaMask/metamask-plugin into i328-MultiVault 2016-10-28 16:19:14 -07:00
Kevin Serrano
6eb6968037
Merge branch 'master' into i328-MultiVault 2016-10-28 16:19:03 -07:00
Dan Finlay
6ec471c6dc Configure BIP44 Keychain as default one 2016-10-28 12:10:35 -07:00
Dan Finlay
2690d1acfd Added hd wallet tests 2016-10-27 17:23:26 -07:00
Dan Finlay
f02e02bef8 Add hd wallet keyring 2016-10-27 16:59:46 -07:00
Dan Finlay
c834b4f637 Merge branch 'master' into i762-RenameWalletToAccount 2016-10-26 11:31:08 -07:00
Dan Finlay
21e7331111 Fix delegate call function reference 2 2016-10-25 17:41:50 -07:00
Dan Finlay
6c469a1826 Merge branch 'i328-MultiVault' of github.com:MetaMask/metamask-plugin into i328-MultiVault 2016-10-25 17:00:19 -07:00
Dan Finlay
f9ff6cb55e Merge branch 'master' into i328-MultiVault 2016-10-25 16:59:58 -07:00
Dan Finlay
b3613232a2 Rename wallet to account
Fixes #762
2016-10-25 16:54:43 -07:00
Dan Finlay
bda64ab132 Fix delegate call analysis
Fixed reference allowing transactions to be analyzed for delegate call again.
2016-10-25 14:58:04 -07:00
Kevin Serrano
678301a20e
Phase out extra warning screen. 2016-10-25 13:24:03 -07:00
kumavis
85d03cc8fb Merge branch 'master' into i743-FixDelegateCallFlag 2016-10-24 12:24:19 -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
351c8e2086 Merge branch 'master' into i328-MultiVault 2016-10-20 14:02:24 -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
Dan Finlay
090959470b Add note about callback param to sync method warning 2016-10-19 15:16:27 -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
725d503f68
Remove unused crypto dependencies. 2016-10-19 14:06:48 -07:00
Kevin Serrano
17506fe14f
Merge in crypto. 2016-10-19 11:17:29 -07:00
Kevin Serrano
82489129d5 Merge branch 'master' into i743-FixDelegateCallFlag 2016-10-18 14:20:16 -07:00
Dan Finlay
cc23158bfe Wait for first metamask data to establish ping-pong stream.
Prevents infinite reload loops when dapps take too long to load.

Fixes #746.
2016-10-18 13:51:50 -07:00
Dan Finlay
049705004f Reproduced issue 743 in test case
This contract hex does include the value `f4`, but it was compiled from a contract with no instance of `.delegatecall`. I believe `f4` in this case is part of some other value or contract address, and `ethBinToOps` has some error in how it skips pushed data.

@kumavis
2016-10-17 14:48:25 -07:00
Dan Finlay
827d7553fc Restore hex prefix to gas price 2016-10-17 13:05:45 -07:00
Dan Finlay
91f43fa213 Increase gas estimate by 100000 wei
To prevent minor gas estimation errors, probably usually related to operating on dynamic state.

Fixes #738.
2016-10-17 12:47:37 -07:00
Kevin Serrano
bc6092e111
Merge branch 'master' into i735-xmlfix 2016-10-17 10:25:00 -07:00
Kevin Serrano
0d495372da
Lint. 2016-10-15 15:41:24 -07:00
Kevin Serrano
8a5eacd35f
Prevent XML from web3 injections. 2016-10-15 15:33:49 -07:00
Kevin Serrano
1481a3ef8e
Initial work on UI side 2016-10-15 10:48:12 -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
67eba9f542 Specify base 10 in bignumber 2016-10-13 16:04:23 -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
kumavis
465cff78c3 Merge branch 'master' into i695-dapp-reload 2016-10-12 13:49:18 -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
kumavis
88a68f732e Merge branch 'master' into i695-dapp-reload 2016-10-12 13:03:15 -07:00
kumavis
a1c3c944cf dapp reload - fixed disconnect detection via polling 2016-10-12 12:35:55 -07:00
Dan Finlay
535d832a64 Merge branch 'master' into i328-MultiVault 2016-10-12 10:58:58 -07:00
Frankie
229d95956b Merge branch 'master' into i#495CustomGasField 2016-10-11 16:19:13 -07:00
Kevin Serrano
9d267907ee
Merge branch 'tos' of github.com:MetaMask/metamask-plugin into tos 2016-10-11 15:51:26 -07:00
Kevin Serrano
5e9bc31c58
Cleanup. 2016-10-11 15:50:02 -07:00
Dan Finlay
5c9476e57d Fix bug where new vaults had no nicknames 2016-10-11 15:29:12 -07:00
Dan Finlay
ea1a934c7d Add initial KeyringController files 2016-10-11 15:12:23 -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
ed03b89e26
Move tos hash logic to build phase. Create dynamic global variables based on build. 2016-10-11 14:32:03 -07:00
Frankie
3a610f2c06 Merge branch 'master' into i#495CustomGasField 2016-10-10 18:18:07 -07:00
Frankie
e1b78da3e6 Add custom gas field to send page 2016-10-10 18:17:56 -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
7c5ebb6a53
Renamed variables to make more sense. 2016-10-07 01:41:27 -07:00
Kevin Serrano
d200ef4a10
Add missing path require statement. 2016-10-07 01:14:25 -07:00
Kevin Serrano
0a9b814f11
On update, check whether the TOS has changed using hashes. 2016-10-06 03:25:03 -07:00
Kevin Serrano
4ea3246912
Add controller functions for storing and checking TOS hashes. 2016-10-06 03:24:28 -07:00
Kevin Serrano
db06813404
Add new functions for storing TOS hashes in config manager. 2016-10-06 03:23:47 -07:00
Dan Finlay
f21170c7c3 Add tolerance for sending from mixed-case addresses.
We had to convert to lower case, and also had to modify the new provider-engine sanitizer to tolerate mixed case addresses.

Fixes #707
2016-10-05 15:26:56 -07:00
Dan Finlay
d02b2c4b4a Correct async link 2016-10-05 11:10:39 -07:00
Dan Finlay
f9eba9d7e5 Make popup a little taller
For some reason the popup was often cutting off the bottom buttons of the UI.

We should look at that more carefully later perhaps, but especially since we're considering moving off the popup, I'm just fixing it by making it taller for now.
2016-10-04 13:10: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
8ea086290b Merge branch 'master' into i#519buyButtonTxConf 2016-09-15 10:26:02 -07:00
Frankie
17eb53cfcd Change Testfaucet url 2016-09-15 10:22:09 -07:00
Frankie
8e7a9c4709 Remove unused argument 2016-09-14 12:22:39 -07:00
Dan Finlay
b7e6ec5cea Fix popup flag assignment 2016-09-14 11:57:41 -07:00
Frankie
eea77b828f Dont generate a popup notification when submiting a transaction from with in MetaMask 2016-09-14 11:31:59 -07:00
kumavis
11363b4f2a Merge pull request #655 from MetaMask/FixPortStreamEnd
Fix port stream end bug
2016-09-13 12:49:44 -07:00
Dan Finlay
e10c651db0 Fix port stream end bug
Emitting `end` or `close` was not ending the stream.

Pushing a null packet also closes a stream, so I did that instead.

Fixes #616
2016-09-13 12:07:29 -07:00
kumavis
c477411ce0 Merge branch 'library' of github.com:MetaMask/metamask-plugin into library 2016-09-13 00:37:41 -07:00
kumavis
a4cdd19843 mascara - everything but the popup bundle 2016-09-13 00:31:04 -07:00
kumavis
b4e3b83f04 popup - breakout popup-core 2016-09-12 23:28:07 -07:00
Dan Finlay
b508541935 Fix cache clearing reference for Opera
For some reason Chrome didn't mind this awful bug, but Opera caught it.
2016-09-12 22:13:52 -07:00
kumavis
ed11ab6d18 popup - further clean and comment 2016-09-12 21:43:14 -07:00
kumavis
8a5007a396 ui - remove unused currentDomain prop 2016-09-12 21:30:04 -07:00
Dan Finlay
0ea0a9813d Make cache clearning error tolerant 2016-09-12 15:26:07 -07:00
Dan Finlay
c3d1404e72 Fix clearing of account cache on vault restore 2016-09-12 15:18:32 -07:00
Dan Finlay
02b57adbf1 Linted 2016-09-12 14:34:45 -07:00
Dan Finlay
1ba83766bb Load accounts into ethStore on unlock 2016-09-12 14:33:54 -07:00
Dan Finlay
0d11eab8cb Add accounts back to metamask state 2016-09-12 14:22:06 -07:00
Dan Finlay
4a47f26e8c Fix keystore reference 2016-09-12 11:25:30 -07:00
Dan Finlay
e0e38b879f Fix some references 2016-09-12 11:21:27 -07:00
Dan Finlay
363c2a0939 Fix account unlocking
SubmitPassword was not creating a new id-management

This is because I broke up the old "createIdmgmt" method to not perform as much conditional logic.

Now the pieces are reusable and do what they should do.
2016-09-12 11:13:26 -07:00
Frankie
c37c050c8a Revert "Add new eth-lightwallet salting to vault." 2016-09-12 10:34:06 -07:00
Dan Finlay
5c1d8e299e Select first address when restoring vault
Fixes #642
2016-09-12 08:50:42 -07:00
Dan Finlay
f51a13abaf Fix ethStore pushed addresses
Needed to add hex prefix always.
2016-09-12 08:39:46 -07:00
Dan Finlay
9b861b6687 Fixed caching bug
Fixed bug where the second new vault created in an IdStore would initially return the accounts from the original store.

Also fixed some tests that were incorrect.
2016-09-10 15:45:34 -07:00
Dan Finlay
59fd86383f Correctly clear ethStore cache on new vault restore 2016-09-10 12:08:27 -07:00
Dan Finlay
6763871c41 Captured #640 in failing test 2016-09-10 11:46:50 -07:00
Dan Finlay
36dc63bc04 Add new eth-lightwallet salting to vault.
eth-lightwallet was previously not salting vault passwords, potentially making it easier to crack them once obtained.

This branch incorporates the API changes to allow us to take advantage of the new salting logic.

This is still throwing deprecation warnings, but that's actually a bug in eth-lightwallet I wrote, [I've submitted a PR for that here](https://github.com/ConsenSys/eth-lightwallet/pull/116).

Fixes #555
2016-09-09 19:42:18 -07:00
Kevin Serrano
36759b3238 Do not trigger how-to-video on anything but install. 2016-09-09 14:23:04 -07:00
Dan Finlay
01f3683dcf Only init one wallet on restore
Fixes #610
2016-09-08 19:49:28 -07:00
Dan Finlay
440e0797a7 Reverting memory leak fix
This wasn't a good enough fix, and had other repercussions.

Looking for a way to properly detect EOS, and tear down the correct stream accordingly.
2016-09-06 20:01:41 -07:00
Dan Finlay
2564c0c51c Bump changelog 2016-09-06 18:59:47 -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
Kevin Serrano
1117874953 Merge branch 'master' into first-time 2016-09-06 15:29:40 -07:00
Dan Finlay
dcc24804a1 Add negative value validation to tx approval 2016-09-06 15:23:48 -07:00
Kevin Serrano
50f0624ea8 Replace chrome with generalized browser API. 2016-09-06 10:27:11 -07:00
Kevin Serrano
9cb600e17a Redirect to video in a new tab on fresh install. 2016-09-06 10:24:31 -07:00
Vincent Serpoul
4cf12337f2 linting 2016-09-06 11:24:09 +08:00
Vincent Serpoul
76d63ec4e0 Error message more helpful 2016-09-06 11:20:22 +08:00
kumavis
891e17c44c notif - use standard err-first callback style 2016-09-02 13:29:47 -07:00
Dan Finlay
34fd23803d Merge branch 'master' into i566-NoPopupWhenOpen 2016-09-01 11:34:38 -07:00
Dan Finlay
4f614d0852 Linted 2016-09-01 11:31:39 -07:00
Dan Finlay
47b2ae1c5f Do not open popup for internally produced txs 2016-09-01 11:26:27 -07:00
kumavis
532737a101 inpage - remap ids on response 2016-08-31 15:40:05 -07:00
Dan Finlay
44545e0f47 Add metamask route to infura urls
Fixes #597

Allows metamask-specific RPC metrics.
2016-08-31 11:10:25 -07:00
Dan Finlay
fd5dad136f Remove old notification cleanup code 2016-08-29 17:33:56 -07:00
Dan Finlay
742a0e0dfe Make popup a type Edge supports 2016-08-29 17:33:35 -07:00
Dan Finlay
1b617402ec Add extra edge compatibility 2016-08-29 17:33:18 -07:00
Dan Finlay
b36b760338 Fix console.error references
Microsoft edge does not support console.error.bind, nor is that call necessary here.
2016-08-29 17:32:39 -07:00
Dan Finlay
6838027c65 Remove bind calls from console errors 2016-08-29 16:49:58 -07:00
Frankie
547894ed39 Merge branch 'master' into i#563forgotPassword 2016-08-25 16:06:54 -07:00
Frankie
11c6c63d76 Merge branch 'master' into i#563forgotPassword 2016-08-25 14:17:29 -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
Dan Finlay
793ad6b8d8 Merge branch 'master' into PopupNotifications 2016-08-24 16:59:22 -07:00
Dan Finlay
eee08457e5 Merge branch 'master' into i484PersistPendingSignatures 2016-08-24 16:15:43 -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
Kevin Serrano
c82a494b4b Implement usage of nock. 2016-08-24 13:58:50 -07:00
Kevin Serrano
d3d634d09c Added mock option to function. 2016-08-24 13:28:06 -07:00
Dan Finlay
671ca33abb Close notification on opening main UI 2016-08-23 15:44:50 -07:00
Dan Finlay
b3887ffd0a Skip popup dismissal in tests 2016-08-23 11:48:46 -07:00
Dan Finlay
983f3938da Linted 2016-08-23 11:42:54 -07:00
Dan Finlay
4fb49dfb4b Close popup even if last tx is dismissed from main UI 2016-08-23 11:40: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
Dan Finlay
49ab51d825 Merge branch 'master' into PopupNotifications 2016-08-22 20:06:59 -07:00
kumavis
c97866e367 Merge branch 'master' into kumavis-patch-1 2016-08-22 19:23:01 -07:00
kumavis
8b9999b71e inpage - cleanContextForImports fix
set to undefined instead of deleting
updates #447
2016-08-22 19:22:12 -07:00
kumavis
5c9ca21ba3 Merge branch 'master' into i390-TransactionLimit 2016-08-22 19:19:53 -07:00
kumavis
b8077983d6 inpage provider - reassign incomming ids 2016-08-22 18:59:15 -07:00
Dan Finlay
361e26fad7 Limit to one popup, re-focus on additional notifications. 2016-08-22 17:18:14 -07:00
Dan Finlay
6e1000f361 Merge branch 'master' into PopupNotifications 2016-08-22 15:03:36 -07:00
Dan Finlay
3d451ddf3e Merge branch 'master' into i390-TransactionLimit 2016-08-22 11:59:08 -07:00
Dan Finlay
7389f9d0a0 Enforce tx history limit 2016-08-18 15:40: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
Dan Finlay
dfaac78e39 Linted 2016-08-16 17:50:51 -07:00
Dan Finlay
a167bbc5a0 MVP Popup Notifications Working
I'm unsure which will be more performant: A notification using a trimmed down version of the UI, or using them both, letting the browser cache them both.

In any case, here I've modified the normal UI to recognize when it's a popup, and change the UX accordingly in a few ways:
 - Hide the menu bar
 - Hide the back button from the notifications view.
 - When confirming the last tx, close the window.
2016-08-16 17:32:54 -07:00
Dan Finlay
030bdec27a Unify notification and popup ui files 2016-08-16 16:46:44 -07:00
Dan Finlay
4ba90969ee Merge branch 'master' into PopupNotifications 2016-08-16 15:41:11 -07:00
Dan Finlay
5479509618 Set up MVP for popup-based notifications. 2016-08-16 15:39:40 -07:00
Kevin Serrano
666f3cd66c Added compliance for tests and properly accounts for N/A conversions. 2016-08-16 15:11:40 -07:00
Kevin Serrano
d43ac808ff Fix uncalled fn. 2016-08-16 14:28:32 -07:00
Kevin Serrano
6041ba1ed2 Add fallback to API failure. 2016-08-16 14:07:06 -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
Dan Finlay
e826eb932c Remove ethereum classic provider
Fixes #542
2016-08-14 18:41:05 -07:00
kumavis
0b660f4ac8 deps - extracted ensnare to module 2016-08-12 13:25:38 -07:00
Kevin Serrano
b1f68ec9cd Add global var for background. 2016-08-11 19:44:59 -07:00
Kevin Serrano
1e54a1b5e8 Merge github.com:MetaMask/metamask-plugin into logging-fix 2016-08-11 19:05:22 -07:00
Kevin Serrano
2b0c6953e2 Create global variable that changes ui logging. 2016-08-11 18:58:23 -07:00
Kevin Serrano
b8856d765d Setting defaults to production. 2016-08-11 15:42:21 -07:00
kumavis
c0f7c49105 inpage-prov - sync error - fix link 2016-08-11 14:35:55 -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
kumavis
d7dffedf48 deps - local-message-stream extracted as module post-message-stream 2016-08-11 14:04:20 -07:00
Kevin Serrano
804e8df87f Lint 2016-08-11 14:03:51 -07:00
Kevin Serrano
9904b4ef5a Add ability to hide logging messages in production. 2016-08-11 13:59:14 -07:00
kumavis
53b1334d37 clean -formatting 2016-08-11 13:31:00 -07:00
kumavis
3417c421c8 inpage-provider - remove createSyncProvider, just fail 2016-08-11 13:23:49 -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
260de6532c Get fiat numbers rendering on tooltip. Need to find way to create line breaks. 2016-08-05 12:18:44 -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
Dan Finlay
6151339840 Merge branch 'master' into AddEthClassic 2016-07-28 15:47:22 -07:00
Dan Finlay
5ceed48db9 Fix broken reference to host store.didUpdate
I'd returned this line because it seemed to fix Firefox compatibility, now it seems like that wasn't the case.  Removing it again.
2016-07-28 11:53:33 -07:00
Dan Finlay
9b43ec2278 Add eth classic to provider menu 2016-07-28 10:53:51 -07:00
Dan Finlay
2368c2993d Add platform specific builds and zip tasks (#486)
* Add platform specific folders to dist folder

* Remove gulp hacks

* Add platform specific bundling

dev and dist tasks now build into platform-specific folders within the `dist` folder.

Added tasks `gulp zip` and `gulp dist`.

`zip` builds the platform-specific folders into platform-specific bundles within the `dist` folder.

`dist` builds and then zips all at once.

* Fix chrome bundle zipping

* Fix broken reference in eth warning

* Fix but where web3.eth.accounts are not available in firefox.

* Bump changelog
2016-07-26 15:15:40 -07:00
Dan Finlay
b43b9f13e9 Fix integration tests 2016-07-25 17:47:14 -07:00
Dan Finlay
be74589f49 Fix extension tests 2016-07-25 17:33:22 -07:00
Dan Finlay
913a9e85bd Inject inpage script synchronously
Huge thanks to the Firefox team, for their help on the issue of our long-standing inpage script race condition.

http://stackoverflow.com/questions/38577656/how-can-i-make-a-firefox-add-on-contentscript-inject-and-run-a-script-before-oth

The problem is that we were injecting a `script` tag and assigning its `src` attribute, which triggers an asynchronous fetch request, and does not guarantee execution order! (That was news to me!)

Instead, I'm now assigning the `script` tag a `textContent` value of the script to inject, and it seems to fix the problem!

There is also a Firefox-only API that could solve this whole problem in an even more elegant way, so we might want to expose a code path for that solution later on:

https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Language_Bindings/Components.utils.exportFunction

Allows you to expose an object from one scope to another. There was even talk of creating a polyfill for it that does virtually what we do, message passing between contexts.
2016-07-25 16:38:07 -07:00
Dan Finlay
b07bbc14e1 Clean up extension polyfill abstraction 2016-07-25 13:46:33 -07:00
Dan Finlay
f3ea891e72 Allow page injection to look for cross-browser APIs appropriately 2016-07-25 13:28:38 -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
66941f0808 Provide date access. 2016-07-21 13:33:22 -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
Kevin Serrano
aac810b1eb Progress on config manager. Plus tests. 2016-07-21 08:47:03 -07:00
Dan Finlay
cdd7e40545 Make injected web3 fail hard on sync methods (#471)
Make injected web3 fail hard on sync methods
2016-07-20 14:54:07 -07:00
kumavis
b2afa16925 typo fix 2016-07-18 18:08:29 -07:00
kumavis
9101812552 inpage - add try/catch to cleanContextForImports 2016-07-18 17:57:23 -07:00
kumavis
97e38b4983 new tx - calculate estimatedGas and show thing in tx-details (#441)
* new tx - calculate estimatedGas and show thing in tx-details

* Bump changelog
2016-07-13 23:39:44 -07:00
Kevin Serrano
ecd0a3ec1e Add one wallet to new accounts instead of three. 2016-07-12 12:06:18 -07:00
Dan Finlay
e21a48da83 Linted 2016-07-11 20:53:26 -07:00
Dan Finlay
c4a15340e0 Add notification global for development
The background process now has a global `METAMASK_NOTIFIER` object that allows easy mocking of notification data.
2016-07-11 15:45:57 -07:00
Dan Finlay
9609593f13 Fix bug where rejected tx would not call back 2016-07-07 11:00:19 -07:00
kumavis
786a283dd2 contentscript - remove timeout before stream setup 2016-07-06 21:45:15 -07:00
kumavis
5c4c902c94 appease the linting gods 2016-07-06 20:32:36 -07:00
kumavis
7aa120e630 web3 injection - use web3 dist for faster injection 2016-07-06 20:20:40 -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
d4e400e5e5 Merge pull request #378 from MetaMask/UiDev
Ui dev
2016-06-30 21:20:40 -07:00
Dan Finlay
e55938ed15 First simple version of ui mocker 2016-06-30 18:22:16 -07:00
kumavis
cc970ccd0d fix typo 2016-06-30 15:31:36 -07:00
Dan Finlay
78f2794d39 Remove useless and buggy clearWallet function 2016-06-30 11:34:34 -07:00
Dan Finlay
6fef01c8a1 Emphasizing how weird this bug is by removing all behavior from the method. 2016-06-30 11:31:27 -07:00
Dan Finlay
f49b6ca1dc Replicated really strange bug with test 2016-06-30 11:30:46 -07:00
Kevin Serrano
3ae479f5ac Unify wording for transaction options (#369)
* Unify wording for transaction options.

* Modify changelog.

* Fix wording and spacing.
2016-06-29 15:44:37 -07:00
kumavis
6238af6330 fix bad merge 2016-06-28 13:21:25 -07:00
kumavis
4777f82ae0 Merge branch 'master' into notif2 2016-06-28 13:13:06 -07:00
kumavis
57aca116ed Merge branch 'master' into FixSomeFormatting
# Conflicts:
#	CHANGELOG.md
#	app/scripts/lib/notifications.js
2016-06-28 13:11:50 -07:00
Frankie
16566ee7db Move clearNotifications to popup.js 2016-06-28 12:57:06 -07:00
kumavis
b1d5a332c0 fix typo 2016-06-28 12:41:37 -07:00
kumavis
c82d7585b8 background - prepare state for notifcations 2016-06-28 12:36:53 -07:00
Frankie
4f4c5048bf fix #341 close notifications when oppening pop up 2016-06-28 11:57:33 -07:00
kumavis
baba719468 notif - change size for better readability 2016-06-27 16:28:07 -07:00
kumavis
36a183db94 Merge pull request #326 from MetaMask/conf-tx-refactor
Tx/Msg Conf page + notifcation refactor
2016-06-24 17:29:38 -07:00
kumavis
770528d538 clean - appease the linting machine 2016-06-24 17:27:42 -07:00
kumavis
d7d440b2c2 svg notif now work for msg signatures 2016-06-24 17:22:27 -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
Dan Finlay
b2b3f4b26b Improve refactor
Replace config-manager-singleton with one that is instantiated within the `background-controller`, and takes its persistence callbacks from its instantiated options.

Replaced class getters with more familiar get___() functions.
2016-06-24 15:52:56 -07:00
Dan Finlay
9ed3c676ec Refactored background.js controller apart from chrome + transport
Still needs linting fixes, probably bugs, this commit should be used as a draft of what a separation of these concerns might look like.
2016-06-24 13:05:21 -07:00
kumavis
eb1b9d027f breakout pending-tx-details 2016-06-24 12:48:52 -07:00
kumavis
fce748c118 contentscript - skip web3 injection if domain appears to be a pdf 2016-06-24 11:21:22 -07:00
kumavis
2808fd175b notif - remove dummy dev notif 2016-06-23 17:33:43 -07:00
kumavis
2468949cb5 some legit linting fixes 2016-06-23 16:53:45 -07:00
kumavis
3cf7bf725f svg notif - use actual txParams 2016-06-23 16:42:40 -07:00
kumavis
cc7dbace38 tx-conf add non-interactive mode for notification 2016-06-23 15:25:33 -07:00
kumavis
2495c6ea54 svg notifications - remove unneeded deps and clean code 2016-06-23 15:13:24 -07:00
kumavis
122576a790 initial svg notifications 2016-06-22 19:28:11 -07:00
Dan Finlay
ff7b980143 Fix eth sign with dennis' test input 2016-06-21 17:13:02 -07:00
Dan Finlay
3c01969fe3 Merge branch 'master' of github.com:MetaMask/metamask-plugin into AutoLint 2016-06-21 14:12:48 -07:00
Dan Finlay
8fde8a8921 Manually linted 2016-06-21 13:56:04 -07:00
Dan Finlay
ab15b4c825 Merge branch 'master' of github.com:MetaMask/metamask-plugin into AutoLint 2016-06-21 13:19:44 -07:00
Dan Finlay
a08c3bc01b Auto linted 2016-06-21 13:18:32 -07:00
kumavis
45d16d975b background - batch rpc fix for origin domain 2016-06-21 13:14:21 -07:00
Dan Finlay
7b2f061fbb Some manual fixes 2016-06-21 12:51:04 -07:00
kumavis
30da848611 id-mgmt - add missing deps 2016-06-21 00:39:27 -07:00
Dan Finlay
61459a6b51 Merge pull request #294 from MetaMask/SignFullDataNotHash
Sign full data not hash
2016-06-20 15:08:27 -07:00
Dan Finlay
7ecc028c5d Merge pull request #296 from MetaMask/i252
idStore - add DELEGATE_CALL detection
2016-06-17 10:48:44 -07:00
kumavis
c1e9444200 idStore - add DELEGATE_CALL detection 2016-06-16 19:51:34 -07:00
Dan Finlay
451be3b10e Merge branch 'master' into SignFullDataNotHash 2016-06-16 17:34:44 -07:00
Dan Finlay
e8ef8f3d2d Add confirmation status to metamask state branch 2016-06-16 16:41:33 -07:00
Dan Finlay
5d90167bcc Expose disclaimer consent to dnode API 2016-06-16 15:58:11 -07:00
Dan Finlay
0f564aa64d Add confirmation persisting to localStorage 2016-06-16 15:04:50 -07:00
Dan Finlay
408addb1b2 Fixed signing of hashes
Signing now always takes a 64 digit hex string, and returns a message signature which appropriately pads r, s, and v with zeroes.

Need to verify with Denis that this is the behavior he requires.
2016-06-16 11:46:35 -07:00
Dan Finlay
ae3993b6d7 Factor idManagement into its own module 2016-06-15 14:58:06 -07:00
Dan Finlay
37e552e95d Sign binary data not hash on eth_sign 2016-06-15 10:48:36 -07:00
Dan Finlay
7430560f7f Fix pad with zeroes usage 2016-06-14 15:41:07 -07:00
Dan Finlay
1fe383f7fb Fix signature concatenation
Fixes #280

Or at least, it should. Is this what you were requesting, @denisgranha?
2016-06-14 15:35:37 -07:00
Dan Finlay
b2b4b4dd25 Merge branch 'master' into display_network 2016-06-03 15:21:24 -07:00
Dan Finlay
d49ef1a2e5 Blockchain status now updates on availability change 2016-06-03 15:18:20 -07:00
Dan Finlay
2422c78ce2 Add network loading indication 2016-06-03 13:58:09 -07:00
kumavis
574b742409 Merge pull request #241 from MetaMask/i236
fix illegal return statement :(
2016-06-02 17:30:17 -07:00
kumavis
90f494c9a1 fix illegal return statement :( 2016-06-02 17:29:49 -07:00
kumavis
3b3c472dee Merge pull request #240 from MetaMask/RecoverSeed
reveal Vault Recovery Seed
2016-06-02 17:28:27 -07:00
Dan Finlay
07617dbb07 Add login check 2016-06-02 17:11:10 -07:00
kumavis
c04d33c6a5 hotfix for #236 - chrome notif api not avail 2016-06-02 16:59:02 -07:00
Dan Finlay
9cc04be5e4 Added seed word recovery to config screen 2016-06-02 16:52:18 -07:00
kumavis
9640a6c543 idStore - track network failure 2016-05-30 08:22:19 -10:00
kumavis
092c191c1f background + notifications - add origin to message signatures 2016-05-25 18:03:16 -07:00
Dan Finlay
9f82672252 Merge pull request #219 from MetaMask/i218
Append dapp origin to RPC/txParams
2016-05-25 17:43:25 -07:00
kumavis
59e98751b2 notifications - show tx origin 2016-05-25 17:34:31 -07:00
kumavis
821648fad7 background - append origin to rpc payload and sig request 2016-05-25 17:28:20 -07:00
kumavis
a532a7f863 notifications - remove timeout for signature requests 2016-05-25 11:54:38 -07:00
kumavis
1d23bf8122 signTx+Msg - show Account Unlock Request when locked 2016-05-24 14:59:33 -07:00
kumavis
9aea88da32 multiplex - rename control to autoreload 2016-05-22 18:21:34 -07:00
kumavis
2a62d63b4f deps - use web3-stream-provider module 2016-05-22 18:02:27 -07:00
kumavis
00e9f3c6ae inpage - refactor for modularity 2016-05-22 15:23:16 -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
21dd806b27 Corrected config path 2016-05-19 17:13:33 -07:00
kumavis
a703706cb1 sync rpc fix 2016-05-19 16:53:16 -07:00
kumavis
dd46ce79fd Merge branch 'master' into eyeballs 2016-05-13 18:15:07 -07:00
Dan Finlay
e29bac12b8 Move infura rpcs to https 2016-05-13 15:29:58 -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
8bfa40d2d3 Move all users to new scalable backend 2016-05-11 13:10:54 -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
kumavis
aa2816010d inpage - automatic dapp reload 2016-05-05 16:04:43 -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
kumavis
9fcf07db6b inpage - add and remove 'define' from global context. updates #126 2016-04-29 15:38:24 -07:00
kumavis
82983e5eff idmgmt - eth_sign support + notifications 2016-04-28 14:16:24 -07:00
kumavis
d562b86f7a tx list - bug fix - fixes #143 2016-04-28 11:48:39 -07:00
Dan Finlay
9b524b4f28 Merge pull request #152 from MetaMask/FilterTransactionList
Filter transaction list for current network
2016-04-27 18:46:12 -07:00
Dan Finlay
d017c28441 Filter transaction list for current blockchain network
When starting up, we now create a `web3` inside the `background.js` process, which we pass to the `idStore` and ask for the current `network`.

We include the `network` on `app.metamask.network` in the state object.

We re-request the network when changing provider.

We filter the transaction list for transactions that match the current network.
2016-04-27 18:04:33 -07:00
Dan Finlay
29718a82b6 Record current network on each persisted transaction 2016-04-27 15:29:10 -07:00
kumavis
c66ac13cc9 provider - use provider-engine zero 2016-04-26 11:36:23 -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
ab9db44f4a Add migration to actual migration array, fix test 2016-04-22 13:59:42 -07:00
Dan Finlay
4a1dd26fc9 Corrected migration order 2016-04-22 13:36:04 -07:00
Dan Finlay
875a0731dd Deprecate rawtestrpc.metamask.io
This migration will move users who have their clients configured to point at `rawtestrpc.metamask.io` to point at our new test-net RPC, `testrpc.metamask.io`.
2016-04-22 13:32:56 -07:00
Dan Finlay
532edf670e Store metamaskId on metaTx instead of getTxWithParams method. 2016-04-20 09:29:37 -07:00
Dan Finlay
f79601ee58 Generate explorer link to match current blockchain 2016-04-19 18:21:28 -07:00
Dan Finlay
b8c57433ce Add completed tx hash to persisted tx log 2016-04-19 17:44:11 -07:00
Dan Finlay
f72887a0a2 Fix config manager method 2016-04-19 17:33:37 -07:00
Dan Finlay
901d23a029 Add extra tx methods to configManager 2016-04-19 17:32:09 -07:00
Dan Finlay
7291e3f1b3 Merge branch 'AddPersistentTransactionLog' 2016-04-18 17:44:10 -07:00
Dan Finlay
cfdad0f9fe Emit transaction list to UI 2016-04-18 17:19:58 -07:00
Dan Finlay
dc043b7f9b Fix method of emitting unconfirmedTxs to UI 2016-04-18 17:19:20 -07:00
Dan Finlay
a441e635bd Persist transactions to config-manager
Transactions are now stored, and are never deleted, they only have their status updated.

We can add deleting later if we'd like.

I've hacked on emitting the new unconfirmedTx key to the UI in the format it received before, I want Aaron's opinion on where I should actually do that.
2016-04-18 16:39:35 -07:00
kumavis
e949e6b118 contentscript - append inpage as first child 2016-04-18 11:49:06 -07:00
kumavis
d6114292d0 inpage - use publicConfigStore for selectedAccount and sync provider 2016-04-15 13:04:17 -07:00
kumavis
d840e81a10 wiring - trusted-untrusted features + remote-store 2016-04-15 12:12:04 -07:00
kumavis
907e39e5ab wiring - move to obj-multiplex 2016-04-14 21:22:04 -07:00
kumavis
1e989fb8a4 inpage - defaultAccount - fix bug 2016-04-14 21:11:35 -07:00
kumavis
38582f6aae web3 - set defaultAccount 2016-04-14 11:31:15 -07:00
kumavis
2c47fb14e0 clean - inpage remove unused xhr mitm code 2016-04-14 10:28:57 -07:00
Dan Finlay
d814a45dff Moved UI into repo with its own dependency stack 2016-04-13 15:28:44 -07:00
Dan Finlay
d4e918cc77 Point rawtestrpc at new testrpc 2016-04-12 14:48:48 -07:00
Dan Finlay
be4818564a Migrate etherscan configs to our new production RPC. 2016-04-12 14:41:58 -07:00
Dan Finlay
eddaf71e31 Migrate etherscan providers to our RPC 2016-04-12 14:16:39 -07:00
kumavis
266e3c7ddb popup - fix web3 plumbing 2016-04-08 14:24:10 -07:00
Dan Finlay
874d9c1ab8 Add ability to export private keys 2016-04-06 12:01:10 -07:00
Dan Finlay
2d6a82e36d Add mayBeFauceting boolean to account object
This boolean is computed from these requirements:

 - The user is on the testnet rpc
 - The account is index 0

The UI is responsible for checking the account balancing and indicating if fauceting is indeed pending or not.
2016-04-04 15:35:41 -07:00
Dan Finlay
b134bb4374 Support undefined address selection
If `setSelectedAddress` is called on the IdStore, the first account is automatically selected.
2016-04-04 12:13:30 -07:00
kumavis
448925805c Merge pull request #84 from MetaMask/revert-83-revert-82-EtherscanProvider
Etherscan provider
2016-04-02 11:09:14 +08:00
Dan Finlay
685711aca4 Call back with wallet restore errors 2016-04-01 14:02:02 -07:00
Dan Finlay
b3e5fc2cf6 Revert "Revert "Etherscan provider"" 2016-03-31 16:32:35 -07:00
Dan Finlay
3314aad9cc Revert "Etherscan provider" 2016-03-31 16:32:06 -07:00
Dan Finlay
091938a2c5 Add custom zeroclient that supports etherscan (still not working)
The Etherscan Subprovider is not providing some methods we need, such as `eth_getCode`. I'll probably be enhancing it after lunch.
2016-03-31 12:30:27 -07:00
Dan Finlay
d9cadb9efb First naive pass at implementing etherscan provider (not working)
Committing and pushing to get feedback.
2016-03-31 11:40:55 -07:00
Dan Finlay
f5105293bf Do not cache the seed, retrieve it from the decrypted wallet 2016-03-31 10:47:40 -07:00
Dan Finlay
ea7b891729 Remove unnecessary abstraction 2016-03-31 10:24:39 -07:00
Dan Finlay
b81e2ccb7e Removed logs 2016-03-30 19:26:05 -07:00
Dan Finlay
c2046be0d8 Made configuration migrateable
Abstract all configuration data into a singleton called `configManager`, who is responsible for reading and writing to the persisted storage (localStorage, in our case).

Uses my new module [pojo-migrator](https://www.npmjs.com/package/pojo-migrator), and wraps it with the `ConfigManager` class, which we can hang any state setting or getting methods we need.

By keeping all the persisted state in one place, we can stabilize its outward-facing API, making the interactions increasingly atomic, which will allow us to add features that require restructuring the persisted data in the long term without having to rewrite UI or even `background.js` code.

All the restructuring and data-type management is kept in one neat little place.

This should make it very easy to add new configuration options like user-configured providers, per-domain vaults, and more!

I know this doesn't seem like a big user-facing feature, but we have a big laundry list of features that I think this will really help streamline.
2016-03-30 19:15:49 -07:00
Dan Finlay
e5bb94b5c7 Created etherscan provider (untested) 2016-03-29 14:31:25 -07:00
Dan Finlay
9bdc169712 Fix signing bug 2016-03-29 12:50:47 -07:00
Dan Finlay
d6dee7e748 Add auto-fauceting
When first creating a vault, the first account is submitted to our `rawtestrpc` faucet, receiving `1.337` ether within 15-30 seconds.
2016-03-29 12:21:46 -07:00
Dan Finlay
39160d3025 Remove argument destructuring 2016-03-29 11:12:07 -07:00
Dan Finlay
1c69edff45 Return updated state after restoring vault 2016-03-28 12:35:18 -07:00
Dan Finlay
742fd7caa8 Remove unused reference 2016-03-25 15:47:24 -07:00
Dan Finlay
f05ad130c5 Cleaned up how we pass hdString to Lightwallet 2016-03-25 15:38:08 -07:00
Dan Finlay
a2c7ccafa6 Implemented BIP44 compliance test.
Also added the hdPath that Christian had told me to our calls to the LightWallet, but this does not seem to have made us generate the same accounts as `testrpc` yet.
2016-03-25 14:51:19 -07:00
Dan Finlay
37fd45e5b7 Convert to bip44 hdTrees
Added initial test just to verify we can recover the accounts we generate in this way.

Still need to add compliance test to make sure this interoperates with testrpc's new mnemonic flag.
2016-03-25 12:41:18 -07:00
Dan Finlay
d6aa78e647 Gave lock a callback for better loading indication 2016-03-24 11:05:42 -07:00
Dan Finlay
55f8ae4edd Add seed word caching during confirmation screen
In order to persist the seed word page until the user clicks the confirmation button, we need to store the seed words in localStorage.

To simplify this process I've also reorganized some of the account manager code, broken up one large function into many smaller functions, and created a new class for the IdMgmt object.

Again, sorry such a big refactor in one commit, but I really had to break it down to work through it.
2016-03-24 10:32:50 -07:00
kumavis
ec7372ef51 stream-provider - addd isConnected method 2016-03-21 11:11:56 +08:00
kumavis
2197750510 add vault recovery 2016-03-15 13:39:12 -07:00
kumavis
b8e36f41a2 notifications - add tx confirm+cancel buttons 2016-03-11 17:13:48 -08:00
kumavis
4ac689c1e3 unsig tx - show notification on new tx 2016-03-10 15:39:31 -08:00
kumavis
1ffc98917d plumbing - fix rpc feedback loop bug 2016-03-10 13:04:45 -08:00
kumavis
18c4f18c71 popup.js - set web3 on global 2016-03-10 12:30:44 -08:00
kumavis
f64e4a518b plumbing - pipe web3 to the popup.js 2016-03-10 12:28:42 -08:00
kumavis
4c6b2fb03f config - add config starting with rpc endpoint 2016-03-08 14:33:01 -08:00
kumavis
099bb6e63d deps - bump ui and provider-engine 2016-03-08 13:27:38 -08:00
kumavis
1c8049520d inpage - web3 class injection 2016-03-05 15:03:43 -08:00
kumavis
cbde4157aa idStore - normalize hex format before signing 2016-03-05 14:25:33 -08:00
kumavis
f52f4d460e build - add gulp build process 2016-03-02 23:08:28 -08:00
kumavis
6df64970aa tx sig - it works again 2016-03-02 23:08:28 -08:00
kumavis
92987b4407 background - use provider-engine zero client 2016-03-02 23:08:28 -08:00
kumavis
4b8be94f51 web3-provider - add nonce tracker 2016-03-01 12:27:08 -08:00
Simon de la Rouviere
bab37466d7 Fix issue with raw transaction injected. 2016-02-22 22:10:25 +02:00
kumavis
2c719db940 idStore - add createNewVault 2016-02-17 00:55:57 -08:00
kumavis
8696a613c9 logs - silence log 2016-02-15 14:47:43 -08:00
kumavis
9da4094db6 idStore - add isInitialized flag 2016-02-15 14:44:13 -08:00
kumavis
5fbaed23c6 internal rpc - add isMetamaskInternal flag 2016-02-15 14:43:39 -08:00
kumavis
dbd3b8f76f disable localhost interception 2016-02-15 11:03:50 -08:00
kumavis
519d4b1192 logging - add localhost interception message 2016-02-15 11:03:07 -08:00
kumavis
a487c8a952 intercept xhrs for localhost:8545 2016-02-14 21:53:54 -08:00
kumavis
7bbb624540 popup - add current domain tracking 2016-02-12 20:01:48 -08:00
kumavis
970e9e2113 idStore - seperate signTx and sendTx 2016-02-12 17:57:10 -08:00
kumavis
bc2ec9f464 idStore - cancel tx 2016-02-12 12:55:20 -08:00
kumavis
f8c5b90320 idmgmt - refactor 2016-02-10 17:44:46 -08:00
kumavis
435179856f idmgmt - emit update on new tx 2016-02-10 11:47:05 -08:00
kumavis
066996396f context wiring - handle and log errors 2016-02-10 11:46:13 -08:00
kumavis
ebf60843fa sync - slow account polling to 4s 2016-02-08 17:13:30 -08:00
kumavis
9c17c9aca6 clean - silence logging 2016-02-08 17:12:53 -08:00
kumavis
b239bacd36 rpc - sync - add support for sync eth_accounts + eth_coinbase 2016-01-31 00:29:06 -08:00
kumavis
c46eb81611 rpc - sync - add warning for unsupported eth_accounts 2016-01-30 23:35:52 -08:00
kumavis
cd4d76101c logging - silence rpc response logging 2016-01-30 23:16:47 -08:00
kumavis
c2eb3f6524 add basic sync support 2016-01-30 23:15:38 -08:00
kumavis
2aa38ac4b4 util - stream-provider - fix batch 2016-01-30 23:14:58 -08:00
kumavis
a91d576213 deps - bump metamask-provider 2016-01-27 22:42:50 -08:00
kumavis
48d77c250f tx-signing works 2016-01-18 17:05:46 -08:00
kumavis
4922aa5b8b add pending txs but just autosign 2016-01-17 23:31:49 -08:00
kumavis
2f079dfdd1 refactor - push data to popup 2016-01-17 01:27:25 -08:00
kumavis
e50e189443 wallet sync fix 2016-01-16 23:38:40 -08:00
kumavis
722acdad35 breakout idmgmt 2016-01-16 16:22:54 -08:00
kumavis
7347a66eb0 integrate metamask-ui with id mgmt 2016-01-15 02:03:42 -08:00
kumavis
3eaf027e30 migrate to new ui + provider 2016-01-14 18:26:54 -08:00
kumavis
709d93b5a1 start of extension popup window 2015-12-22 13:07:30 -08:00
kumavis
9f7b00f10a clean - remove debugger 2015-12-22 12:32:50 -08:00
kumavis
8f3deae986 rpc - move to main chain 2015-12-20 16:50:16 -08:00
kumavis
09644408c2 testing continues 2015-12-20 16:22:18 -08:00
kumavis
72a747165d migrate to ProviderEngine zero-client 2015-12-18 22:05:16 -08:00
kumavis
2ecea44f92 major - migrate to blockapps-web3 2015-10-09 23:14:18 -07:00
kumavis
6bf98c6923 load from storage on start and export unsignedTxs on remote connect 2015-08-01 23:36:03 -07:00
kumavis
dcfd89db1b store unconfirmedTxs in chrome sync storage 2015-08-01 22:23:33 -07:00
kumavis
fd9871acae builds smoothly + forwards txs to extension 2015-08-01 20:50:29 -07:00
kumavis
cc1bb92f9d build overhaul + basic structure 2015-08-01 16:33:31 -07:00
kumavis
d352a6c7d8 metamask provider skeleton 2015-07-31 23:05:04 -07:00
kumavis
500a95a704 init commit 2015-07-31 18:38:02 -07:00