* Create ErrorScreen component to show Errors when a component catches.
* Show ErrorScreen component when Root component's componentDidCatch lifecycle method is called.
This should catch all of the applications errors, as Root is at the top of the tree.
* Convert ErrorScreen Component to SFC
* Address PR comments
* improve derivation-checking performance by batching docker calls; move into spec dir
* remove npm command to run derivation-checking; create 'int-test' (integration) command and hook up into jest
* add integration testing to CI; configure docker / docker image (dternyak/eth-priv-to-addr) in CI
* docker build -> docker pull
* use travis build matrix to group tests and improve build times
* remove int-test call
* attempt travis 'job' with all tests running in parallel
* remove typo
* attempt travis 'job' with all tests running in parallel (round 2)
* organize integration tests
* refactor/cleanup
* refactor/address comments
* Banner announcement cuts off mailchimp on mobile
* Hide site version on mobile. Added version to footer as well in case someone _really_ needs to check it.
* Shrink pre-footer font size on mobile.
* Fix column breakpoint for force offline send (Was stacking, now remains side-by-side.)
* Reduce header dropdown sizes at mobile. Force gas dropdown to the left side so its not offscreen.
* Columnify contracts for better mobile behavior and less code.
* Remove leftover string interpolation
* Better mobile header / nav sizing.
* Add warning about matching nodes, only allow one url:port combination of nodes.
* Fix up alert styling.
* Custom network form.
* Add custom network to redux store. Setup infrastructure for removal and display.
* Persist custom networks to LS, show them in display.
* Force chain id, make typing happy.
* Display custom networks in network dropdown.
* Fix form validation, purge unused custom networks.
* setup components, reducers, actions, and added routes
* removed redux, using local state and ethereumjs-wallet
* added validation and state reset
* added visibility options and changed btn colors
* updated isValidPrivKey and updated some components to stateless functional comp
* componentize input and add placeholder message
* removed cn from KeystoreDetails
* adds isValidPrivate to buffer check and min pw length to 0
* remove packagelock to fix merge conflict
* added utilities tab removed keystore tab
* adds fixpkey in validators and uses it across two components
* added checksum removal and btn css fixes
* Fixed en.json formatting - also removed fixedPkey
* Added unit tests for isValidPrivKey
* add runtime checks and rename stripHexPrefix to strippedPrivateKey
* switch back to stripHexPrefix
* Add constant for n-factor
* enforce 9 char minimum
* create ensureOkResponse and check against RPC responses
* Merge with develop branch
* added single unit test
* main nodes added
* getBalance method
* remove console.log
* minor conflict fix - readd polyfill to integration test
* added two more method tests
* seperate rpcnode from extended classes
* fixes etherscan
* added all tests
* revert files with only formatting changes
* remove console.logs - still need to update snapshot before tests will pass
* updated snapshot due to RpcNode fixes for Infura and Etherscan nodes
* added RpcNodeTest config so we don't rely on constants in code
* undo formatting changes
* Multiple fixes to error handling tokens.
* Fixed TSC errors
* Minor styling edit - change async func to promise
* changed shape of tokenBalances
* change balance type back to stricter TokenValue type
* remove package.json change and include test for error state.
* minor change removing unneeded line of code
* added longer timeout for api
* update snapshot
* 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.
* Change navigator.onLine to actually pinging the network. Refactor notifications to take Infinity instead of 'infinity'
* Stop polling when forced offline.
* Show spinners if unit display balance is null, show offline text if were actually offline.
* Fix issue with typescript and connected union-prop components.
* Only ping the node when navigator.onLine changes.
* Layed out components for custom nodes.
* Outline of custom nodes. Still missing various features and error handling.
* Persist custom nodes to local storage.
* Make custom nodes removable.
* Add latest block functions, call it when switching nodes.
* Initialize correct node, move node utils into utils file.
* Fix names
* Send headers along with rpc requests.
* Remove custom network options for now.
* PR feedback.
* One last log.
* Fix tests.
* Headers in batch too.
* Switch to node when you add it.
* Reduce hackery.
* Clean up linter and tsc.
* Fix latest block hex conversion.
* Unit tests.
* Fix missing property.
* Fix Modal title typing.
* Fetch all token rates at once. Add option for displaying all token values.
* Ensure spinner always shows before equivalent values are ready.
* Fix up test.
Fixes#226Fixes#383
Added a simple check to ensure that swap rates exist so we don't get a NaN error, which would be confusing to users.
Instead, the form is hidden and a spinner is shown until the bityRates are ready for the user.
* adds spinner while fetching
* added error on top of input
* removed classnames prop and added cn
* added simple err mssge
* css fixes and disabled button
* better err mssge generation and fixed swap details
* minor typo
* added redux notification on unreachable error
* minheight for err message and swap update on redux change
* fixed formatting and removed className prop
* Add definition file for bn.js
* Remove types-bn
* make isBN a static property
* progress commit -- swap out bignumber.js for bn.js
* Swap out bignumber for bn in vendor
* Change modn to number return
* Start to strip out units lib for a string manipulation based lib
* Convert codebase to only base units
* Get rid of useless component
* Handle only wei in values
* Use unit conversion in sidebar
* Automatically strip hex prefix, and handle decimal edge case
* Handle base 16 wei in transactions
* Make a render callback component for dealing with unit conversion
* Switch contracts to use bn.js, and get transaction values from signedTx instead of state
* Get send transaction working with bn.js
* Remove redundant hex stripping, return base value of tokens
* Cleanup unit file
* Re-implement toFixed for strings
* Use formatNumber in codebase
* Cleanup code
* Undo package test changes
* Update snapshot and remove console logs
* Use TokenValue / Wei more consistently where applicable
* Add typing to deterministicWallets, fix confirmation modal, make UnitDisplay more flexible
* Clean up prop handling in UnitDisplay
* Change instanceof to typeof check, change boolean of displayBalance
* Fix tsc errors
* Fix token row displaying wrong decimals
* Fix deterministic modal token display
* Handle hex and non hex strings automatically in BN conversion
* Fix handling of strings and numbers for BN
* add web3 fixes & comments
* Display short balances on deterministic modals
* add more tests, fix rounding
* Add spacer to balance sidebar network name
* Fix tsc error
* 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
* 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
* Fix broken test, re-add scryptsy to make this PR pass
* Fix definition module for thirdparty wallets
* Decrease n-factor to 1024, checksum address of keystore
* Update typedef for react-dom from 15 to 16
* Lock react-dom, set typescript to 2.5.2
* 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