1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-27 12:56:01 +01:00
Commit Graph

305 Commits

Author SHA1 Message Date
kumavis
3df9ce9809 tests - txManager - add getNetwork fn to fixture txManager 2017-01-14 21:52:09 -08:00
Frankie
87505e1742 fix for linting 2017-01-13 18:01:50 -08:00
kumavis
29e83d71a8 background - handle tx finalization in controllers instead of provider-engine 2017-01-13 02:00:11 -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
2019c02fc0 test - fix tests from obs-store 2017-01-11 19:31:42 -08:00
kumavis
8012ede126 background - introduce ObservableStore 2017-01-11 19:31:21 -08:00
kumavis
bd382f4705 tests - add fetch polyfill 2017-01-10 12:39:01 -08:00
Dan Finlay
2dbbc0dce7 Merge remote-tracking branch 'origin/kumavis-readme-gource' into RevertTxManager 2017-01-02 17:32:51 -08:00
Dan Finlay
5e8a344f97 Correct getState test to be async 2016-12-23 18:40:36 -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
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
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
b3533f9bf7 Fixed another lostAccount test 2016-12-21 10:49:56 -08:00
Dan Finlay
afcad53ef9 Refine a lostAccount test 2016-12-20 16:11:49 -08:00
Frances Pangilinan
4910e2f9bd remove network Id 2 from explorer link and Add network Id 3 2016-12-20 13:49:22 -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
77d2deb176 Merged master into dev 2016-12-19 13:37:27 -08:00
kumavis
73998feeb2 move notice code from metamask-controller + config-manager, in to notice-controller 2016-12-16 12:44:47 -08:00
kumavis
4c390a6221 clean - code style 2016-12-16 11:58:15 -08:00
Kevin Serrano
8819475a2e Add ability to show notices to user & get confirmation.
Implement generation of markdown for notice files.
Create npm command. Enhance notice generation.
Add test files to test multiple notices.
Add basic markdown support to notices.
Interval checks for updates.
Add extensionizer and linker
Add terms and conditions state file
Add link support to disclaimer.
Changelog addition.
2016-12-16 10:44:52 -08:00
Frances Pangilinan
5aba096bd1 add Test for txManager. As well as fix tests to account for txManager. 2016-12-14 12:56:53 -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
c93227ea72 Cranked up CI test suite wait duration to alleviate their nondeterminism for now 2016-12-07 16:55:15 -08:00
Dan Finlay
fe01ceb857 Remove .only from unit test suite 2016-12-07 16:32:49 -08:00
Dan Finlay
1880cda9b9 Fix vault encrypting & unlocking bug
This is only a bug in dev, but was committed yesterday.

Sometimes the `encrypt` method was being passed values other than the password as the encryption key, leading to un-unlockable vaults.

