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

309 Commits

Author SHA1 Message Date
Dan Finlay
d58e47edec Some fixes for new storage strategy
- Don't persist undefined data
- Write to new storage strategy without waiting for completion.
- Continue writing to localStorage as fallback.
2018-03-07 14:23:31 -08:00
Dan Finlay
ab55c184c7 Increase storage debounce to 2s 2018-03-07 13:50:22 -08:00
Dan Finlay
423f084cb4 Merge branch 'master' into i3076-UseStorageLocalInstead 2018-03-06 14:59:09 -08:00
Dan Finlay
dd9cac69ae
Merge pull request #3309 from scsaba/edge-support
Add Edge Support
2018-03-06 09:39:57 -08:00
kumavis
8e5bcf8935 sentry - failed tx - improve ethjs-rpc error formating 2018-02-28 10:53:54 -08:00
kumavis
fca2cbc8ef sentry - clean - move setupRaven to lib 2018-02-28 10:37:53 -08:00
Dan Finlay
fe21f8a952
Merge pull request #3281 from MetaMask/sentry-failed-tx-debatch
sentry - report failed tx with more specific message
2018-02-27 10:15:18 -08:00
Csaba S
2f34630486
Merge branch 'master' into edge-support 2018-02-22 14:55:46 +01:00
Csaba Solya
5ec311ba3e add edge support 2018-02-22 14:39:32 +01:00
Thomas Huang
e27a3823ba
Merge pull request #3306 from danjm/MM-805-send-from-tab-popup-fix
[NewUI] Prevents new tx from active tab from opening popup
2018-02-21 12:50:45 -08:00
Dan
a4ed6af2ad Prevents new transaction from generating popup when metamask is open in an active tab. 2018-02-21 15:04:04 -03:30
kumavis
06838774fa sentry - report failed tx with more specific message 2018-02-16 10:21:06 -08:00
kumavis
94cd5b9df4 metamask mesh - inject mesh testing container 2018-02-10 19:33:33 +00:00
Dan Finlay
8ba64c657f Increase storage debounce value 2018-01-25 15:38:43 -08:00
Dan Finlay
ceebc6caa4 Debounce storage to avoid crashing pump 2018-01-25 13:01:03 -08:00
Dan Finlay
2f13790653 Remove local storage writes, add log 2018-01-24 15:28:15 -08:00
Dan
b281a52759 Remove already handled TODO comment. 2018-01-24 16:49:12 -03:30
Dan
0164030e56 Handle errors when getting and setting to localStore. 2018-01-24 09:41:32 -03:30
Dan Finlay
7c4a9c32fa Merge branch 'UseStorageLocal' into i3076-UseStorageLocalInstead 2018-01-23 16:33:37 -08:00
Dan Finlay
456dfdb9fd Modify @heyellieday's work to use storage.local to replace main storage 2018-01-23 16:26:50 -08:00
Thomas
97ca86733c Merge branch 'master' into uat 2018-01-23 01:12:50 -08:00
kumavis
b91e2b5eb1 sentry - report failed txs 2018-01-22 15:54:26 -08:00
kumavis
daa62b507a sentry - breakout raven setup and add release config 2018-01-17 14:59:15 -08:00
kumavis
52a1c954f1 sentry - update raven and add to ui 2018-01-17 14:28:37 -08:00
kumavis
7d1554b1c1 sentry - add raven + sentry reporting config 2018-01-17 14:04:37 -08:00
Ellie Day
3c6a5b16ad conditionally use extension store if supported or enabled 2018-01-02 21:53:11 -08:00
Ellie Day
7184db7632 handle situation where storage.sync is disabled in certain versions of firefox 2018-01-02 21:31:17 -08:00
Ellie Day
a76324f6d3 Add ExtensionStore and add basic store instance syncing to main controller 2017-12-23 08:23:34 -06:00
kumavis
f64bc3c01a deps - obs-store@3 + migrate stream plumbing 2017-11-28 11:09:18 -10:00
Sergey Ukustov
c2b8dada91 Add eth_signTypedData handler 2017-09-29 19:40:46 +03:00
frankiebee
9fd5458112 transactions: lint fixes and reveal status-update event for balance controller 2017-09-26 16:54:04 -07:00
kumavis
96d1175834 debug - prefer logger over console 2017-09-13 10:28:29 -07:00
kumavis
8a9d0073b1 Merge pull request #1848 from MetaMask/transactionControllerRefractor
Transaction controller refractor part 1: promises for everyone and more tests!
2017-08-02 19:57:16 -07:00
frankiebee
b80c7e417b move newUnapprovedTransaction to transactions.js 2017-08-02 18:59:34 -04:00
kumavis
ecaa235b5e phishing detection - move phishing detection into contentscript and metamask controller 2017-08-02 14:26:10 -07:00
Dan Finlay
6675241fa9 Merge branch 'master' into i1805-LiveBlacklistUpdating 2017-07-26 16:46:59 -07:00
Dan Finlay
8b1726cc55 Live update blacklist from Infura 2017-07-26 16:30:54 -07:00
Dan Finlay
3d8ebf2265 Begin implementing live-updating blacklist, not working yet 2017-07-26 12:27:16 -07:00
Kevin Serrano
044c16219b
Fix badge number to include personal_sign 2017-06-20 15:38:23 -07:00
Thomas Huang
13e6672028 Linting 2017-06-12 11:08:32 -07:00
Dan Finlay
2df9344be5 Rename tx manager to tx controller 2017-05-16 10:35:28 -07:00
kumavis
5c9449dec1 background - drop async-q in favor of async/await 2017-05-12 13:09:23 -07:00
Thomas Huang
6bdb4c8728 Fix linting warnings 2017-04-26 21:05:45 -07:00
kumavis
86e882c51a notification-manager - rename show -> showPoup + make getPopup private 2017-03-31 18:41:51 -07:00
kumavis
5036263f88 introduce platform api and rename notifications to notification-manager 2017-03-30 18:33:19 -07:00
Dan Finlay
4697aca02c Got personal_sign working
Also fixed bug where signing would not close popup.
2017-02-23 14:23:45 -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
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
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
kumavis
f49fb149cc background - txManager - filter txs by network 2017-01-14 21:29:46 -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
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
Frankie
e62f70660d MetaMask Controller - Convert to EventEmitter 2017-01-05 11:06:18 -08:00
Frankie
fde69ea0ba fix some minor spelling mistakes and clean up code 2016-12-23 12:43:42 -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
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
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
Dan Finlay
9560ae93ee Added tx and msg signing to keychain & controller 2016-10-20 19:06:17 -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
Kevin Serrano
36759b3238 Do not trigger how-to-video on anything but install. 2016-09-09 14:23:04 -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
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
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
Dan Finlay
983f3938da Linted 2016-08-23 11:42:54 -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
5479509618 Set up MVP for popup-based notifications. 2016-08-16 15:39:40 -07:00
Kevin Serrano
b1f68ec9cd Add global var for background. 2016-08-11 19:44:59 -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
Dan Finlay
e21a48da83 Linted 2016-07-11 20:53:26 -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
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
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
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
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
066996396f context wiring - handle and log errors 2016-02-10 11:46:13 -08:00
kumavis
9c17c9aca6 clean - silence logging 2016-02-08 17:12:53 -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
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
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
500a95a704 init commit 2015-07-31 18:38:02 -07:00