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

451 Commits

Author SHA1 Message Date
kumavis
fc3a53ec7b background - stream disconnection fix 2017-01-26 20:18:28 -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
74dc20bdf1 Merge branch 'dev' into obs-store2 2017-01-21 10:06:50 -08:00
Dan Finlay
c53932a19a Merge branch 'dev' into conversion-api-err 2017-01-17 12:08:47 -08:00
kumavis
ef81bde98b eth-store - emit update on new account add 2017-01-14 21:46:40 -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
kumavis
29e83d71a8 background - handle tx finalization in controllers instead of provider-engine 2017-01-13 02:00:11 -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
kumavis
89a5eff270 currency conversion - less noisy error 2017-01-11 14:40:35 -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
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
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
kumavis
616721f47d inpage-provider - add isMetaMask
adds `metamaskInpageProvider.isMetaMask === true`
Fixes #727
2017-01-02 12:20:09 -08:00
Frankie
fa3e708f34 Merge branch 'dev' into TxManager 2016-12-23 12:48:36 -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
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
Frankie
6f7c23fd28 Merge branch 'dev' into TxManager 2016-12-21 14:31:07 -08:00
Frances Pangilinan
6e78494846 First pass at revision requests 2016-12-21 13:41:32 -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
Kevin Serrano
e9bea92ac3
Lint. 2016-12-19 14:55:52 -08:00
Frances Pangilinan
090935f90a Create a TxManager 2016-12-14 12:55:41 -08:00
Dan Finlay
7b9749e30c Got bad account detection working and added to state 2016-12-09 12:24:25 -08:00
Dan Finlay
ab9e15b782 Mostly added bad account detection
Currently riddled with logs, because the migrator is inexplicably returning before generating the new style accounts for comparison.
2016-12-08 14:22:02 -08:00
Dan Finlay
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
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
kumavis
c0a2eb146a rpc - add sync uninstallFilter support 2016-11-23 10:48:20 -08:00
Dan Finlay
05c8658ff3 Fix new encryptor migration logic 2016-11-22 17:41:54 -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
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
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
9fb96128e6 Rename idStoreMigrator method for clarity
Fixes #841
2016-11-21 19:52:56 -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
Dan Finlay
ce1c5eb75a Update migration code for new hd wallet param name 2016-11-18 11:37:07 -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
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
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
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
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
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
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
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
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
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
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
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
6eb6968037
Merge branch 'master' into i328-MultiVault 2016-10-28 16:19:03 -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
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
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
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
17506fe14f
Merge in crypto. 2016-10-19 11:17:29 -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
1481a3ef8e
Initial work on UI side 2016-10-15 10:48:12 -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
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
Frankie
229d95956b Merge branch 'master' into i#495CustomGasField 2016-10-11 16:19:13 -07:00
Dan Finlay
5c9476e57d Fix bug where new vaults had no nicknames 2016-10-11 15:29:12 -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
7c5ebb6a53
Renamed variables to make more sense. 2016-10-07 01:41:27 -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
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
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
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
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
Dan Finlay
01f3683dcf Only init one wallet on restore
Fixes #610
2016-09-08 19:49:28 -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
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