Merge branch 'master' into NewUI-flat

feature/default_network_editable
Chi Kei Chan 7 years ago
commit 301c737bbc
  1. 6
      app/scripts/controllers/computed-balances.js
  2. 1
      app/scripts/lib/createProviderMiddleware.js
  3. 12
      app/scripts/lib/pending-tx-tracker.js
  4. 2
      app/scripts/lib/tx-state-manager.js
  5. 15
      gulpfile.js
  6. 15
      mascara/server/index.js
  7. 1
      package.json
  8. 2
      ui/app/components/account-dropdowns.js
  9. 4
      ui/app/components/shapeshift-form.js
  10. 4
      ui/app/reducers.js

@ -38,7 +38,7 @@ class ComputedbalancesController {
.map(address => this.balances[address]) .map(address => this.balances[address])
// Follow new addresses // Follow new addresses
for (let address in balances) { for (const address in balances) {
this.trackAddressIfNotAlready(address) this.trackAddressIfNotAlready(address)
} }
@ -58,14 +58,14 @@ class ComputedbalancesController {
} }
trackAddress (address) { trackAddress (address) {
let updater = new BalanceController({ const updater = new BalanceController({
address, address,
accountTracker: this.accountTracker, accountTracker: this.accountTracker,
txController: this.txController, txController: this.txController,
blockTracker: this.blockTracker, blockTracker: this.blockTracker,
}) })
updater.store.subscribe((accountBalance) => { updater.store.subscribe((accountBalance) => {
let newState = this.store.getState() const newState = this.store.getState()
newState.computedBalances[address] = accountBalance newState.computedBalances[address] = accountBalance
this.store.updateState(newState) this.store.updateState(newState)
}) })

@ -1,4 +1,3 @@
module.exports = createProviderMiddleware module.exports = createProviderMiddleware
// forward requests to provider // forward requests to provider

@ -81,14 +81,14 @@ module.exports = class PendingTransactionTracker extends EventEmitter {
const errorMessage = err.message.toLowerCase() const errorMessage = err.message.toLowerCase()
const isKnownTx = ( const isKnownTx = (
// geth // geth
errorMessage.includes('replacement transaction underpriced') errorMessage.includes('replacement transaction underpriced') ||
|| errorMessage.includes('known transaction') errorMessage.includes('known transaction') ||
// parity // parity
|| errorMessage.includes('gas price too low to replace') errorMessage.includes('gas price too low to replace') ||
|| errorMessage.includes('transaction with the same hash was already imported') errorMessage.includes('transaction with the same hash was already imported') ||
// other // other
|| errorMessage.includes('gateway timeout') errorMessage.includes('gateway timeout') ||
|| errorMessage.includes('nonce too low') errorMessage.includes('nonce too low')
) )
// ignore resubmit warnings, return early // ignore resubmit warnings, return early
if (isKnownTx) return if (isKnownTx) return

@ -91,7 +91,7 @@ module.exports = class TransactionStateManger extends EventEmitter {
updateTx (txMeta, note) { updateTx (txMeta, note) {
if (txMeta.txParams) { if (txMeta.txParams) {
Object.keys(txMeta.txParams).forEach((key) => { Object.keys(txMeta.txParams).forEach((key) => {
let value = txMeta.txParams[key] const value = txMeta.txParams[key]
if (typeof value !== 'string') console.error(`${key}: ${value} in txParams is not a string`) if (typeof value !== 'string') console.error(`${key}: ${value} in txParams is not a string`)
if (!ethUtil.isHexPrefixed(value)) console.error('is not hex prefixed, anything on txParams must be hex prefixed') if (!ethUtil.isHexPrefixed(value)) console.error('is not hex prefixed, anything on txParams must be hex prefixed')
}) })

@ -165,7 +165,20 @@ gulp.task('lint', function () {
// To have the process exit with an error code (1) on // To have the process exit with an error code (1) on
// lint error, return the stream and pipe to failAfterError last. // lint error, return the stream and pipe to failAfterError last.
.pipe(eslint.failAfterError()) .pipe(eslint.failAfterError())
}) });
gulp.task('lint:fix', function () {
return gulp.src(['app/**/*.js', 'ui/**/*.js', 'mascara/src/*.js', 'mascara/server/*.js', '!node_modules/**', '!dist/firefox/**', '!docs/**', '!app/scripts/chromereload.js', '!mascara/test/jquery-3.1.0.min.js'])
.pipe(eslint(Object.assign(fs.readFileSync(path.join(__dirname, '.eslintrc')), {fix: true})))
.pipe(eslint.format())
.pipe(eslint.failAfterError())
});
/*
gulp.task('default', ['lint'], function () {
// This will only run if the lint task is successful...
});
*/
// build js // build js

@ -1,3 +1,4 @@
const path = require('path')
const express = require('express') const express = require('express')
const createBundle = require('./util').createBundle const createBundle = require('./util').createBundle
const serveBundle = require('./util').serveBundle const serveBundle = require('./util').serveBundle
@ -8,22 +9,22 @@ module.exports = createMetamascaraServer
function createMetamascaraServer () { function createMetamascaraServer () {
// start bundlers // start bundlers
const metamascaraBundle = createBundle(__dirname + '/../src/mascara.js') const metamascaraBundle = createBundle(path.join(__dirname, '/../src/mascara.js'))
const proxyBundle = createBundle(__dirname + '/../src/proxy.js') const proxyBundle = createBundle(path.join(__dirname, '/../src/proxy.js'))
const uiBundle = createBundle(__dirname + '/../src/ui.js') const uiBundle = createBundle(path.join(__dirname, '/../src/ui.js'))
const backgroundBuild = createBundle(__dirname + '/../src/background.js') const backgroundBuild = createBundle(path.join(__dirname, '/../src/background.js'))
// serve bundles // serve bundles
const server = express() const server = express()
// ui window // ui window
serveBundle(server, '/ui.js', uiBundle) serveBundle(server, '/ui.js', uiBundle)
server.use(express.static(__dirname + '/../ui/', { setHeaders: (res) => res.set('X-Frame-Options', 'DENY') })) server.use(express.static(path.join(__dirname, '/../ui/', { setHeaders: (res) => res.set('X-Frame-Options', 'DENY') })))
server.use(express.static(__dirname + '/../../dist/chrome')) server.use(express.static(path.join(__dirname, '/../../dist/chrome')))
// metamascara // metamascara
serveBundle(server, '/metamascara.js', metamascaraBundle) serveBundle(server, '/metamascara.js', metamascaraBundle)
// proxy // proxy
serveBundle(server, '/proxy/proxy.js', proxyBundle) serveBundle(server, '/proxy/proxy.js', proxyBundle)
server.use('/proxy/', express.static(__dirname + '/../proxy')) server.use('/proxy/', express.static(path.join(__dirname, '/../proxy')))
// background // background
serveBundle(server, '/background.js', backgroundBuild) serveBundle(server, '/background.js', backgroundBuild)

@ -29,6 +29,7 @@
"test:mascara:build:background": "browserify mascara/src/background.js -o dist/mascara/background.js", "test:mascara:build:background": "browserify mascara/src/background.js -o dist/mascara/background.js",
"test:mascara:build:tests": "browserify test/integration/lib/first-time.js -o dist/mascara/tests.js", "test:mascara:build:tests": "browserify test/integration/lib/first-time.js -o dist/mascara/tests.js",
"lint": "gulp lint", "lint": "gulp lint",
"lint:fix": "gulp lint:fix",
"disc": "gulp disc --debug", "disc": "gulp disc --debug",
"announce": "node development/announcer.js", "announce": "node development/announcer.js",
"generateNotice": "node notices/notice-generator.js", "generateNotice": "node notices/notice-generator.js",

@ -161,8 +161,6 @@ class AccountDropdowns extends Component {
) )
} }
renderAccountOptions () { renderAccountOptions () {
const { actions } = this.props const { actions } = this.props
const { optionsMenuActive } = this.state const { optionsMenuActive } = this.state

@ -130,8 +130,8 @@ ShapeshiftForm.prototype.renderMain = function () {
alignItems: 'flex-start', alignItems: 'flex-start',
}, },
}, [ }, [
this.props.warning this.props.warning ?
? this.props.warning && this.props.warning &&
h('span.error.flex-center', { h('span.error.flex-center', {
style: { style: {
textAlign: 'center', textAlign: 'center',

@ -42,7 +42,7 @@ function rootReducer (state, action) {
} }
window.logState = function () { window.logState = function () {
let state = window.METAMASK_CACHED_LOG_STATE const state = window.METAMASK_CACHED_LOG_STATE
let version let version
try { try {
version = global.platform.getVersion() version = global.platform.getVersion()
@ -50,7 +50,7 @@ window.logState = function () {
version = 'unable to load version.' version = 'unable to load version.'
} }
state.version = version state.version = version
let stateString = JSON.stringify(state, removeSeedWords, 2) const stateString = JSON.stringify(state, removeSeedWords, 2)
return stateString return stateString
} }

Loading…
Cancel
Save