Fixed warnings:
```md
app/scripts/controllers/computed-balances.js
+ 35:27 warning Missing space before function parentheses space-before-function-paren
+ 41:14 warning 'address' is never reassigned. Use 'const' instead prefer-const
+ 61:9 warning 'updater' is never reassigned. Use 'const' instead prefer-const
+ 68:11 warning 'newState' is never reassigned. Use 'const' instead prefer-const
app/scripts/controllers/network.js
+ 104:29 warning Missing space before function parentheses space-before-function-paren
app/scripts/lib/createLoggerMiddleware.js
+ 4:32 warning Missing space before function parentheses space-before-function-paren
+ 15:2 warning Newline required at end of file but not found eol-last
app/scripts/lib/createOriginMiddleware.js
+ 4:32 warning Missing space before function parentheses space-before-function-paren
+ 9:2 warning Newline required at end of file but not found eol-last
app/scripts/lib/createProviderMiddleware.js
+ 5:34 warning Missing space before function parentheses space-before-function-paren
+ 13:2 warning Newline required at end of file but not found eol-last
app/scripts/lib/events-proxy.js
+ 1:50 warning Missing space before function parentheses space-before-function-paren
+ 31:2 warning Newline required at end of file but not found eol-last
app/scripts/lib/nodeify.js
+ 2:22 warning Missing space before function parentheses space-before-function-paren
+ 2:24 warning Missing space before opening brace space-before-blocks
+ 5:18 warning Missing space before function parentheses space-before-function-paren
+ 5:20 warning Missing space before opening brace space-before-blocks
app/scripts/lib/pending-balance-calculator.js
+ 16:19 warning Missing space before function parentheses space-before-function-paren
app/scripts/lib/pending-tx-tracker.js
+ 85:11 warning '||' should be placed at the end of the line operator-linebreak
+ 87:11 warning '||' should be placed at the end of the line operator-linebreak
+ 88:11 warning '||' should be placed at the end of the line operator-linebreak
+ 90:11 warning '||' should be placed at the end of the line operator-linebreak
+ 91:11 warning '||' should be placed at the end of the line operator-linebreak
app/scripts/lib/port-stream.js
+ 3:22 warning Missing space before function parentheses space-before-function-paren
+ 3:24 warning Missing space before opening brace space-before-blocks
app/scripts/lib/tx-gas-utils.js
+ 84:2 warning Newline required at end of file but not found eol-last
app/scripts/lib/tx-state-history-helper.js
+ 12:37 warning Missing space before function parentheses space-before-function-paren
+ 23:30 warning Missing space before function parentheses space-before-function-paren
+ 30:23 warning Missing space before function parentheses space-before-function-paren
+ 35:28 warning Missing space before function parentheses space-before-function-paren
+ 41:2 warning Newline required at end of file but not found eol-last
app/scripts/lib/tx-state-manager.js
+ 94:13 warning 'value' is never reassigned. Use 'const' instead prefer-const
ui/app/reducers.js
+ 45:7 warning 'state' is never reassigned. Use 'const' instead prefer-const
+ 53:7 warning 'stateString' is never reassigned. Use 'const' instead prefer-const
ui/lib/tx-helper.js
+ 27:2 warning Newline required at end of file but not found eol-last
ui/app/components/account-dropdowns.js
+ 163:1 warning More than 2 blank lines not allowed no-multiple-empty-lines
ui/app/components/menu-droppo.js
+ 22:7 warning 'style' is never reassigned. Use 'const' instead prefer-const
ui/app/components/shapeshift-form.js
+ 135:11 warning '&&' should be placed at the end of the line operator-linebreak
ui/app/components/typed-message-renderer.js
+ 35:25 warning Missing space before function parentheses space-before-function-paren
+ 42:2 warning Newline required at end of file but not found eol-last
mascara/server/index.js
+ 11:42 warning Use path.join() or path.resolve() instead of + to create paths no-path-concat
+ 12:36 warning Use path.join() or path.resolve() instead of + to create paths no-path-concat
+ 13:33 warning Use path.join() or path.resolve() instead of + to create paths no-path-concat
+ 14:40 warning Use path.join() or path.resolve() instead of + to create paths no-path-concat
+ 20:29 warning Use path.join() or path.resolve() instead of + to create paths no-path-concat
+ 21:29 warning Use path.join() or path.resolve() instead of + to create paths no-path-concat
+ 26:40 warning Use path.join() or path.resolve() instead of + to create paths no-path-concat
```
Newest tx or message will now always appear last, and a new tx proposed after the user has a confirmation box open will never change the confirmation to a different tx proposed.
Fixes#1637
Half implements #175
Things to do:
- Add ability to add tokens to the list.
- Persist the token tab selection (so it is an implicit preference)
- Check what's up with the token-tracker polling, it seems like it is not waiting the interval.
Deriving from the new address image map repository I've added here:
https://github.com/MetaMask/ethereum-contract-icons
With this PR, images for addresses added to that repository will be shown instead of jazzicons in MetaMask.
The state object had been changed, but our mock states for tx approval were using the old keys.
Rather than try to muck about and figure out each and every change, I've re-generated a UI dev state for tx approval, which should help @zanibas on his current project.
We can continue adding new dev states as needed from here. If anyone catches a state that doesn't render correctly, it's worth checking if a new snapshot doesn't solve things.
Debugged by adding new debugging loggers, and I've left them in place for easier future debugging.
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
Ropsten links will still not work until Etherscan publishes their ropsten link format.
At that time we will need to update ui/lib/account-link.js
Otherwise, fixes#831
Fixes#197
Also as a side effect, by creating this `iconFactory.cache` object, we have a convenient place for specifying stock icons for known contracts!
We can just hard-code image addresses in the `ui/lib/icon-factory.js` cache instantiation, and those values will be injected into the identicon image tag `src` attributes.
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.