1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-18 15:33:21 +01:00
Commit Graph

300 Commits

Author SHA1 Message Date
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
Zac Mitton
7aa09894df icon fox eyes changed to navy blue everywhere 2016-06-15 14:40:57 -04: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
761498cdbf Add vlad icons to image folder 2016-06-14 12:43:30 -07:00
Dan Finlay
1d3b8b4e8f Remove old lock images 2016-06-14 12:42:14 -07:00
Dan Finlay
1324d15b11 Version 2.3.1 2016-06-09 15:25:11 -07:00
Dan Finlay
8dcba9a606 Version 2.3.0 2016-06-06 11:22:04 -07:00
Zac Mitton
30427c4903 switched to icons instead of pictures 2016-06-06 14:06:06 -04: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
Dan Finlay
01e63d41ed Version 2.2.0 2016-06-02 11:47:31 -07:00
Zac Mitton
924a65c956 network status getting set upon start-up and showing in title bar but not auto-updating yet 2016-06-01 16:30:14 -07:00
kumavis
9640a6c543 idStore - track network failure 2016-05-30 08:22:19 -10:00
Dan Finlay
6363ddbe9b Correct version number 2016-05-26 10:17:45 -07:00
Dan Finlay
7f4929a2d2 Bump version 2016-05-26 10:15:01 -07: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
Dan Finlay
b6a2d388f7 Merge pull request #207 from MetaMask/i168
signTx+Msg - show Account Unlock Request when locked
2016-05-24 15:00:48 -07:00
kumavis
1d23bf8122 signTx+Msg - show Account Unlock Request when locked 2016-05-24 14:59:33 -07:00
Dan Finlay
a439e04ed4 Merge branch 'dev' of github.com:MetaMask/metamask-plugin into dev 2016-05-23 14:38:13 -07:00
Dan Finlay
33f9aabf3e Version 2.0.0 2016-05-23 12:34:01 -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
kumavis
7f77fe1a79 Version 1.8.4 2016-05-13 18:09:36 -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
f2676d1241 Merge branch 'master' into eyeballs 2016-05-13 00:20:40 -07:00
kumavis
57d6ad2a3c Version 1.8.3 2016-05-12 03:03:27 -07:00
Dan Finlay
4e9b829179 Merge branch 'master' into eyeballs 2016-05-11 14:16:53 -07:00
Dan Finlay
c7a491d7ac Version 1.8.2 2016-05-11 13:54:46 -07:00
Dan Finlay
8bfa40d2d3 Move all users to new scalable backend 2016-05-11 13:10:54 -07:00
kumavis
c2c33ff6cd ui - redesign - app header + accounts selection 2016-05-10 16:52:07 -07:00
Dan Finlay
39403eb794 Version 1.8.1 2016-05-10 15:45:46 -07:00
Dan Finlay
d8bee4f599 Make default providers more easiliy configurable for metamask devs
No longer do our `mainnet` and `testnet` buttons set specific RPC urls. Now they set `provider.type`, which gets interpreted with code.

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

Makes it easier for us to upgrade our infrastructure without incorporating migration logic into the program.
2016-05-10 15:37:13 -07:00
Dan Finlay
366f45d461 Version 1.8.0 2016-05-10 10:48:46 -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
Dan Finlay
fcab161890 Version 1.7.0 2016-04-29 17:20:38 -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
652c1d96c1 Bump version 2016-04-22 15:25:56 -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
83b8741bbb Merge pull request #113 from MetaMask/i53
publicConfigStore for sync provider and selected address
2016-04-15 13:06:28 -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
Dan Finlay
81fc1e5f7d Bump version to 1.5.1 2016-04-15 10:01:46 -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
2ed127b51d Merge branch 'master' of github.com:MetaMask/metamask-plugin 2016-04-13 12:50:20 -07:00
Dan Finlay
fe3ba9dc2f Bump manifest to 1.5.0 2016-04-13 10:17:01 -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
Dan Finlay
0fb997c55b Bump version and changelog 2016-04-08 17:18:18 -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
317b8fe28f Bump version 2016-04-04 15:48:23 -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
Dan Finlay
d8a17a25d3 Bump version 2016-04-03 11:31:58 -07:00
Nick Dodson
46de6ea319 Add Chrome "file://" protocol to MetaMask manifest 2016-04-03 12:27:53 -04: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
8384b035e8 Got etherscan working, bump version
New version of provider-engine includes etherscan-subprovider features required to let Metamask use it.

Hard coded the new version of `web3-provider-engine` even though it is not live on `npm` yet, because it is a dependency of this branch.

I'll deploy to the Chrome store but not merge on Github until that provider-engine is published, because it could break others' dev environments.
2016-03-31 16:23:22 -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
7deee73062 Bump version 2016-03-30 19:20:04 -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
f730f6e0d8 Bump version to 1.1.1 2016-03-28 15:27:28 -07:00
Dan Finlay
966be99227 Version bump 2016-03-28 12:37:32 -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
16ada64b87 Bumped version 2016-03-25 15:43:32 -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
152a663903 Bump version 2016-03-24 11:11:47 -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
Dan Finlay
8797977550 Version 0.14.0 2016-03-22 10:38:56 -07:00
kumavis
ec7372ef51 stream-provider - addd isConnected method 2016-03-21 11:11:56 +08:00
kumavis
17562f111d 0.13.0 2016-03-15 13:39:26 -07: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
Dan Finlay
e056148a60 Bumped version for info page deploy 2016-03-09 16:42:28 -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
Dan Finlay
5dbf5c2937 Add lock images to static repo.
Having the ui in one project but the static resources in this one is a good sign that either:

 - We should have the UI in this project.
 - We should find a way to keep the static resources in the UI repo.
2016-03-02 15:32:13 -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