To find this, and avoid it for all time hereafter, I added several more steps to our oft-neglected integration test suite, which now fully initializes a vault, locks it, and unlocks it again, to make sure all of those steps definitely work always.
2016-11-30 19:36:24 -08:00
Dan Finlay
049e351c9d Add integration tests for logging out and back in 2016-11-30 16:01:51 -08:00
Dan Finlay
fe533bbef2 Add more integration tests
Integration tests now:
- Scroll through terms
- Accept terms
- Confirm seed phrase
- Verify account detail screen
2016-11-30 15:18:26 -08:00
Dan Finlay
549bbfd05f Made integration test create a first vault 2016-11-30 14:58:40 -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
9f67974133 Fix last async keyring test 2016-11-23 14:39:35 -08:00
Dan Finlay
230a0ab876 Fix more keyring asyncifying tests 2016-11-23 11:58:34 -08:00
Dan Finlay
600f5c31db Mostly got async keyringController tests passing 2016-11-23 00:23:41 -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
358440384c Fix vault migration unit test 2016-11-22 16:07:35 -08:00
Dan Finlay
607a474c3f Improve vault migration unit test 2016-11-22 16:05:37 -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
e14efa8f17 Merge pull request #858 from MetaMask/i842-WaitForSeedWord
I842 wait for seed word
2016-11-22 16:18:43 -05:00
Dan Finlay
a67b4d7131 Fix etherscan link generation test 2016-11-22 12:54:27 -08: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
8261cf232d
Merge branch 'dev' into dev-cleanup 2016-11-22 10:50:15 -08:00
Dan Finlay
60afc41bb6 Fix keyring test 2016-11-21 19:47:45 -08:00
Dan Finlay
e2a9e1cd4a Unify test wording 2016-11-21 19:45:05 -08:00
Dan Finlay
694f34ae9a Add temporary morden explorer link support 2016-11-21 19:43:59 -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
Dan Finlay
ecfda5bcc5 Revert premature link test fix 2016-11-21 19:39:19 -08:00
Dan Finlay
daec4d5c36 Fix ropsten link test 2016-11-21 19:19:34 -08:00
Dan Finlay
be6b7b496a Fixed account link test for ropsten network 2016-11-21 19:18:46 -08:00
Kevin Serrano
f5b0795ac5
change all instances of selectedAddress to selectedAccount. 2016-11-21 16:21:16 -08:00
Kevin Serrano
9123e70434
Remove entropy from encryption and project. 2016-11-21 15:49:03 -08:00
Kevin Serrano
3cd839d27f
Create failing test to check submitPassword in keyringController. 2016-11-18 15:40:12 -08:00
Kevin Serrano
a4666de0ce
Minimize repeated code. 2016-11-15 13:31:22 -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
92edc63d6e
Add idStore tests again. 2016-11-14 16:23:52 -08:00
Kevin Serrano
eea3bfb0b3
Rename n variables to numberOfAccounts inside of test suite. Remove idStore tests. 2016-11-11 17:06:37 -08:00
Frankie
f665b779cb Merge branch 'master' into i328-MultiVault 2016-11-10 16:53:47 -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
93c0a6826a Fix integration test suite 2016-11-07 14:11:01 -08:00
Dan Finlay
798e057854 Fix nickname test 2016-11-07 12:19:56 -08:00
Dan Finlay
7b420c6e15 Fix BN reference 2016-11-07 12:18:02 -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
fff5a6765e Added failing test for #787 2016-11-07 11:25:23 -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
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
185396ff08 Fix dual vault creation bug 2016-11-02 16:35:46 -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
Dan Finlay
18e5173f06 Now migrating old vaults to new DEN format 2016-10-29 02:29:25 -07:00
Dan Finlay
331d9c91ee Add vault migration test 2016-10-28 13:26:14 -07:00
Dan Finlay
2690d1acfd Added hd wallet tests 2016-10-27 17:23:26 -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
Kevin Serrano
b3cb3e9ec6
Remove debugger statement. 2016-10-25 13:24:57 -07:00
Kevin Serrano
678301a20e
Phase out extra warning screen. 2016-10-25 13:24:03 -07:00
kumavis
3af3565000 test - fix delegate-call test 2016-10-24 16:12:44 -07:00
kumavis
85d03cc8fb Merge branch 'master' into i743-FixDelegateCallFlag 2016-10-24 12:24:19 -07:00
Dan Finlay
152419a79b Merge branch 'master' into i328-MultiVault 2016-10-21 17:58:18 -07:00
Dan Finlay
626b52d24a Fix bug in new KeyringController vault restoring logic. 2016-10-21 13:11:30 -07:00
Dan Finlay
ee73e373a0 Create new vault before each keyringController unit test 2016-10-21 12:26:56 -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
Frankie
d4c0a4949b Clean up tests 2016-10-20 12:26:35 -07:00
Dan Finlay
0deed17752 Fix tests 2016-10-20 12:07:53 -07:00
Frankie
aa4746f4c7 Add test and ability for isHex to handle hex strings with hex-prefix 2016-10-19 19:35:44 -07:00
Frankie
4366f72fe1 Add unit test for isHex and add to CHANGELOG.md 2016-10-19 15:22:56 -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
Dan Finlay
535d832a64 Merge branch 'master' into i328-MultiVault 2016-10-12 10:58:58 -07:00
Kevin Serrano
5c0c370fe4
Remove comments. 2016-10-11 15:52:44 -07:00
Kevin Serrano
5e9bc31c58
Cleanup. 2016-10-11 15:50:02 -07:00
Dan Finlay
ea1a934c7d Add initial KeyringController files 2016-10-11 15:12:23 -07:00
Kevin Serrano
e20e0f661d
Fix integration test. 2016-10-05 19:49:53 -07:00
Kevin Serrano
c0d6dcff00
Rewritten to react standards. Way easier. 2016-10-05 02:42:19 -07:00
Dan Finlay
cf31e19029 Remove logs 2016-09-14 18:24:52 -07:00
Dan Finlay
0626adc0b4 Merge pull request #669 from MetaMask/Version-2.12.1
Version 2.12.1
2016-09-14 18:23:12 -07:00
Dan Finlay
c3d1404e72 Fix clearing of account cache on vault restore 2016-09-12 15:18:32 -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
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
5e60b2f0c4 Correct assertion for BIP32 compliance
According to [axic's work here](https://github.com/MetaMask/metamask-plugin/issues/640#issuecomment-246133672), MetaMask is generating the correct address, so I've corrected that assertion accordingly.
2016-09-10 12:57:11 -07:00
Dan Finlay
b1590f179e Remove log 2016-09-10 12:39:50 -07:00
Dan Finlay
cdd367dc39 Add more bip44 assertions 2016-09-10 12:38:04 -07:00
Dan Finlay
8922ae1a55 Made bip44 assertions easier to add to 2016-09-10 12:35:52 -07:00
Dan Finlay
1b77d5300b Clean up tests 2016-09-10 12:15:05 -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
dcc24804a1 Add negative value validation to tx approval 2016-09-06 15:23:48 -07:00
Dan Finlay
e4e7489dd9 Add test for Edge compatibility 2016-08-29 17:34:12 -07:00
Kevin Serrano
af375d7f8a Naming issue. 2016-08-24 14:02:51 -07:00
Kevin Serrano
c82a494b4b Implement usage of nock. 2016-08-24 13:58:50 -07:00
Kevin Serrano
061fec1849 Now calls API functions with mock options. 2016-08-24 13:28:24 -07:00
Dan Finlay
3d451ddf3e Merge branch 'master' into i390-TransactionLimit 2016-08-22 11:59:08 -07:00
Frankie
7e3b0aca62 Add test 2016-08-19 17:30:19 -07:00
Dan Finlay
bd9d89826c Added view more button to transaction list
Visible at the end of the transaction list, or if no transactions are listed, displayed right after the `No Transactions` message.
2016-08-18 16:23:12 -07:00
Dan Finlay
7389f9d0a0 Enforce tx history limit 2016-08-18 15:40:56 -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
daba8e87bb Remove extra test. 2016-08-16 10:50:03 -07:00
Kevin Serrano
479abadaa7 Merge branch 'master' into usd-conversion 2016-08-04 13:26:03 -07:00
Kevin Serrano
0ae5305822 Merge branch 'master' into usd-conversion 2016-07-26 10:07:02 +09:00
Dan Finlay
be74589f49 Fix extension tests 2016-07-25 17:33:22 -07:00
Dan Finlay
11dfb8e869 Ui testing (#481)
* Add UI Testing Framework and Simple UI Test

Added a Testem configuration that launches a Qunit page with an iFrame that builds and loads our mock-dev page and can interact with it and run tests on it.

Wrote a simple test that accepts the terms and conditions and transitions to the next page.

I am not doing any fancy redux-hooks for the async waiting, I've simply added a `tests/integration/helpers.js` file with a `wait()` function that returns a promise that should wait long enough.

Long term we should hook into the app lifecycle by some means for testing, so we only wait the right amount of time, and wait long enough for slower processes to complete, but this may work for the time being, just enough to run some basic automated browser tests.

* Separate UI tests from normal unit test suite

* Add UI tests to CI test script

* Add testem and phantom to circleCI pre-script

* Fix circle pre script

* Move pre scripts to dependencies key

* Remove phantom from build deps

* Fix testem runner page

* Add promise polyfill for PhantomJS

* Skip PhantomJS in testem

* Run browser tests in parallel

* Fix promise usage?

* Correct skip usage
2016-07-25 16:42:39 -07:00
Dan Finlay
6b3ffc9e5d Fix promise usage? 2016-07-22 17:08:17 -07:00
Dan Finlay
f12394f7d5 Skip PhantomJS in testem 2016-07-22 17:02:59 -07:00
Dan Finlay
9f4f5f4bce Add promise polyfill for PhantomJS 2016-07-22 16:58:35 -07:00
Dan Finlay
b939da8508 Fix testem runner page 2016-07-22 16:52:01 -07:00
Dan Finlay
2e61102147 Separate UI tests from normal unit test suite 2016-07-22 16:20:43 -07:00
Dan Finlay
b724dd009c Add UI Testing Framework and Simple UI Test
Added a Testem configuration that launches a Qunit page with an iFrame that builds and loads our mock-dev page and can interact with it and run tests on it.

Wrote a simple test that accepts the terms and conditions and transitions to the next page.

I am not doing any fancy redux-hooks for the async waiting, I've simply added a `tests/integration/helpers.js` file with a `wait()` function that returns a promise that should wait long enough.

Long term we should hook into the app lifecycle by some means for testing, so we only wait the right amount of time, and wait long enough for slower processes to complete, but this may work for the time being, just enough to run some basic automated browser tests.
2016-07-22 15:43:30 -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
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