From 4eef2c57cf9178cdf5b0a882d6fae0dcdcfae89a Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Thu, 15 Sep 2016 20:51:41 -0700 Subject: [PATCH 1/9] Show loading indication when selecting ShapeShift --- CHANGELOG.md | 2 ++ ui/app/app.js | 7 ++++--- ui/app/components/buy-button-subview.js | 6 ++++++ ui/app/{ => components}/loading.js | 10 ++-------- 4 files changed, 14 insertions(+), 11 deletions(-) rename ui/app/{ => components}/loading.js (83%) diff --git a/CHANGELOG.md b/CHANGELOG.md index f1acb1d15..14b96ce70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,9 @@ # Changelog ## Current Master + - Show "Buy Ether" button and warning on tx confirmation when sender balance is insufficient +- Show loading indication when selecting ShapeShift as purchasing method. ## 2.12.1 2016-09-14 diff --git a/ui/app/app.js b/ui/app/app.js index 8b1cac03f..d26af4e77 100644 --- a/ui/app/app.js +++ b/ui/app/app.js @@ -21,7 +21,7 @@ const ConfirmTxScreen = require('./conf-tx') const ConfigScreen = require('./config') const RevealSeedConfirmation = require('./recover-seed/confirmation') const InfoScreen = require('./info') -const LoadingIndicator = require('./loading') +const LoadingIndicator = require('./components/loading') const SandwichExpando = require('sandwich-expando') const MenuDroppo = require('menu-droppo') const DropMenuItem = require('./components/drop-menu-item') @@ -38,6 +38,7 @@ function App () { Component.call(this) } function mapStateToProps (state) { return { // state from plugin + isLoading: state.appState.isLoading, isConfirmed: state.metamask.isConfirmed, isEthConfirmed: state.metamask.isEthConfirmed, isInitialized: state.metamask.isInitialized, @@ -57,7 +58,7 @@ function mapStateToProps (state) { App.prototype.render = function () { var props = this.props - var transForward = props.transForward + const { isLoading, transForward } = props return ( @@ -69,7 +70,7 @@ App.prototype.render = function () { }, }, [ - h(LoadingIndicator), + h(LoadingIndicator, { isLoading }), // app bar this.renderAppBar(), diff --git a/ui/app/components/buy-button-subview.js b/ui/app/components/buy-button-subview.js index 7daf41206..b564733b1 100644 --- a/ui/app/components/buy-button-subview.js +++ b/ui/app/components/buy-button-subview.js @@ -6,6 +6,7 @@ const actions = require('../actions') const CoinbaseForm = require('./coinbase-form') const ShapeshiftForm = require('./shapeshift-form') const extension = require('../../../app/scripts/lib/extension') +const Loading = require('./loading') module.exports = connect(mapStateToProps)(BuyButtonSubview) @@ -17,6 +18,7 @@ function mapStateToProps (state) { network: state.metamask.network, provider: state.metamask.provider, context: state.appState.currentView.context, + isSubLoading: state.appState.isSubLoading, } } @@ -28,6 +30,7 @@ function BuyButtonSubview () { BuyButtonSubview.prototype.render = function () { const props = this.props const currentForm = props.buyView.formView + const isLoading = props.isSubLoading return ( h('.buy-eth-section', [ @@ -47,6 +50,9 @@ BuyButtonSubview.prototype.render = function () { }), h('h2.page-subtitle', 'Buy Eth'), ]), + + h(Loading, { isLoading }), + h('h3.flex-row.text-transform-uppercase', { style: { background: '#EBEBEB', diff --git a/ui/app/loading.js b/ui/app/components/loading.js similarity index 83% rename from ui/app/loading.js rename to ui/app/components/loading.js index b060abebc..ae735894f 100644 --- a/ui/app/loading.js +++ b/ui/app/components/loading.js @@ -1,18 +1,12 @@ const inherits = require('util').inherits const Component = require('react').Component const h = require('react-hyperscript') -const connect = require('react-redux').connect const ReactCSSTransitionGroup = require('react-addons-css-transition-group') -module.exports = connect(mapStateToProps)(LoadingIndicator) - -function mapStateToProps (state) { - return { - isLoading: state.appState.isLoading, - } -} inherits(LoadingIndicator, Component) +module.exports = LoadingIndicator + function LoadingIndicator () { Component.call(this) } From 1f771f30e45fdc93b5e750ba05baccede6bd3385 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Thu, 15 Sep 2016 21:18:21 -0700 Subject: [PATCH 2/9] Space out purchase details on ShapeShift form --- ui/app/components/shapeshift-form.js | 7 +++---- ui/app/css/index.css | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/ui/app/components/shapeshift-form.js b/ui/app/components/shapeshift-form.js index 58b7942c3..2bb384b94 100644 --- a/ui/app/components/shapeshift-form.js +++ b/ui/app/components/shapeshift-form.js @@ -128,7 +128,6 @@ ShapeshiftForm.prototype.renderMain = function () { this.props.isSubLoading ? this.renderLoading() : null, h('.flex-column', { style: { - width: '235px', alignItems: 'flex-start', }, }, [ @@ -270,17 +269,17 @@ ShapeshiftForm.prototype.renderInfo = function () { return h('span', { style: { - marginTop: '15px', + marginTop: '10px', marginBottom: '15px', }, }, [ h('h3.flex-row.text-transform-uppercase', { style: { - color: '#AEAEAE', + color: '#868686', paddingTop: '4px', justifyContent: 'space-around', textAlign: 'center', - fontSize: '14px', + fontSize: '17px', }, }, `Market Info for ${marketinfo.pair.replace('_', ' to ').toUpperCase()}:`), h('.marketinfo', ['Status : ', `${coinOptions[coin].status}`]), diff --git a/ui/app/css/index.css b/ui/app/css/index.css index 8543960fe..975a5289b 100644 --- a/ui/app/css/index.css +++ b/ui/app/css/index.css @@ -555,8 +555,8 @@ input.large-input { .marketinfo{ font-family: 'Montserrat light'; color: #AEAEAE; - font-size: 12px; - line-height: 14px; + font-size: 15px; + line-height: 17px; } #fromCoin::-webkit-calendar-picker-indicator { From e197e3808ff70058ccf3eca0d11255e61180373a Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Mon, 19 Sep 2016 10:15:19 +0800 Subject: [PATCH 3/9] Drop origin key from requests for Parity compatibility --- CHANGELOG.md | 1 + app/scripts/metamask-controller.js | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c1483b7cc..a66389213 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ - Add a link to the transaction in history that goes to https://metamask.github.io/eth-tx-viz too help visualize transactions and to where they are going. - Show "Buy Ether" button and warning on tx confirmation when sender balance is insufficient +- Change behavior that prevented Parity client compatibility, where we included a request site origin on rpc calls. ## 2.12.1 2016-09-14 diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 06337be1c..2b10c8c35 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -75,6 +75,10 @@ module.exports = class MetamaskController { } onRpcRequest (stream, originDomain, request) { + + /* Commented out for Parity compliance + * Parity does not permit additional keys, like `origin`, + * and Infura is not currently filtering this key out. var payloads = Array.isArray(request) ? request : [request] payloads.forEach(function (payload) { // Append origin to rpc payload @@ -86,6 +90,7 @@ module.exports = class MetamaskController { payload.params.push({ origin: originDomain }) } }) + */ // handle rpc request this.provider.sendAsync(request, function onPayloadHandled (err, response) { From 57d9481d9d9276446fd33fbaf6422432e7041475 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Mon, 19 Sep 2016 10:17:46 +0800 Subject: [PATCH 4/9] Bump web3 provider engine version for Parity compliance --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fc88162ed..a05c01ba2 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "through2": "^2.0.1", "vreme": "^3.0.2", "web3": "ethereum/web3.js#260ac6e78a8ce4b2e13f5bb0fdb65f4088585876", - "web3-provider-engine": "^8.0.5", + "web3-provider-engine": "^8.0.6", "web3-stream-provider": "^2.0.6", "xtend": "^4.0.1" }, From 9d5cdbcbe6d44ac3f26c5ae912531a8dd5d5c37d Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Mon, 19 Sep 2016 22:58:10 +0800 Subject: [PATCH 5/9] Version 2.13.0 --- CHANGELOG.md | 4 +++- app/manifest.json | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a66389213..6f72c83d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,12 @@ ## Current Master +## 2.13.0 2016-09-18 + +- Add Parity compatibility, fixing Geth dependency issues. - Add a link to the transaction in history that goes to https://metamask.github.io/eth-tx-viz too help visualize transactions and to where they are going. - Show "Buy Ether" button and warning on tx confirmation when sender balance is insufficient -- Change behavior that prevented Parity client compatibility, where we included a request site origin on rpc calls. ## 2.12.1 2016-09-14 diff --git a/app/manifest.json b/app/manifest.json index daf9ef94a..1af4d76d2 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,7 +1,7 @@ { "name": "MetaMask", "short_name": "Metamask", - "version": "2.12.1", + "version": "2.13.0", "manifest_version": 2, "author": "https://metamask.io", "description": "Ethereum Browser Extension", From b6bbe2d7e822e891500cd31e56f3b99afda215a5 Mon Sep 17 00:00:00 2001 From: Dan Finlay Date: Fri, 23 Sep 2016 10:45:28 +0800 Subject: [PATCH 6/9] Version 2.13.1 --- CHANGELOG.md | 6 +++++- app/manifest.json | 2 +- package.json | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d77308838..a0ff662fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,13 +2,17 @@ ## Current Master +## 2.13.1 2016-09-23 + +- Fix a bug with estimating gas on Parity +- Show loading indication when selecting ShapeShift as purchasing method. + ## 2.13.0 2016-09-18 - Add Parity compatibility, fixing Geth dependency issues. - Add a link to the transaction in history that goes to https://metamask.github.io/eth-tx-viz too help visualize transactions and to where they are going. - Show "Buy Ether" button and warning on tx confirmation when sender balance is insufficient -- Show loading indication when selecting ShapeShift as purchasing method. ## 2.12.1 2016-09-14 diff --git a/app/manifest.json b/app/manifest.json index 1af4d76d2..0db9b2b83 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,7 +1,7 @@ { "name": "MetaMask", "short_name": "Metamask", - "version": "2.13.0", + "version": "2.13.1", "manifest_version": 2, "author": "https://metamask.io", "description": "Ethereum Browser Extension", diff --git a/package.json b/package.json index a05c01ba2..1eef432e0 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "through2": "^2.0.1", "vreme": "^3.0.2", "web3": "ethereum/web3.js#260ac6e78a8ce4b2e13f5bb0fdb65f4088585876", - "web3-provider-engine": "^8.0.6", + "web3-provider-engine": "^8.0.7", "web3-stream-provider": "^2.0.6", "xtend": "^4.0.1" }, From 0a8a25c818f4c3059998445730c632158deaaf43 Mon Sep 17 00:00:00 2001 From: Frankie Date: Sat, 1 Oct 2016 09:31:14 +0800 Subject: [PATCH 7/9] Fix issue #688 where fiat conversion does not persist when switching networks --- app/scripts/metamask-controller.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 2b10c8c35..fceac5263 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -22,7 +22,8 @@ module.exports = class MetamaskController { this.idStore.setStore(this.ethStore) this.messageManager = messageManager this.publicConfigStore = this.initPublicConfigStore() - this.configManager.setCurrentFiat('USD') + var currentFiat = this.configManager.getCurrentFiat() ? this.configManager.getCurrentFiat() : 'USD' + this.configManager.setCurrentFiat(currentFiat) this.configManager.updateConversionRate() this.scheduleConversionInterval() } From f28de37a8cbbc05978be3499bc8eb672108a8ed4 Mon Sep 17 00:00:00 2001 From: Frankie Date: Sat, 1 Oct 2016 09:38:53 +0800 Subject: [PATCH 8/9] Add to CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a0ff662fe..84a074480 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Current Master +- Fix bug where chosen FIAT exchange rate does no persist when switching networks + ## 2.13.1 2016-09-23 - Fix a bug with estimating gas on Parity From ebf864ae6e0efe7acbd83314c4343a73db38564d Mon Sep 17 00:00:00 2001 From: Frankie Date: Sun, 2 Oct 2016 04:53:43 +0800 Subject: [PATCH 9/9] Fix for readability --- app/scripts/metamask-controller.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index fceac5263..9e1a885ae 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -22,7 +22,7 @@ module.exports = class MetamaskController { this.idStore.setStore(this.ethStore) this.messageManager = messageManager this.publicConfigStore = this.initPublicConfigStore() - var currentFiat = this.configManager.getCurrentFiat() ? this.configManager.getCurrentFiat() : 'USD' + var currentFiat = this.configManager.getCurrentFiat() || 'USD' this.configManager.setCurrentFiat(currentFiat) this.configManager.updateConversionRate() this.scheduleConversionInterval()