Commit Graph

76 Commits

Author SHA1 Message Date
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
Dan Finlay 3c01969fe3 Merge branch 'master' of github.com:MetaMask/metamask-plugin into AutoLint 2016-06-21 14:12:48 -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
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 5d90167bcc Expose disclaimer consent to dnode API 2016-06-16 15:58:11 -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 9cc04be5e4 Added seed word recovery to config screen 2016-06-02 16:52:18 -07:00
kumavis 092c191c1f background + notifications - add origin to message signatures 2016-05-25 18:03:16 -07:00
kumavis 821648fad7 background - append origin to rpc payload and sig request 2016-05-25 17:28:20 -07:00
kumavis 1d23bf8122 signTx+Msg - show Account Unlock Request when locked 2016-05-24 14:59:33 -07:00
kumavis 2a62d63b4f deps - use web3-stream-provider module 2016-05-22 18:02:27 -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 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 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 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 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 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
Dan Finlay be4818564a Migrate etherscan configs to our new production RPC. 2016-04-12 14:41:58 -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 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 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 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 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 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