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

334 Commits

Author SHA1 Message Date
Kevin Serrano
abfc5632ef Fix ether warning checkbox. 2016-08-10 10:54:55 -07:00
Kevin Serrano
cb0c1f25ba Did not previously call functions before! 2016-08-09 16:49:15 -07:00
Kevin Serrano
637d3978b7 Fix default value. Add loading indication for async. 2016-08-09 16:33:58 -07:00
Kevin Serrano
260de6532c Get fiat numbers rendering on tooltip. Need to find way to create line breaks. 2016-08-05 12:18:44 -07:00
Kevin Serrano
479abadaa7 Merge branch 'master' into usd-conversion 2016-08-04 13:26:03 -07:00
Dan Finlay
c9c8fbf2ec Fix account selection updating 2016-07-29 13:27:39 -07:00
Dan Finlay
6151339840 Merge branch 'master' into AddEthClassic 2016-07-28 15:47:22 -07:00
Dan Finlay
5ceed48db9 Fix broken reference to host store.didUpdate
I'd returned this line because it seemed to fix Firefox compatibility, now it seems like that wasn't the case.  Removing it again.
2016-07-28 11:53:33 -07:00
Dan Finlay
9b43ec2278 Add eth classic to provider menu 2016-07-28 10:53:51 -07:00
Dan Finlay
2368c2993d Add platform specific builds and zip tasks (#486)
* Add platform specific folders to dist folder

* Remove gulp hacks

* Add platform specific bundling

dev and dist tasks now build into platform-specific folders within the `dist` folder.

Added tasks `gulp zip` and `gulp dist`.

`zip` builds the platform-specific folders into platform-specific bundles within the `dist` folder.

`dist` builds and then zips all at once.

* Fix chrome bundle zipping

* Fix broken reference in eth warning

* Fix but where web3.eth.accounts are not available in firefox.

* Bump changelog
2016-07-26 15:15:40 -07:00
Dan Finlay
b43b9f13e9 Fix integration tests 2016-07-25 17:47:14 -07:00
Dan Finlay
be74589f49 Fix extension tests 2016-07-25 17:33:22 -07:00
Dan Finlay
913a9e85bd Inject inpage script synchronously
Huge thanks to the Firefox team, for their help on the issue of our long-standing inpage script race condition.

http://stackoverflow.com/questions/38577656/how-can-i-make-a-firefox-add-on-contentscript-inject-and-run-a-script-before-oth

The problem is that we were injecting a `script` tag and assigning its `src` attribute, which triggers an asynchronous fetch request, and does not guarantee execution order! (That was news to me!)

Instead, I'm now assigning the `script` tag a `textContent` value of the script to inject, and it seems to fix the problem!

There is also a Firefox-only API that could solve this whole problem in an even more elegant way, so we might want to expose a code path for that solution later on:

https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Language_Bindings/Components.utils.exportFunction

Allows you to expose an object from one scope to another. There was even talk of creating a polyfill for it that does virtually what we do, message passing between contexts.
2016-07-25 16:38:07 -07:00
Dan Finlay
b07bbc14e1 Clean up extension polyfill abstraction 2016-07-25 13:46:33 -07:00
Dan Finlay
f3ea891e72 Allow page injection to look for cross-browser APIs appropriately 2016-07-25 13:28:38 -07:00
Kevin Serrano
86832e6feb Fix merge conflicts. Fix typos. Ensure currency immediately updated on load. 2016-07-22 11:15:47 -07:00
Kevin Serrano
22528002e1 Linting! 2016-07-22 10:15:39 -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
716e65424d Add date access throughout the data flow. 2016-07-21 14:08:26 -07:00
Frankie
fcd523abe4 Buy button (#474)
* WIP: Buy button link

* Add buy eth and the buy eth warning message

* Add css

* Move the opening of coinbase page to background
 and send to faucet if on test net

* Create a Warning about storeing eth

* Finish Buy button and Eth store warning screen

* Add to CHANGELOG

* fix frankies deletion and change chrome to extension
2016-07-21 13:41:10 -07:00
Kevin Serrano
66941f0808 Provide date access. 2016-07-21 13:33:22 -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
Kevin Serrano
4a9d5b1c25 Add data field to pass up parameters up to reducer. 2016-07-21 10:15:34 -07:00
Kevin Serrano
491b9cddc5 Add fiat actions to metamask controllere and actions. 2016-07-21 09:30:58 -07:00
Kevin Serrano
aac810b1eb Progress on config manager. Plus tests. 2016-07-21 08:47:03 -07:00
Dan Finlay
cdd7e40545 Make injected web3 fail hard on sync methods (#471)
Make injected web3 fail hard on sync methods
2016-07-20 14:54:07 -07:00
kumavis
b2afa16925 typo fix 2016-07-18 18:08:29 -07:00
kumavis
9101812552 inpage - add try/catch to cleanContextForImports 2016-07-18 17:57:23 -07:00
kumavis
97e38b4983 new tx - calculate estimatedGas and show thing in tx-details (#441)
* new tx - calculate estimatedGas and show thing in tx-details

* Bump changelog
2016-07-13 23:39:44 -07:00
Kevin Serrano
ecd0a3ec1e Add one wallet to new accounts instead of three. 2016-07-12 12:06:18 -07:00
Dan Finlay
e21a48da83 Linted 2016-07-11 20:53:26 -07:00
Dan Finlay
c4a15340e0 Add notification global for development
The background process now has a global `METAMASK_NOTIFIER` object that allows easy mocking of notification data.
2016-07-11 15:45:57 -07:00
Dan Finlay
9609593f13 Fix bug where rejected tx would not call back 2016-07-07 11:00:19 -07:00
kumavis
786a283dd2 contentscript - remove timeout before stream setup 2016-07-06 21:45:15 -07:00
kumavis
5c4c902c94 appease the linting gods 2016-07-06 20:32:36 -07:00
kumavis
7aa120e630 web3 injection - use web3 dist for faster injection 2016-07-06 20:20:40 -07:00
Dan Finlay
c0b0c9c028 Simplify error log 2016-07-05 09:51:33 -07:00
Dan Finlay
1d8d7d833d Improve metamask-controller error logging
Fixes #384
2016-07-05 09:06:33 -07:00
kumavis
d4e400e5e5 Merge pull request #378 from MetaMask/UiDev
Ui dev
2016-06-30 21:20:40 -07:00
Dan Finlay
e55938ed15 First simple version of ui mocker 2016-06-30 18:22:16 -07:00
kumavis
cc970ccd0d fix typo 2016-06-30 15:31:36 -07:00
Dan Finlay
78f2794d39 Remove useless and buggy clearWallet function 2016-06-30 11:34:34 -07:00
Dan Finlay
6fef01c8a1 Emphasizing how weird this bug is by removing all behavior from the method. 2016-06-30 11:31:27 -07:00
Dan Finlay
f49b6ca1dc Replicated really strange bug with test 2016-06-30 11:30:46 -07:00
Kevin Serrano
3ae479f5ac Unify wording for transaction options (#369)
* Unify wording for transaction options.

* Modify changelog.

* Fix wording and spacing.
2016-06-29 15:44:37 -07:00
kumavis
6238af6330 fix bad merge 2016-06-28 13:21:25 -07:00
kumavis
4777f82ae0 Merge branch 'master' into notif2 2016-06-28 13:13:06 -07:00
kumavis
57aca116ed Merge branch 'master' into FixSomeFormatting
# Conflicts:
#	CHANGELOG.md
#	app/scripts/lib/notifications.js
2016-06-28 13:11:50 -07:00
Frankie
16566ee7db Move clearNotifications to popup.js 2016-06-28 12:57:06 -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
Frankie
4f4c5048bf fix #341 close notifications when oppening pop up 2016-06-28 11:57:33 -07:00
kumavis
baba719468 notif - change size for better readability 2016-06-27 16:28:07 -07:00
kumavis
36a183db94 Merge pull request #326 from MetaMask/conf-tx-refactor
Tx/Msg Conf page + notifcation refactor
2016-06-24 17:29:38 -07:00
kumavis
770528d538 clean - appease the linting machine 2016-06-24 17:27:42 -07:00
kumavis
d7d440b2c2 svg notif now work for msg signatures 2016-06-24 17:22:27 -07:00
Dan Finlay
60fec24c00 Debugged by using a real dapp 2016-06-24 17:00:35 -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
kumavis
eb1b9d027f breakout pending-tx-details 2016-06-24 12:48:52 -07:00
kumavis
fce748c118 contentscript - skip web3 injection if domain appears to be a pdf 2016-06-24 11:21:22 -07:00
kumavis
2808fd175b notif - remove dummy dev notif 2016-06-23 17:33:43 -07:00
kumavis
2468949cb5 some legit linting fixes 2016-06-23 16:53:45 -07:00
kumavis
3cf7bf725f svg notif - use actual txParams 2016-06-23 16:42:40 -07:00
kumavis
cc7dbace38 tx-conf add non-interactive mode for notification 2016-06-23 15:25:33 -07:00
kumavis
2495c6ea54 svg notifications - remove unneeded deps and clean code 2016-06-23 15:13:24 -07:00
kumavis
122576a790 initial svg notifications 2016-06-22 19:28:11 -07:00
Dan Finlay
ff7b980143 Fix eth sign with dennis' test input 2016-06-21 17:13:02 -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
8fde8a8921 Manually linted 2016-06-21 13:56:04 -07:00
Dan Finlay
ab15b4c825 Merge branch 'master' of github.com:MetaMask/metamask-plugin into AutoLint 2016-06-21 13:19:44 -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
kumavis
30da848611 id-mgmt - add missing deps 2016-06-21 00:39:27 -07:00
Dan Finlay
61459a6b51 Merge pull request #294 from MetaMask/SignFullDataNotHash
Sign full data not hash
2016-06-20 15:08:27 -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
451be3b10e Merge branch 'master' into SignFullDataNotHash 2016-06-16 17:34:44 -07:00
Dan Finlay
e8ef8f3d2d Add confirmation status to metamask state branch 2016-06-16 16:41:33 -07:00
Dan Finlay
5d90167bcc Expose disclaimer consent to dnode API 2016-06-16 15:58:11 -07:00
Dan Finlay
0f564aa64d Add confirmation persisting to localStorage 2016-06-16 15:04:50 -07:00
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
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
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
kumavis
9640a6c543 idStore - track network failure 2016-05-30 08:22:19 -10: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
kumavis
1d23bf8122 signTx+Msg - show Account Unlock Request when locked 2016-05-24 14:59:33 -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
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
8bfa40d2d3 Move all users to new scalable backend 2016-05-11 13:10:54 -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
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
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
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
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
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