* accept hot module changes, move routes into root component
* Fix "You cannot change <Router routes>; it will be ignored" error message by implementing solution in Github: https://github.com/ReactTraining/react-router/issues/2704#issuecomment-211352123
Router is only instantiated once in a production setting (e.g. not webpack-dev-server), so there is minimal overhead on producing a random key value for `Router`.
* Refactor bity config
* fix bug in refactor that would cause destinationKind amount to not load
* use function instead of string replace for building blockexplorers per PR comment
* First pass at handling API failure.
* Bity saga logic upgrade.
* Reusable response.ok logic. Small optimization to array join.
* Flow fixes.
* Streamlined some error handling, moved types.
* refactor notificationMessage
* MVP Bitcoin QR
* refactor currentrates and add loading state
* fix text space
* translate hardcoded text
* only show QR code when attempting to swap Bitcoin as the origin kind
* remove commented import
* add flow typings
* Don't show a notification of a stringified element
* hide buttons during send loading state
* fix transaction succeeded not clickable; provide error in action
* move BroadcastStatusTransaction into 'libs/transaction'
* use more succint Array.prototype.find
* rename resetState -> resetTransaction
* refactor and component componentDidUpdate logic
* rename disabled -> generateDisabled; comment componentDidUpdate
* add size to Spinner, use in ConfirmationModal; disable instead of hide buttons in Modal
* fix flow not understanding that an object wouldn't be null in this case anyway. silly flow
* various refactors; send entire balance working
* Updated all translations, moved into their own folders.
* Switch translations to use Markdown component.
* Remove markup tests, since were using a module now.
* Fix flow errors, render react elements instead of dangerouslysetinnerhtml.
* Make translate a connected component, so it updates with Redux.
* Fix flow errors
* First pass at returning raw when needed for placeholder.
* Added aria test.
* Fixed flow errors and linter warnings.
* Move settimeout to saga.
* Change reload to 250 ms from 1500 ms
* Added alpha banner to top of site.
* Grey out non functioning nav items. Redirect help to groovehq.
* Disable view wallet while it's just a stub.
* Disable non-implemented wallets.
* Add a little arrow icon.
* Replaced toEther function with toUnit to reduce the number of conversion functions wed need. Add tests for conversion functions.
* First pass at a styled confirm transaction modal.
* More data about data
* Hook up generated transaction with modal
* Fix modal position
* Add from address. Restyle a bit.
* Only show textareas and button if transaction has been generated.
* Remove need for param.
* Copy.
* Use non-relative path.
* Initial crack at transaction token support.
* Fix flow type
* Unit tests for contracts and erc20
* Convert contract class to ethereumjs-abi, caught a bug
* Add decodeArgs for contracts, decodeTransfer for erc20
* Show token value in modal
* Show value from transaction data in confirmation.
* Show address of receiver, not token contract
* Flow type
* Only accept bigs
* Unlog
* Use ethereumjs-abis method ID function
* Get transaction stuff out of state. Leave todo notes.
* Intuit token from transaction to address.
* Move generate transaction out of node and into libs/transaction.
* timeout -> interval
* Promise.reject -> throw
* Get default currency from network.
* Add more unit tests for decoding. Adopt the $ prefix for decoding calls.
* Use signed transaction in confirmation modal.
* Generating transaction ,placing into read only textareas.
* Fix async wallet getAddress cases.
* Chain id from network
* remove leftover console log
* Check balance before generating transaction.
* Translate error msgs, check for invalid address.
* Errors for gas limit and gas price issues.
* relayout rpc code, start contract helper
* Dont ask for estimate if theres no value
* Split out conversion of ether to wei hex into lib function.
* big.js -> bignumber.js
### Re-implements:
* min/max validators on initial currency swap selection
* polling of order status
* timer that persists across refreshes via localStorage (computed based on `createdTime` and `validFor` amount)
* swap persists across refreshes once order is created.
* various type refactors
### New additions:
* *SimpleButton* (can be PRd separately on request)
* clear loading state after order create (via SimpleButton and font-awesome)
* buffers for non-BTC swaps (bity does not actually accept 0.01 BTC worth of ETH as they claim they do in their JSON response, so a magic number of 10% is added to the minimum).
* Empty component, routes setup.
* Shared components for all Contracts inputs. Dont do anything yet.
* Check in reducer work so far. Still WIP.
* Header styling
* Check in input work so far, splitting to new branch.
* Strip down contracts inputs. Split out into form and explorer
* Contract selector
* Constantized config actions to use in contract saga.
* Interact explorer UI, no functionality
* Convert to constants, hook up errors
* Deploy and style cleanup.
* Remove unnecessary class.
* Fix flow errors with css modules
* Attempt at fixing all newly introduced flow errors in the contracts branch.
* Removed unused validator.
* Remove action constants, fix flow specificity in reducers
* Fix unit tests
* Move network contracts out of redux / sagas, and read directly from state with a selector in mapStateToProps.
* Fix initialState -> INITIAL_STATE rename
* foreach push -> concat
* Convert Swap to consistent style
* Generate wallet reducer cleanup.
* Confirm empty action in swap reducer
* Union types. Fix gen wallet collision
* Fix not using all actions in reducer. Added reducer state for is fetching from bity. Added todo to make that a loader.
* Readme instructions.
* Remove common action constants.
* Bring all actions and reducers inline with readme instructions.
* Readme fixes
* address comments
* add types for swap action creators (and separate out to separate module)
* DRY up swapInformation and onGoingSwapInformation -> SwapInfoHeader.
* stop bity rate loading when Swap will unmount
* split out SimpleDropdown to separate module
* various additional refactors
* README proposal.
* First pass at implementation of proposal on Footer and Header. Footer could use some work.
* Cleanup, and readme additions
* First pass at basic modal
* Modal open / close
* Modal close on esc key.
* Freeze body scrolling when modal is open.
* Use the index bestowed upon me.
* No close on shade click
* Only render children if modal is open. Also, dont show cursor on shade
* Use flexbox for simpler content height / scroll behavior.
* type modal, fix body scroll when mounted opened
* Modal width is sized by content, not hard coded sizes.
* Remove size from flow prop types.