* Reorganize files to better match other components.
* Initial UI for wallet buttons.
* Fix leftover rebase conflict.
* Wallet selection, styling, mobile handling.
* Initial work on animations.
* Adjusted animations.
* Adjust wallet unlock forms to be more uniform. Fix view address saying 'unlock'
* Adjust tooltips.
* Fix embedded decrypt components.
* Cover whole sign msg form with decrypt.
* Give deploy contract a better unlock treatment like sign msg.
* Reset decrypt component on hide / show
* Unused var
* Fix tooltip hover.
* Fix hover lift.
* Make spacing better on mobile.
* Back button mobile handling.
* Redesign mobile button icons. Prevent clicking through when clicking on icons.
* TSCheck fixes.
* Attempt to unlock MetaMask onClick, and provide existing flow with notification when unlock fails.
* Get rid of outline.
* Remove decrypt min height. Make view only textarea.
* Add change wallet buttons to deploy contract and sign msg.
* Standardize
* Check in.
* Add read only wallet and new types for that. Convert some components to require full wallet.
* Fix readonly property, fix uncaught throw.
* Disable address only on some tabs.
* Use FullWalletOnly render callback to handle signing.
* Work around uncertain wallet type.
* Fix function args.
* Undo bug fix that should be done in another branch.
* Disable button while address is bad.
* Remove log.
* Convert anonymous functions to class functions.
* Progress commit -- ethereumjs-wallet typings
* Add hdkey module + better wallet typing
* Add provider-engine typings
* Add jsdoc descriptions for hdkey constructor methods
* Fix missing return type
* Fix another missing return
* Make provider engine options optional
* Add priv/pubkey members to wallet instance
* Turn into SFC + Use ethereumjs-lib
* Use proper interface naming for V3Wallet
* Switch to ethereumjs-wallet
* Switch to ethereumjs-wallet and refactor using NewTabLink
* Use proper interface naming for V3Wallet
* Use proper interface naming for PublicKeyOnlyWallet
* Strip out wallet classes for ethereumjs-wallet, stuff wallet types in privkey for now
* Seperate wallets into deterministic and non-deterministic, change IWallet and deterministic wallets to adhere to getAddressString
* Fix broken test, remove scryptsy
* Fix broken test, re-add scryptsy to make this PR pass
* Remove uuid from deps and keystore test
* Add ethereumjs-wallet to DLL
* Wrap mnemonic wallet
* Fix definition module for thirdparty wallets
* Fix MewV1 wallet not loading due to wrong library
* Fix tsc error
* Decrease n-factor to 1024, checksum address of keystore
* Fix isKeystorePassRequired
* Fix tsc errors
* Merge package lock
* Update package lock
* regenerate lock file
* Lock typescript to 2.5.2
* Merge develop
* add route and nav tab for new module
* add new module to tabs index
* add signMessage to wallet interface
* add signed message verification, normalize pkey sign
* init Sign & Verify Message tab
* reorder imports
* mock out Trezor
* cast to bool instead of length check
* normalize ledger sign message
* fix broken this context
* add commented message signing to trezor wallet
* correct var to start on sign tab
* remove unused state var
* clean up SignMessage classes
* clean up VerifyMessage classes, remove unnecessary log
* correct event variable types
* remove unnecessary exports
* remove empty classname
* use implicit return
* shorten signMessage method
* remove unnecessary disable
* tweak variable name
* make better use of destructuring, remove console log
* use destructured var
* flatten if statement
* add signMessage method to wallet reducer test