diff --git a/.eslintrc b/.eslintrc
index 096e0b74..be435af2 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -17,6 +17,14 @@
     "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
     "jsx-a11y/no-static-element-interactions": 0,
     "jsx-a11y/no-noninteractive-element-interactions": 0,
+    "jsx-a11y/click-events-have-key-events": 0,
+    "jsx-a11y/label-has-for": [ 2, {
+      "components": [ "Label" ],
+      "required": {
+        "every": [ "id" ]
+      },
+      "allowChildren": false
+    }],
     "react/no-array-index-key": 0,
     "react/forbid-prop-types": 0,
     "camelcase": 0,
diff --git a/app/components/ChannelForm/ChannelForm.js b/app/components/ChannelForm/ChannelForm.js
deleted file mode 100644
index 5b25cde0..00000000
--- a/app/components/ChannelForm/ChannelForm.js
+++ /dev/null
@@ -1,90 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-import ReactModal from 'react-modal'
-
-import { FaClose } from 'react-icons/lib/fa'
-
-import StepOne from './StepOne'
-import StepTwo from './StepTwo'
-import StepThree from './StepThree'
-import StepFour from './StepFour'
-import Footer from './Footer'
-
-import styles from './ChannelForm.scss'
-
-const ChannelForm = ({
-  channelform,
-  openChannel,
-  closeChannelForm,
-  changeStep,
-  setNodeKey,
-  setLocalAmount,
-  setPushAmount,
-  channelFormHeader,
-  channelFormProgress,
-  stepTwoIsValid,
-  peers
-}) => {
-  const renderStep = () => {
-    const { step } = channelform
-
-    switch (step) {
-      case 1:
-        return <StepOne peers={peers} changeStep={changeStep} setNodeKey={setNodeKey} />
-      case 2:
-        return <StepTwo local_amt={channelform.local_amt} setLocalAmount={setLocalAmount} />
-      case 3:
-        return <StepThree push_amt={channelform.push_amt} setPushAmount={setPushAmount} />
-      default:
-        return <StepFour node_key={channelform.node_key} local_amt={channelform.local_amt} push_amt={channelform.push_amt} />
-    }
-  }
-
-  return (
-    <ReactModal
-      isOpen={channelform.isOpen}
-      ariaHideApp
-      shouldCloseOnOverlayClick
-      contentLabel='No Overlay Click Modal'
-      onRequestClose={closeChannelForm}
-      parentSelector={() => document.body}
-      className={styles.modal}
-    >
-      <div onClick={closeChannelForm} className={styles.modalClose}>
-        <FaClose />
-      </div>
-
-      <header className={styles.header}>
-        <h3>{channelFormHeader}</h3>
-        <div className={styles.progress} style={{ width: `${channelFormProgress}%` }} />
-      </header>
-
-      <div className={styles.content}>
-        {renderStep()}
-      </div>
-
-      <Footer
-        step={channelform.step}
-        changeStep={changeStep}
-        stepTwoIsValid={stepTwoIsValid}
-        submit={() => openChannel({ pubkey: channelform.node_key, local_amt: channelform.local_amt, push_amt: channelform.push_amt })}
-      />
-    </ReactModal>
-  )
-}
-
-ChannelForm.propTypes = {
-  channelform: PropTypes.object.isRequired,
-  openChannel: PropTypes.func.isRequired,
-  closeChannelForm: PropTypes.func.isRequired,
-  changeStep: PropTypes.func.isRequired,
-  setNodeKey: PropTypes.func.isRequired,
-  setLocalAmount: PropTypes.func.isRequired,
-  setPushAmount: PropTypes.func.isRequired,
-  channelFormHeader: PropTypes.string.isRequired,
-  channelFormProgress: PropTypes.number.isRequired,
-  stepTwoIsValid: PropTypes.bool.isRequired,
-  peers: PropTypes.array.isRequired
-}
-
-export default ChannelForm
diff --git a/app/components/ChannelForm/ChannelForm.scss b/app/components/ChannelForm/ChannelForm.scss
deleted file mode 100644
index 4e7ecdce..00000000
--- a/app/components/ChannelForm/ChannelForm.scss
+++ /dev/null
@@ -1,57 +0,0 @@
-@import '../../variables.scss';
-
-.modal {
-  width: 40%;
-  margin: 50px auto;
-  position: absolute;
-  top: auto;
-  left: 20%;
-  right: 0;
-  bottom: auto;
-  background: $white;
-  outline: none;
-  z-index: -2;
-  border: 1px solid $darkgrey;
-}
-
-.modalClose {
-  position: absolute;
-  top: -13px;
-  right: -13px;
-  display: block;
-  font-size: 16px;
-  line-height: 27px;
-  width: 32px;
-  height: 32px;
-  background: $white;
-  border-radius: 50%;
-  color: $darkestgrey;
-  cursor: pointer;
-  text-align: center;
-  z-index: 2;
-  transition: all 0.25s;
-}
-
-.modalClose:hover {
-  background: $darkgrey;
-}
-
-.header {
-  padding: 20px;
-  background: $lightgrey;
-  text-align: center;
-  font-family: 'Jigsaw Light';
-  text-transform: uppercase;
-  position: relative;
-  z-index: -2;
-}
-
-.progress {
-  transition: all 0.2s ease;
-  background: $main;
-  position: absolute;
-  height: 100%;
-  top: 0;
-  left: 0;
-  z-index: -1;
-}
diff --git a/app/components/ChannelForm/Footer.js b/app/components/ChannelForm/Footer.js
deleted file mode 100644
index cba26b01..00000000
--- a/app/components/ChannelForm/Footer.js
+++ /dev/null
@@ -1,46 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-import styles from './Footer.scss'
-
-const Footer = ({
-  step, changeStep, stepTwoIsValid, submit
-}) => {
-  if (step === 1) { return null }
-
-  // See if the next button on step 2 should be active
-  const nextIsInactive = step === 2 && !stepTwoIsValid
-
-  // Function that's called when the user clicks "next" in the form
-  const nextFunc = () => {
-    if (nextIsInactive) { return }
-
-    changeStep(step + 1)
-  }
-
-  const rightButtonText = step === 4 ? 'Submit' : 'Next'
-  const rightButtonOnClick = step === 4 ? () => submit() : nextFunc
-
-  return (
-    <div className={styles.footer}>
-      <div className='buttonContainer'>
-        <div className='buttonPrimary' onClick={() => changeStep(step - 1)}>
-          Back
-        </div>
-      </div>
-      <div className='buttonContainer' onClick={rightButtonOnClick}>
-        <div className={`buttonPrimary ${nextIsInactive && 'inactive'}`}>
-          {rightButtonText}
-        </div>
-      </div>
-    </div>
-  )
-}
-
-Footer.propTypes = {
-  step: PropTypes.number.isRequired,
-  changeStep: PropTypes.func.isRequired,
-  stepTwoIsValid: PropTypes.bool.isRequired,
-  submit: PropTypes.func.isRequired
-}
-
-export default Footer
diff --git a/app/components/ChannelForm/Footer.scss b/app/components/ChannelForm/Footer.scss
deleted file mode 100644
index 7d345b72..00000000
--- a/app/components/ChannelForm/Footer.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-@import '../../variables.scss';
-
-.footer {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
-  padding-bottom: 30px;
-
-  div {
-    margin: 0 20px;
-
-    div {
-      padding: 18px 60px 15px 60px;
-      color: $black;
-    }
-  }
-}
\ No newline at end of file
diff --git a/app/components/ChannelForm/StepFour.js b/app/components/ChannelForm/StepFour.js
deleted file mode 100644
index a1f64582..00000000
--- a/app/components/ChannelForm/StepFour.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-import styles from './StepFour.scss'
-
-const StepFour = ({ node_key, local_amt, push_amt }) => (
-  <div className={styles.container}>
-    <div className={styles.nodekey}>
-      <h4>Peer</h4>
-      <h2>{node_key}</h2>
-    </div>
-
-    <div className={styles.amounts}>
-      <div className={styles.localamt}>
-        <h4>Local Amount</h4>
-        <h3>{local_amt}</h3>
-      </div>
-      <div className={styles.pushamt}>
-        <h4>Push Amount</h4>
-        <h3>{push_amt}</h3>
-      </div>
-    </div>
-  </div>
-)
-
-StepFour.propTypes = {
-  node_key: PropTypes.string.isRequired,
-  local_amt: PropTypes.oneOfType([
-    PropTypes.number,
-    PropTypes.string
-  ]),
-  push_amt: PropTypes.oneOfType([
-    PropTypes.number,
-    PropTypes.string
-  ])
-}
-
-export default StepFour
diff --git a/app/components/ChannelForm/StepFour.scss b/app/components/ChannelForm/StepFour.scss
deleted file mode 100644
index 8332f5a6..00000000
--- a/app/components/ChannelForm/StepFour.scss
+++ /dev/null
@@ -1,36 +0,0 @@
-@import '../../variables.scss';
-
-.container {
-  padding: 50px;
-  
-  h4 {
-    text-transform: uppercase;
-    font-size: 14px;
-    margin-bottom: 10px;
-  }
-
-  h3 {
-    text-align: center;
-    color: $main;
-    font-size: 50px;
-  }
-}
-
-.nodekey {
-  margin-bottom: 50px;
-  padding: 20px;
-  border-bottom: 1px solid $main;
-
-  h2 {
-    font-size: 12px;
-    font-weight: bold;
-  }
-}
-
-.amounts {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-around;
-  margin-bottom: 50px;
-  padding: 20px;
-}
\ No newline at end of file
diff --git a/app/components/ChannelForm/StepOne.js b/app/components/ChannelForm/StepOne.js
deleted file mode 100644
index 9758cc27..00000000
--- a/app/components/ChannelForm/StepOne.js
+++ /dev/null
@@ -1,74 +0,0 @@
-import React, { Component } from 'react'
-import PropTypes from 'prop-types'
-import { MdSearch } from 'react-icons/lib/md'
-import styles from './StepOne.scss'
-
-class StepOne extends Component {
-  constructor(props) {
-    super(props)
-    this.state = {
-      peers: props.peers,
-      searchQuery: ''
-    }
-
-    this.onSearchQuery = this.onSearchQuery.bind(this)
-    this.peerClicked = this.peerClicked.bind(this)
-  }
-
-  onSearchQuery(searchQuery) {
-    const peers = this.props.peers.filter(peer => peer.pub_key.includes(searchQuery))
-
-    this.setState({ peers, searchQuery })
-  }
-
-  peerClicked(peer) {
-    const { setNodeKey, changeStep } = this.props
-
-    setNodeKey(peer.pub_key)
-    changeStep(2)
-  }
-
-  render() {
-    const { peers, searchQuery } = this.state
-
-    return (
-      <div>
-        <div className={styles.search}>
-          <label className={`${styles.label} ${styles.input}`} htmlFor='peersSearch'>
-            <MdSearch />
-          </label>
-          <input
-            value={searchQuery}
-            onChange={event => this.onSearchQuery(event.target.value)}
-            className={`${styles.text} ${styles.input}`}
-            placeholder='Search your peers by their public key'
-            type='text'
-            id='peersSearch'
-          />
-        </div>
-
-        <ul className={styles.peers}>
-          {peers.length > 0 &&
-            peers.map(peer => (
-              <li
-                key={peer.peer_id}
-                className={styles.peer}
-                onClick={() => this.peerClicked(peer)}
-              >
-                <h4>{peer.address}</h4>
-                <h1>{peer.pub_key}</h1>
-              </li>
-            ))}
-        </ul>
-      </div>
-    )
-  }
-}
-
-StepOne.propTypes = {
-  peers: PropTypes.array.isRequired,
-  setNodeKey: PropTypes.func.isRequired,
-  changeStep: PropTypes.func.isRequired
-}
-
-export default StepOne
diff --git a/app/components/ChannelForm/StepOne.scss b/app/components/ChannelForm/StepOne.scss
deleted file mode 100644
index a9f25c73..00000000
--- a/app/components/ChannelForm/StepOne.scss
+++ /dev/null
@@ -1,74 +0,0 @@
-@import '../../variables.scss';
-
-.peers {
-  h2 {
-    text-transform: uppercase;
-    font-weight: 200;
-    padding: 10px 0;
-    border-bottom: 1px solid $grey;
-    color: $darkestgrey;
-  }
-}
-
-.search {
-  height: 50px;
-  padding: 2px;
-  border-bottom: 1px solid $darkgrey;
-
-  .input {
-    display: inline-block;
-    vertical-align: top;
-    height: 100%;
-  }
-
-  .label {
-    width: 5%;
-    line-height: 50px;
-    font-size: 16px;
-    text-align: center;
-    cursor: pointer;
-  }
-
-  .text {
-    width: 95%;
-    outline: 0;
-    padding: 0;
-    border: 0;
-    border-radius: 0;
-    height: 50px;
-    font-size: 16px;
-  }
-}
-
-.peer {
-  position: relative;
-  background: $white;
-  padding: 10px;
-  border-top: 1px solid $grey;
-  cursor: pointer;
-  transition: all 0.25s;
-
-  &:hover {
-    opacity: 0.5;
-  }
-
-  &:first-child {
-    border: none;
-  }
-
-  h4, h1 {
-    margin: 10px 0;
-  }
-
-  h4 {
-    font-size: 12px;
-    font-weight: bold;
-    color: $black;
-  }
-
-  h1 {
-    font-size: 14px;
-    font-weight: 200;
-    color: $main;
-  }
-}
\ No newline at end of file
diff --git a/app/components/ChannelForm/StepThree.js b/app/components/ChannelForm/StepThree.js
deleted file mode 100644
index d7045391..00000000
--- a/app/components/ChannelForm/StepThree.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import React, { Component } from 'react'
-import PropTypes from 'prop-types'
-import CurrencyIcon from 'components/CurrencyIcon'
-import styles from './StepThree.scss'
-
-class StepThree extends Component {
-  render() {
-    const { push_amt, setPushAmount } = this.props
-
-    return (
-      <div className={styles.container}>
-        <div className={styles.explainer}>
-          <h2>Push Amount</h2>
-          <p>
-            The push amount is the amount of bitcoin (if any at all) you&apos;d like
-            to &quot;push&quot; to the other side of the channel when it opens.
-            This amount will be set on the remote side of the channel as part of the initial commitment state.
-          </p>
-        </div>
-
-        <form>
-          <label htmlFor='amount'>
-            <CurrencyIcon currency='btc' crypto='btc' />
-          </label>
-          <input
-            type='number'
-            min='0'
-            max='0.16'
-            ref={(input) => { this.input = input }}
-            size=''
-            value={push_amt}
-            onChange={event => setPushAmount(event.target.value)}
-            id='amount'
-            style={{ width: isNaN((push_amt.length + 1) * 55) ? 140 : (push_amt.length + 1) * 55 }}
-          />
-        </form>
-      </div>
-    )
-  }
-}
-
-StepThree.propTypes = {
-  push_amt: PropTypes.oneOfType([
-    PropTypes.number,
-    PropTypes.string
-  ]).isRequired,
-  setPushAmount: PropTypes.func.isRequired
-}
-
-export default StepThree
diff --git a/app/components/ChannelForm/StepThree.scss b/app/components/ChannelForm/StepThree.scss
deleted file mode 100644
index 0a5e6370..00000000
--- a/app/components/ChannelForm/StepThree.scss
+++ /dev/null
@@ -1,58 +0,0 @@
-@import '../../variables.scss';
-
-.container {
-  margin-bottom: 50px;
-  padding: 20px;
-
-  .explainer {
-    margin: 0px 0 50px 0;
-    padding-bottom: 20px;
-    border-bottom: 1px solid $lightgrey;
-
-    h2 {
-      margin: 0 0 20px 0;
-      font-size: 28px;
-    }
-
-    p {
-      line-height: 1.5;
-      font-size: 16px;
-    }
-  }
-
-  form {
-    display: flex;
-    flex-direction: row;
-    justify-content: center;
-    align-items: center;
-  }
-
-  label {
-    height: 200px;
-    color: $main;
-
-    svg {
-      width: 65px;
-      height: 65px;
-    }
-
-    svg[data-icon='ltc'] {
-      margin-right: 10px;
-
-      g {
-        transform: scale(1.75) translate(-5px, -5px);
-      }
-    }
-  }
-  
-  input[type=number] {
-    color: $main;
-    width: 30px;
-    height: 200px;
-    font-size: 100px;
-    font-weight: 200;
-    border: none;
-    outline: 0;
-    -webkit-appearance: none;
-  }
-}
\ No newline at end of file
diff --git a/app/components/ChannelForm/StepTwo.js b/app/components/ChannelForm/StepTwo.js
deleted file mode 100644
index b4a6e4cb..00000000
--- a/app/components/ChannelForm/StepTwo.js
+++ /dev/null
@@ -1,49 +0,0 @@
-import React, { Component } from 'react'
-import PropTypes from 'prop-types'
-import CurrencyIcon from 'components/CurrencyIcon'
-import styles from './StepTwo.scss'
-
-class StepTwo extends Component {
-  render() {
-    const { local_amt, setLocalAmount } = this.props
-
-    return (
-      <div className={styles.container}>
-        <div className={styles.explainer}>
-          <h2>Local Amount</h2>
-          <p>
-            Local amount is the amount of bitcoin that you would like to commit to the channel.
-            This is the amount that will be sent in an on-chain transaction to open your Lightning channel.
-          </p>
-        </div>
-
-        <form>
-          <label htmlFor='amount'>
-            <CurrencyIcon currency='btc' crypto='btc' />
-          </label>
-          <input
-            type='number'
-            min='0'
-            max='0.16'
-            ref={(input) => { this.input = input }}
-            size=''
-            value={local_amt}
-            onChange={event => setLocalAmount(event.target.value)}
-            id='amount'
-            style={{ width: isNaN((local_amt.length + 1) * 55) ? 140 : (local_amt.length + 1) * 55 }}
-          />
-        </form>
-      </div>
-    )
-  }
-}
-
-StepTwo.propTypes = {
-  local_amt: PropTypes.oneOfType([
-    PropTypes.string,
-    PropTypes.number
-  ]).isRequired,
-  setLocalAmount: PropTypes.func.isRequired
-}
-
-export default StepTwo
diff --git a/app/components/ChannelForm/StepTwo.scss b/app/components/ChannelForm/StepTwo.scss
deleted file mode 100644
index 0a5e6370..00000000
--- a/app/components/ChannelForm/StepTwo.scss
+++ /dev/null
@@ -1,58 +0,0 @@
-@import '../../variables.scss';
-
-.container {
-  margin-bottom: 50px;
-  padding: 20px;
-
-  .explainer {
-    margin: 0px 0 50px 0;
-    padding-bottom: 20px;
-    border-bottom: 1px solid $lightgrey;
-
-    h2 {
-      margin: 0 0 20px 0;
-      font-size: 28px;
-    }
-
-    p {
-      line-height: 1.5;
-      font-size: 16px;
-    }
-  }
-
-  form {
-    display: flex;
-    flex-direction: row;
-    justify-content: center;
-    align-items: center;
-  }
-
-  label {
-    height: 200px;
-    color: $main;
-
-    svg {
-      width: 65px;
-      height: 65px;
-    }
-
-    svg[data-icon='ltc'] {
-      margin-right: 10px;
-
-      g {
-        transform: scale(1.75) translate(-5px, -5px);
-      }
-    }
-  }
-  
-  input[type=number] {
-    color: $main;
-    width: 30px;
-    height: 200px;
-    font-size: 100px;
-    font-weight: 200;
-    border: none;
-    outline: 0;
-    -webkit-appearance: none;
-  }
-}
\ No newline at end of file
diff --git a/app/components/ChannelForm/index.js b/app/components/ChannelForm/index.js
deleted file mode 100644
index a30b36cb..00000000
--- a/app/components/ChannelForm/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import ChannelForm from './ChannelForm'
-
-export default ChannelForm
diff --git a/app/components/Channels/Channel.js b/app/components/Channels/Channel.js
deleted file mode 100644
index a2c8b487..00000000
--- a/app/components/Channels/Channel.js
+++ /dev/null
@@ -1,95 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-import { FaCircle } from 'react-icons/lib/fa'
-import { btc } from 'utils'
-import styles from './Channel.scss'
-
-const Channel = ({
-  ticker, channel, closeChannel, currentTicker
-}) => (
-  <li className={styles.channel}>
-    <header className={styles.header}>
-      <div>
-        <span className={styles.status}>Open</span>
-        {
-          channel.active ?
-            <span className={styles.active}>
-              <FaCircle />
-              <i>Active</i>
-            </span>
-            :
-            <span className={styles.notactive}>
-              <FaCircle />
-              <i>Not Active</i>
-            </span>
-        }
-      </div>
-      <div>
-        <p
-          className={styles.close}
-          onClick={() => closeChannel({ channel_point: channel.channel_point })}
-        >
-          Close channel
-        </p>
-      </div>
-    </header>
-    <div className={styles.content}>
-      <div className={styles.left}>
-        <section className={styles.remotePubkey}>
-          <span>Remote Pubkey</span>
-          <h4>{channel.remote_pubkey}</h4>
-        </section>
-        <section className={styles.channelPoint}>
-          <span>Channel Point</span>
-          <h4>{channel.channel_point}</h4>
-        </section>
-      </div>
-      <div className={styles.right}>
-        <section className={styles.capacity}>
-          <span>Capacity</span>
-          <h2>
-            {
-              ticker.currency === 'btc' ?
-                btc.satoshisToBtc(channel.capacity)
-                :
-                btc.satoshisToUsd(channel.capacity, currentTicker.price_usd)
-            }
-          </h2>
-        </section>
-        <div className={styles.balances}>
-          <section>
-            <span>Local</span>
-            <h4>
-              {
-                ticker.currency === 'btc' ?
-                  btc.satoshisToBtc(channel.local_balance)
-                  :
-                  btc.satoshisToUsd(channel.local_balance, currentTicker.price_usd)
-              }
-            </h4>
-          </section>
-          <section>
-            <span>Remote</span>
-            <h4>
-              {
-                ticker.currency === 'btc' ?
-                  btc.satoshisToBtc(channel.remote_balance)
-                  :
-                  btc.satoshisToUsd(channel.remote_balance, currentTicker.price_usd)
-              }
-            </h4>
-          </section>
-        </div>
-      </div>
-    </div>
-  </li>
-)
-
-Channel.propTypes = {
-  ticker: PropTypes.object.isRequired,
-  channel: PropTypes.object.isRequired,
-  closeChannel: PropTypes.func.isRequired,
-  currentTicker: PropTypes.object.isRequired
-}
-
-export default Channel
diff --git a/app/components/Channels/Channel.scss b/app/components/Channels/Channel.scss
deleted file mode 100644
index e985cf8e..00000000
--- a/app/components/Channels/Channel.scss
+++ /dev/null
@@ -1,125 +0,0 @@
-@import '../../variables.scss';
-
-.channel {
-	position: relative;
-	background: $white;
-	margin: 5px 0;
-	padding: 10px;
-	border-top: 1px solid $white;
-	cursor: pointer;
-	transition: all 0.25s;
-	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
-
-	&:hover {
-		opacity: 0.75;
-		box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
-	}
-
-	&:first-child {
-		border: none;
-	}
-
-	.header {
-		display: flex;
-		flex-direction: row;
-		justify-content: space-between;
-
-		.status, .active, .notactive {
-			padding: 10px;
-			text-transform: uppercase;
-			font-weight: bold;
-			font-size: 10px;
-		}
-
-		.status {
-			color: $main;
-		}
-
-		.active i, .notactive i {
-			margin-left: 5px;
-		}
-
-		.active {
-			color: $green;
-		}
-
-		.notactive {
-			color: $red;
-		}
-
-		.close {
-			padding: 10px;
-			font-size: 10px;
-			text-transform: uppercase;
-			color: $red;
-			cursor: pointer;
-
-			&:hover {
-				color: lighten($red, 10%);
-				text-decoration: underline;
-			}
-		}
-	}
-
-	.content {
-		display: flex;
-		flex-direction: row;
-		justify-content: space-between;
-	}
-
-
-	.left, .right {
-		padding: 0 10px;
-		margin-bottom: 5;
-
-		section {
-			margin-bottom: 20px;
-
-			span {
-				text-transform: uppercase;
-				letter-spacing: 1.6px;
-				color: $black;
-				font-size: 10px;
-				font-weight: bold;
-			}
-
-			h2 {
-				font-size: 30px;
-				padding: 5px 0;
-				color: $main;
-			}
-
-			h4 {
-				margin-top: 5px;
-			}
-		}
-	}
-
-	.left {
-		flex: 7;
-	}
-
-	.right {
-		flex: 3;
-
-		.capacity {
-			text-align: center;
-			margin-bottom: 10px;
-		}
-
-		.balances {
-			display: flex;
-			justify-content: space-between;
-
-			section {
-				flex: 5;
-				text-align: center;
-
-				h4 {
-					color: $main;
-					font-size: 16px;
-				}
-			}
-		}
-	}
-}
diff --git a/app/components/Channels/ChannelForm.js b/app/components/Channels/ChannelForm.js
deleted file mode 100644
index 9f6cfd87..00000000
--- a/app/components/Channels/ChannelForm.js
+++ /dev/null
@@ -1,128 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-import ReactModal from 'react-modal'
-import { FaUser } from 'react-icons/lib/fa'
-import CurrencyIcon from 'components/CurrencyIcon'
-import { usd, btc } from 'utils'
-import styles from './ChannelForm.scss'
-
-const ChannelForm = ({
-  form, setForm, ticker, peers, openChannel, currentTicker
-}) => {
-  const submitClicked = () => {
-    const { node_key, local_amt, push_amt } = form
-
-    const localamt = ticker.currency === 'usd' ? btc.btcToSatoshis(usd.usdToBtc(local_amt, currentTicker.price_usd)) : btc.btcToSatoshis(local_amt)
-    const pushamt = ticker.currency === 'usd' ? btc.btcToSatoshis(usd.usdToBtc(push_amt, currentTicker.price_usd)) : btc.btcToSatoshis(push_amt)
-
-    openChannel({ pubkey: node_key, localamt, pushamt })
-    // setForm({ isOpen: false })
-  }
-
-  const customStyles = {
-    overlay: {
-      cursor: 'pointer',
-      overflowY: 'auto'
-    },
-    content: {
-      top: 'auto',
-      left: '20%',
-      right: '0',
-      bottom: 'auto',
-      width: '40%',
-      margin: '50px auto',
-      padding: '40px'
-    }
-  }
-
-  return (
-    <div>
-      <ReactModal
-        isOpen={form.isOpen}
-        contentLabel='No Overlay Click Modal'
-        ariaHideApp
-        shouldCloseOnOverlayClick
-        onRequestClose={() => setForm({ isOpen: false })}
-        parentSelector={() => document.body}
-        style={customStyles}
-      >
-        <div className={styles.form}>
-          <h1 className={styles.title}>Open a new channel</h1>
-
-          <section className={styles.pubkey}>
-            <label htmlFor='nodekey'><FaUser /></label>
-            <input
-              type='text'
-              size=''
-              placeholder='Peer public key'
-              value={form.node_key}
-              onChange={event => setForm({ node_key: event.target.value })}
-              id='nodekey'
-            />
-          </section>
-          <section className={styles.local}>
-            <label htmlFor='localamount'>
-              <CurrencyIcon currency={ticker.currency} crypto={ticker.crypto} />
-            </label>
-            <input
-              type='text'
-              size=''
-              placeholder='Local amount'
-              value={form.local_amt}
-              onChange={event => setForm({ local_amt: event.target.value })}
-              id='localamount'
-            />
-          </section>
-          <section className={styles.push}>
-            <label htmlFor='pushamount'>
-              <CurrencyIcon currency={ticker.currency} crypto={ticker.crypto} />
-            </label>
-            <input
-              type='text'
-              size=''
-              placeholder='Push amount'
-              value={form.push_amt}
-              onChange={event => setForm({ push_amt: event.target.value })}
-              id='pushamount'
-            />
-          </section>
-
-          <ul className={styles.peers}>
-            <h2>Connected Peers</h2>
-            {
-              peers.length ?
-                peers.map(peer =>
-                  (
-                    <li
-                      key={peer.peer_id}
-                      className={styles.peer}
-                      onClick={() => setForm({ node_key: peer.pub_key })}
-                    >
-                      <h4>{peer.address}</h4>
-                      <h1>{peer.pub_key}</h1>
-                    </li>
-                  ))
-                :
-                null
-            }
-          </ul>
-
-          <div className={styles.buttonGroup}>
-            <div className={styles.button} onClick={submitClicked}>Submit</div>
-          </div>
-        </div>
-      </ReactModal>
-    </div>
-  )
-}
-
-ChannelForm.propTypes = {
-  form: PropTypes.object.isRequired,
-  setForm: PropTypes.func.isRequired,
-  ticker: PropTypes.object.isRequired,
-  peers: PropTypes.array.isRequired,
-  openChannel: PropTypes.func.isRequired,
-  currentTicker: PropTypes.object.isRequired
-}
-
-export default ChannelForm
diff --git a/app/components/Channels/ChannelForm.scss b/app/components/Channels/ChannelForm.scss
deleted file mode 100644
index f76cc037..00000000
--- a/app/components/Channels/ChannelForm.scss
+++ /dev/null
@@ -1,123 +0,0 @@
-@import '../../variables.scss';
-
-.title {
-	text-align: center;
-	font-size: 24px;
-	color: $black;
-	margin-bottom: 50px;
-}
-
-.pubkey, .local, .push {
-	display: flex;
-	justify-content: center;
-	font-size: 18px;
-	height: auto;
-  min-height: 55px;
-  margin-bottom: 20px;
-  border: 1px solid $traditionalgrey;
-  border-radius: 6px;
-  position: relative;
-  padding: 0 20px;
-
-	label, input[type=text] {
-		font-size: inherit;
-	}
-
-	label {
-		padding-top: 19px;
-  	padding-bottom: 12px;
-  	color: $traditionalgrey;
-
-    svg[data-icon='ltc'] {
-      width: 18px;
-      height: 16px;
-
-      g {
-        transform: scale(1.75) translate(-5px, -5px);
-      }
-    }
-	}
-
-	input[type=text] {
-		width: 100%;
-		border: none;
-  	outline: 0;
-  	-webkit-appearance: none;
-  	height: 55px;
-  	padding: 0 10px;
-	}
-}
-
-.peers {
-	margin-bottom: 50px;
-
-	h2 {
-		text-transform: uppercase;
-		font-weight: 200;
-		padding: 10px 0;
-		border-bottom: 1px solid $grey;
-		color: $darkestgrey;
-	}
-}
-
-.peer {
-	position: relative;
-	background: $white;
-	padding: 10px;
-	border-top: 1px solid $grey;
-	cursor: pointer;
-	transition: all 0.25s;
-
-	&:hover {
-		opacity: 0.5;
-	}
-
-	&:first-child {
-		border: none;
-	}
-
-	h4, h1 {
-		margin: 10px 0;
-	}
-
-	h4 {
-		font-size: 12px;
-		font-weight: bold;
-		color: $black;
-	}
-
-	h1 {
-		font-size: 14px;
-		font-weight: 200;
-		color: $main;
-	}
-}
-
-.buttonGroup {
-	width: 100%;
-	display: flex;
-	flex-direction: row;
-	border-radius: 6px;
-  overflow: hidden;
-
-  .button {
-  	cursor: pointer;
-		height: 55px;
-		min-height: 55px;
-		text-transform: none;
-		font-size: 18px;
-		transition: opacity .2s ease-out;
-		background: $main;
-    color: $white;
-    border: none;
-    font-weight: 500;
-    padding: 0;
-    width: 100%;
-    text-align: center;
-    line-height: 55px;
-
-    &:first-child {
-    	border-right: 1px solid lighten($main, 20%);
-    }
-  }
-}
diff --git a/app/components/Channels/ChannelModal.js b/app/components/Channels/ChannelModal.js
deleted file mode 100644
index b4cc648c..00000000
--- a/app/components/Channels/ChannelModal.js
+++ /dev/null
@@ -1,103 +0,0 @@
-import { shell } from 'electron'
-import React from 'react'
-import PropTypes from 'prop-types'
-import ReactModal from 'react-modal'
-import styles from './ChannelModal.scss'
-
-const ChannelModal = ({
-  isOpen, resetChannel, channel, explorerLinkBase, closeChannel
-}) => {
-  const customStyles = {
-    overlay: {
-      cursor: 'pointer',
-      overflowY: 'auto'
-    },
-    content: {
-      top: 'auto',
-      left: '20%',
-      right: '0',
-      bottom: 'auto',
-      width: '40%',
-      margin: '50px auto',
-      padding: '40px'
-    }
-  }
-
-  const closeChannelClicked = () => {
-    closeChannel({ channel_point: channel.channel_point })
-    resetChannel(null)
-  }
-
-  return (
-    <ReactModal
-      isOpen={isOpen}
-      contentLabel='No Overlay Click Modal'
-      ariaHideApp
-      shouldCloseOnOverlayClick
-      onRequestClose={() => resetChannel(null)}
-      parentSelector={() => document.body}
-      style={customStyles}
-    >
-      {
-        channel ?
-          <div className={styles.channel}>
-            <header className={styles.header}>
-              <h1 data-hint='Remote public key' className='hint--top-left'>{channel.remote_pubkey}</h1>
-              <h2
-                data-hint='Channel point'
-                className='hint--top-left'
-                onClick={() => shell.openExternal(`${explorerLinkBase}/tx/${channel.channel_point.split(':')[0]}`)}
-              >
-                {channel.channel_point}
-              </h2>
-            </header>
-
-            <div className={styles.balances}>
-              <section className={styles.capacity}>
-                <h3>{channel.capacity}</h3>
-                <span>Capacity</span>
-              </section>
-              <div className={styles.balance}>
-                <section className={styles.local}>
-                  <h4>{channel.local_balance}</h4>
-                  <span>Local</span>
-                </section>
-                <section className={styles.remote}>
-                  <h4>{channel.remote_balance}</h4>
-                  <span>Remote</span>
-                </section>
-              </div>
-            </div>
-            <div className={styles.details}>
-              <dl>
-                <dt>Sent</dt>
-                <dd>{channel.total_satoshis_sent}</dd>
-                <dt>Received</dt>
-                <dd>{channel.total_satoshis_received}</dd>
-                <dt>Updates</dt>
-                <dd>{channel.num_updates}</dd>
-              </dl>
-            </div>
-            <div className={styles.close} onClick={closeChannelClicked}>
-              <div>Close channel</div>
-            </div>
-            <footer className={styles.active}>
-              <p>{channel.active ? 'Active' : 'Not active'}</p>
-            </footer>
-          </div>
-          :
-          null
-      }
-    </ReactModal>
-  )
-}
-
-ChannelModal.propTypes = {
-  isOpen: PropTypes.bool.isRequired,
-  resetChannel: PropTypes.func.isRequired,
-  channel: PropTypes.object,
-  explorerLinkBase: PropTypes.string.isRequired,
-  closeChannel: PropTypes.func.isRequired
-}
-
-export default ChannelModal
diff --git a/app/components/Channels/ChannelModal.scss b/app/components/Channels/ChannelModal.scss
deleted file mode 100644
index 93e5cd13..00000000
--- a/app/components/Channels/ChannelModal.scss
+++ /dev/null
@@ -1,124 +0,0 @@
-@import '../../variables.scss';
-
-.modalChannel {
-	padding: 40px;
-}
-
-.header {
-	margin-bottom: 50px;
-
-	h1 {
-		color: $black;
-		text-align: center;
-		margin-bottom: 5px;
-		font-weight: bold;
-	}
-
-	h2 {
-		color: $darkestgrey;
-		font-size: 14px;
-		text-align: center;
-
-		&:hover {
-			color: $main;
-			text-decoration: underline;
-		}
-	}
-}
-
-.balances {
-	.capacity {
-		text-align: center;
-		align-items: center;
-
-		h3 {
-			color: $main;
-			font-size: 40px;
-		}
-
-		span {
-			color: $black;
-			font-size: 16px;
-		}
-	}
-
-	.balance {
-		display: flex;
-		flex-direction: row;
-		justify-content: space-between;
-
-		.local, .remote {
-			flex: 5;
-			padding: 10px 30px;
-			text-align: center;
-
-			h4 {
-				font-size: 20px;
-				color: $main;
-			}
-
-			span {
-				color: $black;
-				font-size: 12px;
-			}
-		}
-	}
-}
-
-.details {
-	width: 75%;
-	margin: 20px auto;
-
-	dt {
-		text-align: left;
-    float: left;
-    clear: left;
-    font-weight: 500;
-    padding: 20px 35px 19px 0;
-    color: $black;
-    font-weight: bold;
-	}
-
-	dd {
-		text-align: right;
-    font-weight: 400;
-    padding: 19px 0;
-    margin-left: 0;
-    border-top: 1px solid $darkgrey;
-	}
-}
-
-.close {
-	text-align: center;
-
-	div {
-		width: 35%;
-		margin: 0 auto;
-		cursor: pointer;
-		height: 55px;
-		min-height: 55px;
-		text-transform: none;
-		font-size: 18px;
-		transition: opacity .2s ease-out;
-		background: $red;
-    color: $white;
-    border: none;
-    font-weight: 500;
-    padding: 0;
-    text-align: center;
-    line-height: 55px;
-    transition: all 0.25s;
-    border-radius: 5px;
-
-    &:hover {
-    	background: darken($red, 10%);
-    }
-	}
-}
-
-.active {
-	color: $darkestgrey;
-	text-align: center;
-	margin-top: 50px;
-	text-transform: uppercase;
-}
diff --git a/app/components/Channels/Channels.js b/app/components/Channels/Channels.js
deleted file mode 100644
index 43e47371..00000000
--- a/app/components/Channels/Channels.js
+++ /dev/null
@@ -1,140 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-import { TiPlus } from 'react-icons/lib/ti'
-import { FaRepeat } from 'react-icons/lib/fa'
-import ChannelModal from './ChannelModal'
-import ChannelForm from './ChannelForm'
-import Channel from './Channel'
-import OpenPendingChannel from './OpenPendingChannel'
-import ClosedPendingChannel from './ClosedPendingChannel'
-import styles from './Channels.scss'
-
-const Channels = ({
-  fetchChannels,
-  ticker,
-  peers,
-  channelsLoading,
-  modalChannel,
-  setChannel,
-  channelModalOpen,
-  channelForm,
-  setChannelForm,
-  allChannels,
-  openChannel,
-  closeChannel,
-  currentTicker,
-  explorerLinkBase
-}) => {
-  const refreshClicked = (event) => {
-    // store event in icon so we dont get an error when react clears it
-    const icon = event.currentTarget
-
-    // fetch channels
-    fetchChannels()
-
-    // clear animation after the second so we can reuse it
-    setTimeout(() => { icon.style.animation = '' }, 1000)
-
-    // spin icon for 1 sec
-    icon.style.animation = 'spin 1000ms linear 1'
-  }
-
-  return (
-    <div className={styles.channels}>
-      <ChannelModal
-        isOpen={channelModalOpen}
-        resetChannel={setChannel}
-        channel={modalChannel}
-        explorerLinkBase={explorerLinkBase}
-        closeChannel={closeChannel}
-      />
-      <ChannelForm
-        form={channelForm}
-        setForm={setChannelForm}
-        ticker={ticker}
-        peers={peers}
-        openChannel={openChannel}
-        currentTicker={currentTicker}
-      />
-      <div className={styles.header}>
-        <h3>Channels</h3>
-        <span
-          className={`${styles.refresh} hint--top`}
-          data-hint='Refresh your channels list'
-
-        >
-          <FaRepeat
-            style={{ verticalAlign: 'baseline' }}
-            onClick={refreshClicked}
-          />
-        </span>
-        <div
-          className={`${styles.openChannel} hint--top`}
-          data-hint='Open a channel'
-          onClick={() => setChannelForm({ isOpen: true })}
-        >
-          <TiPlus />
-        </div>
-      </div>
-      <ul>
-        {
-          !channelsLoading ?
-            allChannels.map((channel, index) => {
-              if (Object.prototype.hasOwnProperty.call(channel, 'blocks_till_open')) {
-                return (
-                  <OpenPendingChannel
-                    key={index}
-                    channel={channel}
-                    ticker={ticker}
-                    currentTicker={currentTicker}
-                    explorerLinkBase={explorerLinkBase}
-                  />
-                )
-              } else if (Object.prototype.hasOwnProperty.call(channel, 'closing_txid')) {
-                return (
-                  <ClosedPendingChannel
-                    key={index}
-                    channel={channel}
-                    ticker={ticker}
-                    currentTicker={currentTicker}
-                    explorerLinkBase={explorerLinkBase}
-                  />
-                )
-              }
-              return (
-                <Channel
-                  key={index}
-                  ticker={ticker}
-                  channel={channel}
-                  setChannel={setChannel}
-                  currentTicker={currentTicker}
-                  closeChannel={closeChannel}
-                />
-              )
-            })
-            :
-            'Loading...'
-        }
-      </ul>
-    </div>
-  )
-}
-
-Channels.propTypes = {
-  fetchChannels: PropTypes.func.isRequired,
-  ticker: PropTypes.object.isRequired,
-  peers: PropTypes.array.isRequired,
-  channelsLoading: PropTypes.bool.isRequired,
-  modalChannel: PropTypes.object,
-  setChannel: PropTypes.func.isRequired,
-  channelModalOpen: PropTypes.bool.isRequired,
-  channelForm: PropTypes.object.isRequired,
-  setChannelForm: PropTypes.func.isRequired,
-  allChannels: PropTypes.array.isRequired,
-  openChannel: PropTypes.func.isRequired,
-  closeChannel: PropTypes.func.isRequired,
-  currentTicker: PropTypes.object.isRequired,
-  explorerLinkBase: PropTypes.string.isRequired
-}
-
-export default Channels
diff --git a/app/components/Channels/Channels.scss b/app/components/Channels/Channels.scss
deleted file mode 100644
index df5f7b38..00000000
--- a/app/components/Channels/Channels.scss
+++ /dev/null
@@ -1,69 +0,0 @@
-@import '../../variables.scss';
-
-@keyframes spin {
-    from {
-      transform: rotate(0deg)
-    }
-    
-    to {
-      transform: rotate(360deg);
-    }
-}
-
-.channels {
-	width: 75%;
-	margin: 50px auto;
-
-	.header {
-		margin-bottom: 10px;
-
-		h3, .openChannel {
-			display: inline-block;
-		}
-
-		h3 {
-			text-align: left;
-		}
-
-		.refresh {
-			cursor: pointer;
-			margin-left: 5px;
-			font-size: 12px;
-			vertical-align: top;
-			color: $darkestgrey;
-			line-height: 14px;
-			transition: color 0.25s;
-
-			&:hover {
-				color: $main;
-			}
-		}
-
-		.openChannel {
-			float: right;
-			cursor: pointer;
-
-			svg {
-				padding: 3px;
-				border-radius: 50%;
-				border: 1px solid $main;
-				color: $main;
-				transition: all 0.25s;
-
-				&:hover {
-					border-color: darken($main, 10%);
-					color: darken($main, 10%);
-				}
-			}
-		}
-	}
-
-	h3 {
-		text-transform: uppercase;
-		color: $darkestgrey;
-		letter-spacing: 1.6px;
-		font-size: 14px;
-		font-weight: 400;
-		margin-bottom: 10px;
-	}
-}
diff --git a/app/components/Channels/ClosedPendingChannel.js b/app/components/Channels/ClosedPendingChannel.js
deleted file mode 100644
index cf563c39..00000000
--- a/app/components/Channels/ClosedPendingChannel.js
+++ /dev/null
@@ -1,69 +0,0 @@
-import { shell } from 'electron'
-import React from 'react'
-import PropTypes from 'prop-types'
-import { btc } from 'utils'
-import styles from './ClosedPendingChannel.scss'
-
-const ClosedPendingChannel = ({
-  ticker, channel: { channel, closing_txid }, currentTicker, explorerLinkBase
-}) => (
-  <li className={styles.channel} onClick={() => shell.openExternal(`${explorerLinkBase}/tx/${closing_txid}`)}>
-    <h1 className={styles.closing}>Closing Channel...</h1>
-    <div className={styles.left}>
-      <section className={styles.remotePubkey}>
-        <span>Remote Pubkey</span>
-        <h4>{channel.remote_node_pub}</h4>
-      </section>
-      <section className={styles.channelPoint}>
-        <span>Channel Point</span>
-        <h4>{channel.channel_point}</h4>
-      </section>
-    </div>
-    <div className={styles.right}>
-      <section className={styles.capacity}>
-        <span>Capacity</span>
-        <h2>
-          {
-            ticker.currency === 'btc' ?
-              btc.satoshisToBtc(channel.capacity)
-              :
-              btc.satoshisToUsd(channel.capacity, currentTicker.price_usd)
-          }
-        </h2>
-      </section>
-      <div className={styles.balances}>
-        <section>
-          <h4>
-            {
-              ticker.currency === 'btc' ?
-                btc.satoshisToBtc(channel.local_balance)
-                :
-                btc.satoshisToUsd(channel.local_balance, currentTicker.price_usd)
-            }
-          </h4>
-          <span>Local</span>
-        </section>
-        <section>
-          <h4>
-            {
-              ticker.currency === 'btc' ?
-                btc.satoshisToBtc(channel.remote_balance)
-                :
-                btc.satoshisToUsd(channel.remote_balance, currentTicker.price_usd)
-            }
-          </h4>
-          <span>Remote</span>
-        </section>
-      </div>
-    </div>
-  </li>
-)
-
-ClosedPendingChannel.propTypes = {
-  ticker: PropTypes.object.isRequired,
-  channel: PropTypes.object.isRequired,
-  currentTicker: PropTypes.object.isRequired,
-  explorerLinkBase: PropTypes.string.isRequired
-}
-
-export default ClosedPendingChannel
diff --git a/app/components/Channels/ClosedPendingChannel.scss b/app/components/Channels/ClosedPendingChannel.scss
deleted file mode 100644
index 8dbc037a..00000000
--- a/app/components/Channels/ClosedPendingChannel.scss
+++ /dev/null
@@ -1,95 +0,0 @@
-@import '../../variables.scss';
-
-.channel {
-	position: relative;
-	background: $white;
-	padding: 10px;
-	display: flex;
-	flex-direction: row;
-	justify-content: space-between;
-	border-top: 1px solid $grey;
-	cursor: pointer;
-	transition: all 0.25s;
-	opacity: 0.5;
-
-	&:hover {
-		opacity: 0.35;
-	}
-
-	&:first-child {
-		border: none;
-	}
-
-	.closing {
-		color: $red;
-		position: absolute;
-		top: 0;
-		left: 10px;
-		padding: 10px;
-		text-transform: uppercase;
-		font-weight: bold;
-		font-size: 10px;
-	}
-
-	.left, .right {
-		padding: 0 10px;
-		margin-bottom: 5;
-		margin-top: 25px;
-
-		section {
-			margin-bottom: 20px;
-
-			span {
-				text-transform: uppercase;
-				letter-spacing: 1.6px;
-				color: $black;
-				font-size: 10px;
-				font-weight: bold;
-			}
-
-			h2 {
-				font-size: 30px;
-				padding: 5px 0;
-				color: $main;
-			}
-
-			h4 {
-				margin-top: 5px;
-			}
-		}
-	}
-
-	.left {
-		flex: 7;
-		border-right: 1px solid $grey;
-	}
-
-	.right {
-		flex: 3;
-
-		.capacity {
-			text-align: center;
-			border-bottom: 1px solid $grey;
-			margin-bottom: 10px;
-		}
-
-		.balances {
-			display: flex;
-			justify-content: space-between;
-
-			section {
-				flex: 5;
-				text-align: center;
-
-				h4 {
-					color: $main;
-					font-size: 16px;
-				}
-
-				&:first-child {
-					border-right: 1px solid $grey;
-				}
-			}
-		}
-	}
-}
diff --git a/app/components/Channels/OpenPendingChannel.js b/app/components/Channels/OpenPendingChannel.js
deleted file mode 100644
index 50778d16..00000000
--- a/app/components/Channels/OpenPendingChannel.js
+++ /dev/null
@@ -1,72 +0,0 @@
-import { shell } from 'electron'
-import React from 'react'
-import PropTypes from 'prop-types'
-import { btc } from 'utils'
-import styles from './OpenPendingChannel.scss'
-
-const OpenPendingChannel = ({
-  ticker, channel, currentTicker, explorerLinkBase
-}) => (
-  <li className={styles.channel} onClick={() => shell.openExternal(`${explorerLinkBase}/tx/${channel.channel.channel_point.split(':')[0]}`)}>
-    <div className={styles.pending}>
-      <h1>Opening Channel...</h1>
-      <span>Blocks till open: {channel.blocks_till_open}</span>
-    </div>
-    <div className={styles.left}>
-      <section className={styles.remotePubkey}>
-        <span>Remote Pubkey</span>
-        <h4>{channel.channel.remote_node_pub}</h4>
-      </section>
-      <section className={styles.channelPoint}>
-        <span>Channel Point</span>
-        <h4>{channel.channel.channel_point}</h4>
-      </section>
-    </div>
-    <div className={styles.right}>
-      <section className={styles.capacity}>
-        <span>Capacity</span>
-        <h2>
-          {
-            ticker.currency === 'btc' ?
-              btc.satoshisToBtc(channel.channel.capacity)
-              :
-              btc.satoshisToUsd(channel.channel.capacity, currentTicker.price_usd)
-          }
-        </h2>
-      </section>
-      <div className={styles.balances}>
-        <section>
-          <h4>
-            {
-              ticker.currency === 'btc' ?
-                btc.satoshisToBtc(channel.channel.local_balance)
-                :
-                btc.satoshisToUsd(channel.channel.local_balance, currentTicker.price_usd)
-            }
-          </h4>
-          <span>Local</span>
-        </section>
-        <section>
-          <h4>
-            {
-              ticker.currency === 'btc' ?
-                btc.satoshisToBtc(channel.channel.remote_balance)
-                :
-                btc.satoshisToUsd(channel.channel.remote_balance, currentTicker.price_usd)
-            }
-          </h4>
-          <span>Remote</span>
-        </section>
-      </div>
-    </div>
-  </li>
-)
-
-OpenPendingChannel.propTypes = {
-  ticker: PropTypes.object.isRequired,
-  channel: PropTypes.object.isRequired,
-  currentTicker: PropTypes.object.isRequired,
-  explorerLinkBase: PropTypes.string.isRequired
-}
-
-export default OpenPendingChannel
diff --git a/app/components/Channels/OpenPendingChannel.scss b/app/components/Channels/OpenPendingChannel.scss
deleted file mode 100644
index 6378d213..00000000
--- a/app/components/Channels/OpenPendingChannel.scss
+++ /dev/null
@@ -1,98 +0,0 @@
-@import '../../variables.scss';
-
-.channel {
-	position: relative;
-	background: $lightgrey;
-	padding: 10px;
-	display: flex;
-	flex-direction: row;
-	justify-content: space-between;
-	border-top: 1px solid $grey;
-	cursor: pointer;
-	transition: all 0.25s;
-	opacity: 0.5;
-
-	.pending {
-		position: absolute;
-		top: 0;
-		left: 10px;
-		padding: 10px;
-		text-transform: uppercase;
-		font-weight: bold;
-
-		h1 {
-			color: $main;
-			font-size: 10px;
-		}
-
-		span {
-			font-size: 8px;
-		}
-	}
-
-	&:first-child {
-		border: none;
-	}
-
-	.left, .right {
-		padding: 0 10px;
-		margin-bottom: 5;
-		margin-top: 40px;
-
-		section {
-			margin-bottom: 20px;
-
-			span {
-				text-transform: uppercase;
-				letter-spacing: 1.6px;
-				color: $black;
-				font-size: 10px;
-				font-weight: bold;
-			}
-
-			h2 {
-				font-size: 30px;
-				padding: 5px 0;
-				color: $main;
-			}
-
-			h4 {
-				margin-top: 5px;
-			}
-		}
-	}
-
-	.left {
-		flex: 7;
-		border-right: 1px solid $grey;
-	}
-
-	.right {
-		flex: 3;
-
-		.capacity {
-			text-align: center;
-			border-bottom: 1px solid $grey;
-			margin-bottom: 10px;
-		}
-
-		.balances {
-			display: flex;
-			justify-content: space-between;
-
-			section {
-				flex: 5;
-				text-align: center;
-
-				h4 {
-					color: $main;
-					font-size: 16px;
-				}
-
-				&:first-child {
-					border-right: 1px solid $grey;
-				}
-			}
-		}
-	}
-}
diff --git a/app/components/Channels/index.js b/app/components/Channels/index.js
deleted file mode 100644
index a92a7218..00000000
--- a/app/components/Channels/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import Channels from './Channels'
-
-export default Channels
diff --git a/app/components/Contacts/ClosingContact.js b/app/components/Contacts/ClosingContact.js
index 9ae07b64..15a18632 100644
--- a/app/components/Contacts/ClosingContact.js
+++ b/app/components/Contacts/ClosingContact.js
@@ -33,7 +33,7 @@ const ClosingContact = ({ channel }) => (
 )
 
 ClosingContact.propTypes = {
-
+  channel: PropTypes.object.isRequired
 }
 
 export default ClosingContact
diff --git a/app/components/Contacts/ContactModal.js b/app/components/Contacts/ContactModal.js
index 63fd8b91..664cf920 100644
--- a/app/components/Contacts/ContactModal.js
+++ b/app/components/Contacts/ContactModal.js
@@ -124,7 +124,12 @@ const ContactModal = ({
 }
 
 ContactModal.propTypes = {
-
+  channel: PropTypes.object,
+  isOpen: PropTypes.bool.isRequired,
+  closeContactModal: PropTypes.func.isRequired,
+  channelNodes: PropTypes.array.isRequired,
+  closeChannel: PropTypes.func.isRequired,
+  closingChannelIds: PropTypes.array.isRequired
 }
 
 export default ContactModal
diff --git a/app/components/Contacts/ContactsForm.js b/app/components/Contacts/ContactsForm.js
index 03eece42..8123641f 100644
--- a/app/components/Contacts/ContactsForm.js
+++ b/app/components/Contacts/ContactsForm.js
@@ -133,7 +133,6 @@ class ContactsForm extends React.Component {
                 className={styles.searchInput}
                 value={contactsform.searchQuery}
                 onChange={event => updateContactFormSearchQuery(event.target.value)}
-                autoFocus
               />
             </div>
 
@@ -166,7 +165,7 @@ class ContactsForm extends React.Component {
           {
             showManualForm &&
             <div className={styles.manualForm}>
-              <h2>Hm, looks like we can't see that contact from here. Want to try and manually connect?</h2>
+              <h2>Hm, looks like we can’t see that contact from here. Want to try and manually connect?</h2>
               <section>
                 <input
                   type='text'
@@ -214,7 +213,18 @@ class ContactsForm extends React.Component {
 
 
 ContactsForm.propTypes = {
-
+  contactsform: PropTypes.object.isRequired,
+  closeContactsForm: PropTypes.func.isRequired,
+  updateContactFormSearchQuery: PropTypes.func.isRequired,
+  updateContactCapacity: PropTypes.func.isRequired,
+  openChannel: PropTypes.func.isRequired,
+
+  activeChannelPubkeys: PropTypes.array.isRequired,
+  nonActiveChannelPubkeys: PropTypes.array.isRequired,
+  pendingOpenChannelPubkeys: PropTypes.array.isRequired,
+  filteredNetworkNodes: PropTypes.array.isRequired,
+  loadingChannelPubkeys: PropTypes.array.isRequired,
+  showManualForm: PropTypes.bool.isRequired
 }
 
 export default ContactsForm
diff --git a/app/components/Contacts/Donut.js b/app/components/Contacts/Donut.js
deleted file mode 100644
index f9066af1..00000000
--- a/app/components/Contacts/Donut.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import React, { Component } from 'react'
-import PropTypes from 'prop-types'
-import styles from './Donut.scss'
-
-const Donut = ({ value, size, strokewidth }) => {
-  console.log('value: ', value)
-  console.log('size: ', size)
-  console.log('strokewidth: ', strokewidth)
-
-  const halfsize = (size * 0.5)
-  const radius = halfsize - (strokewidth * 0.5)
-  const circumference = 2 * Math.PI * radius
-  const strokeval = ((value * circumference) / 100)
-  const dashval = (`${strokeval} ${circumference}`)
-
-  const trackstyle = { strokeWidth: 5 }
-  const indicatorstyle = { strokeWidth: strokewidth, strokeDasharray: dashval }
-  const rotateval = `rotate(-90 ${37.5},${37.5})`
-
-  return (
-    <svg width={75} height={75} className={styles.donutchart}>
-      <circle r={30} cx={37.5} cy={37.5} transform={rotateval} style={trackstyle} className={styles.donutchartTrack} />
-      <circle r={30} cx={37.5} cy={37.5} transform={rotateval} style={indicatorstyle} className={styles.donutchartIndicator} />
-    </svg>
-  )
-}
-
-Donut.propTypes = {
-}
-
-export default Donut
diff --git a/app/components/Contacts/Donut.scss b/app/components/Contacts/Donut.scss
deleted file mode 100644
index 260ee9eb..00000000
--- a/app/components/Contacts/Donut.scss
+++ /dev/null
@@ -1,20 +0,0 @@
-@import '../../variables.scss';
-
-.donutchartTrack{
-  fill: transparent;
-  stroke: $lightgrey;
-  stroke-width: 26;
-}
-.donutchartIndicator {
-  fill: transparent;
-  stroke: $main;
-  stroke-width: 26;
-  stroke-dasharray: 0 10000;
-  transition: stroke-dasharray .3s ease;
-}
-
-.donutchart {
-  margin: 0 auto;
-  border-radius: 50%;
-  display: block;
-}
diff --git a/app/components/Contacts/LoadingContact.js b/app/components/Contacts/LoadingContact.js
index 313e7f4e..19770345 100644
--- a/app/components/Contacts/LoadingContact.js
+++ b/app/components/Contacts/LoadingContact.js
@@ -1,7 +1,6 @@
 import React from 'react'
 import PropTypes from 'prop-types'
 import { FaCircle } from 'react-icons/lib/fa'
-import { btc } from 'utils'
 import styles from './Contact.scss'
 
 const LoadingContact = ({ pubkey, isClosing }) => (
@@ -29,7 +28,8 @@ const LoadingContact = ({ pubkey, isClosing }) => (
 )
 
 LoadingContact.propTypes = {
-
+  pubkey: PropTypes.string.isRequired,
+  isClosing: PropTypes.bool.isRequired
 }
 
 export default LoadingContact
diff --git a/app/components/Contacts/OfflineContact.js b/app/components/Contacts/OfflineContact.js
index 0e042b9c..2b4621b6 100644
--- a/app/components/Contacts/OfflineContact.js
+++ b/app/components/Contacts/OfflineContact.js
@@ -27,7 +27,8 @@ const OfflineContact = ({ channel, openContactModal }) => (
 )
 
 OfflineContact.propTypes = {
-
+  channel: PropTypes.object.isRequired,
+  openContactModal: PropTypes.func.isRequired
 }
 
 export default OfflineContact
diff --git a/app/components/Contacts/OnlineContact.js b/app/components/Contacts/OnlineContact.js
index d36ce29a..5c98f5f5 100644
--- a/app/components/Contacts/OnlineContact.js
+++ b/app/components/Contacts/OnlineContact.js
@@ -27,7 +27,8 @@ const OnlineContact = ({ channel, openContactModal }) => (
 )
 
 OnlineContact.propTypes = {
-
+  channel: PropTypes.object.isRequired,
+  openContactModal: PropTypes.func.isRequired
 }
 
 export default OnlineContact
diff --git a/app/components/Contacts/PendingContact.js b/app/components/Contacts/PendingContact.js
index 5ede3f9e..7502e8b2 100644
--- a/app/components/Contacts/PendingContact.js
+++ b/app/components/Contacts/PendingContact.js
@@ -33,7 +33,7 @@ const PendingContact = ({ channel }) => (
 )
 
 PendingContact.propTypes = {
-
+  channel: PropTypes.object.isRequired
 }
 
 export default PendingContact
diff --git a/app/components/Form/RequestForm.js b/app/components/Form/RequestForm.js
index 0f793e45..7844dbba 100644
--- a/app/components/Form/RequestForm.js
+++ b/app/components/Form/RequestForm.js
@@ -28,7 +28,9 @@ const RequestForm = ({
       />
     </section>
     <section className={styles.inputContainer}>
-      <label htmlFor='memo'>Request:</label>
+      <label htmlFor='memo'>
+        Request:
+      </label>
       <input
         type='text'
         placeholder='Dinner, Rent, etc'
@@ -39,7 +41,7 @@ const RequestForm = ({
     </section>
     <section className={styles.buttonGroup}>
       <div className={`buttonPrimary ${styles.button}`} onClick={onRequestSubmit}>
-          Request
+        Request
       </div>
     </section>
   </div>
diff --git a/app/components/Network/CanvasNetworkGraph.js b/app/components/Network/CanvasNetworkGraph.js
index 61f8fa16..597c6473 100644
--- a/app/components/Network/CanvasNetworkGraph.js
+++ b/app/components/Network/CanvasNetworkGraph.js
@@ -23,7 +23,6 @@ class CanvasNetworkGraph extends Component {
     super(props)
 
     this.state = {
-      simulation: {},
       simulationData: {
         nodes: [],
         links: []
diff --git a/app/components/Peers/Peer.js b/app/components/Peers/Peer.js
deleted file mode 100644
index 5d9684a2..00000000
--- a/app/components/Peers/Peer.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-import styles from './Peer.scss'
-
-const Peer = ({ peer, setPeer }) => (
-  <li className={styles.peer} onClick={() => setPeer(peer)}>
-    <h4>{peer.address}</h4>
-    <h1>{peer.pub_key}</h1>
-  </li>
-)
-
-Peer.propTypes = {
-  peer: PropTypes.shape({
-    address: PropTypes.string.isRequired,
-    pub_key: PropTypes.string.isRequired
-  }).isRequired,
-  setPeer: PropTypes.func.isRequired
-}
-
-export default Peer
diff --git a/app/components/Peers/Peer.scss b/app/components/Peers/Peer.scss
deleted file mode 100644
index c7e2ed0d..00000000
--- a/app/components/Peers/Peer.scss
+++ /dev/null
@@ -1,38 +0,0 @@
-@import '../../variables.scss';
-
-.peer {
-	position: relative;
-	margin: 5px 0;
-	padding: 10px;
-	border-top: 1px solid $white;
-	cursor: pointer;
-	transition: all 0.25s;
-	list-style: none;
-	box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2);
-  transition: 0.3s;
-
-	&:hover {
-		opacity: 0.75;
-		box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
-	}
-
-	&:first-child {
-		border: none;
-	}
-
-	h4, h1 {
-		margin: 10px 0;
-	}
-
-	h4 {
-		font-size: 14px;
-		font-weight: bold;
-		color: $black;
-	}
-
-	h1 {
-		font-size: 18px;
-		font-weight: 200;
-		color: $main;
-	}
-}
diff --git a/app/components/Peers/PeerForm.js b/app/components/Peers/PeerForm.js
deleted file mode 100644
index b1a9472e..00000000
--- a/app/components/Peers/PeerForm.js
+++ /dev/null
@@ -1,71 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-import ReactModal from 'react-modal'
-import { FaClose } from 'react-icons/lib/fa'
-import styles from './PeerForm.scss'
-
-const PeerForm = ({ form, setForm, connect }) => {
-  const submit = () => {
-    const { pubkey, host } = form
-    connect({ pubkey, host })
-  }
-
-  return (
-    <div>
-      <ReactModal
-        isOpen={form.isOpen}
-        contentLabel='No Overlay Click Modal'
-        ariaHideApp
-        shouldCloseOnOverlayClick
-        onRequestClose={() => setForm({ isOpen: false })}
-        parentSelector={() => document.body}
-        className={styles.modal}
-      >
-        <div onClick={() => setForm({ isOpen: false })} className={styles.modalClose}>
-          <FaClose />
-        </div>
-
-        <div className={styles.form} onKeyPress={event => event.charCode === 13 && submit()}>
-          <h1 className={styles.title}>Connect to a peer</h1>
-
-          <section className={styles.pubkey}>
-            <label htmlFor='pubkey'>Pubkey</label>
-            <input
-              type='text'
-              size=''
-              placeholder='Public key'
-              value={form.pubkey}
-              onChange={event => setForm({ pubkey: event.target.value })}
-              id='pubkey'
-            />
-          </section>
-          <section className={styles.local}>
-            <label htmlFor='address'>Address</label>
-            <input
-              type='text'
-              size=''
-              placeholder='Host address'
-              value={form.host}
-              onChange={event => setForm({ host: event.target.value })}
-              id='address'
-            />
-          </section>
-
-          <div className='buttonContainer' onClick={submit}>
-            <div className='buttonPrimary'>
-              Submit
-            </div>
-          </div>
-        </div>
-      </ReactModal>
-    </div>
-  )
-}
-
-PeerForm.propTypes = {
-  form: PropTypes.object.isRequired,
-  setForm: PropTypes.func.isRequired,
-  connect: PropTypes.func.isRequired
-}
-
-export default PeerForm
diff --git a/app/components/Peers/PeerForm.scss b/app/components/Peers/PeerForm.scss
deleted file mode 100644
index 3c3df00f..00000000
--- a/app/components/Peers/PeerForm.scss
+++ /dev/null
@@ -1,107 +0,0 @@
-@import '../../variables.scss';
-
-.modal {
-  position: relative;
-  width: 40%;
-  margin: 50px auto;
-  padding: 40px;
-  position: absolute;
-  top: auto;
-  left: 20%;
-  right: 0;
-  bottom: auto;
-  background: $white;
-  outline: none;
-  z-index: -2;
-  border: 1px solid $darkgrey;
-}
-
-.modalClose {
-  position: absolute;
-  top: -13px;
-  right: -13px;
-  display: block;
-  font-size: 16px;
-  line-height: 27px;
-  width: 32px;
-  height: 32px;
-  background: $white;
-  border-radius: 50%;
-  color: $darkestgrey;
-  cursor: pointer;
-  text-align: center;
-  z-index: 2;
-  transition: all 0.25s;
-}
-
-.modalClose:hover {
-  background: $darkgrey;
-}
-
-.title {
-	text-align: center;
-	font-size: 24px;
-	color: $black;
-	margin-bottom: 50px;
-}
-
-.pubkey, .local, .push {
-	display: flex;
-	justify-content: center;
-	font-size: 18px;
-	height: auto;
-  min-height: 55px;
-  margin-bottom: 20px;
-  border: 1px solid $traditionalgrey;
-  border-radius: 6px;
-  position: relative;
-  padding: 0 20px;
-
-	label, input[type=text] {
-		font-size: inherit;
-	}
-
-	label {
-		padding-top: 19px;
-  	padding-bottom: 12px;
-  	color: $traditionalgrey;
-	}
-
-	input[type=text] {
-		width: 100%;
-		border: none;
-  	outline: 0;
-  	-webkit-appearance: none;
-  	height: 55px;
-  	padding: 0 10px;
-	}
-}
-
-.buttonGroup {
-	width: 100%;
-	display: flex;
-	flex-direction: row;
-	border-radius: 6px;
-  overflow: hidden;
-
-  .button {
-  	cursor: pointer;
-		height: 55px;
-		min-height: 55px;
-		text-transform: none;
-		font-size: 18px;
-		transition: opacity .2s ease-out;
-		background: $main;
-    color: $white;
-    border: none;
-    font-weight: 500;
-    padding: 0;
-    width: 100%;
-    text-align: center;
-    line-height: 55px;
-
-    &:first-child {
-    	border-right: 1px solid lighten($main, 20%);
-    }
-  }
-}
diff --git a/app/components/Peers/PeerModal.js b/app/components/Peers/PeerModal.js
deleted file mode 100644
index 8d856d6d..00000000
--- a/app/components/Peers/PeerModal.js
+++ /dev/null
@@ -1,80 +0,0 @@
-import React from 'react'
-import PropTypes from 'prop-types'
-
-import ReactModal from 'react-modal'
-import { FaClose } from 'react-icons/lib/fa'
-
-import styles from './PeerModal.scss'
-
-const PeerModal = ({
-  isOpen, resetPeer, peer, disconnect
-}) => {
-  const customStyles = {
-    overlay: {
-      cursor: 'pointer',
-      overflowY: 'auto'
-    },
-    content: {
-      top: 'auto',
-      left: '20%',
-      right: '0',
-      bottom: 'auto',
-      width: '40%',
-      margin: '50px auto',
-      borderRadius: 'none',
-      padding: '0'
-    }
-  }
-
-  return (
-    <ReactModal
-      isOpen={isOpen}
-      contentLabel='No Overlay Click Modal'
-      ariaHideApp
-      shouldCloseOnOverlayClick
-      onRequestClose={() => resetPeer(null)}
-      parentSelector={() => document.body}
-      style={customStyles}
-    >
-      <div className={styles.closeContainer}>
-        <span onClick={() => resetPeer(null)}>
-          <FaClose />
-        </span>
-      </div>
-      {
-        peer &&
-        <div className={styles.peer}>
-          <header className={styles.header}>
-            <h1 data-hint='Peer address' className='hint--top-left'>{peer.address}</h1>
-            <h2 data-hint='Peer public key' className='hint--top-left'>{peer.pub_key}</h2>
-          </header>
-
-          <div className={styles.details}>
-            <dl>
-              <dt>Satoshis Received</dt>
-              <dd>{peer.sat_recv}</dd>
-              <dt>Satoshis Sent</dt>
-              <dd>{peer.sat_sent}</dd>
-              <dt>Bytes Received</dt>
-              <dd>{peer.bytes_recv}</dd>
-              <dt>Bytes Sent</dt>
-              <dd>{peer.bytes_sent}</dd>
-            </dl>
-          </div>
-          <div className={styles.close} onClick={() => disconnect({ pubkey: peer.pub_key })}>
-            <div>Disconnect peer</div>
-          </div>
-        </div>
-      }
-    </ReactModal>
-  )
-}
-
-PeerModal.propTypes = {
-  isOpen: PropTypes.bool.isRequired,
-  resetPeer: PropTypes.func.isRequired,
-  peer: PropTypes.object,
-  disconnect: PropTypes.func.isRequired
-}
-
-export default PeerModal
diff --git a/app/components/Peers/PeerModal.scss b/app/components/Peers/PeerModal.scss
deleted file mode 100644
index 91ae0086..00000000
--- a/app/components/Peers/PeerModal.scss
+++ /dev/null
@@ -1,75 +0,0 @@
-@import '../../variables.scss';
-
-.closeContainer {
-  background: $lightgrey;
-  text-align: right;
-  padding: 10px;
-
-  span {
-    color: $darkestgrey;
-    font-size: 20px;
-    cursor: pointer;
-  }
-}
-
-.header {
-  background: $lightgrey;
-  padding: 20px;
-
-	h1 {
-		color: $black;
-		text-align: center;
-		margin-bottom: 20px;
-		font-weight: bold;
-	}
-
-	h2 {
-		color: $darkestgrey;
-		font-size: 12px;
-		text-align: center;
-	}
-}
-
-.details {
-  dl {
-    padding: 40px 40px 40px 40px;
-  }
-
-	dt {
-		text-align: left;
-    float: left;
-    clear: left;
-    font-weight: 500;
-    padding: 20px 35px 19px 0;
-    color: $black;
-    font-weight: bold;
-	}
-
-	dd {
-		text-align: right;
-    font-weight: 400;
-    padding: 30px 0 10px 0;
-    margin-left: 0;
-    border-bottom: 1px solid $darkgrey;
-	}
-}
-
-.close {
-	text-align: center;
-  padding-bottom: 40px;
-
-	div {
-		margin: 0 auto;
-		cursor: pointer;
-		font-size: 18px;
-    color: $red;
-    border: none;
-    padding: 0;
-    text-align: center;
-    transition: all 0.25s;
-
-    &:hover {
-    	color: lighten($red, 10%);
-    }
-	}
-}
diff --git a/app/lnd/methods/channelController.js b/app/lnd/methods/channelController.js
index adc95d2c..5085af22 100644
--- a/app/lnd/methods/channelController.js
+++ b/app/lnd/methods/channelController.js
@@ -2,7 +2,6 @@ import bitcore from 'bitcore-lib'
 import find from 'lodash/find'
 import { listPeers, connectPeer } from './peersController'
 import pushopenchannel from '../push/openchannel'
-import pushclosechannel from '../push/closechannel'
 
 const BufferUtil = bitcore.util.buffer
 
@@ -14,48 +13,39 @@ const BufferUtil = bitcore.util.buffer
  * @return {[type]}         [description]
  */
 export function connectAndOpen(lnd, meta, event, payload) {
-  console.log('payload: ', payload)
-
   const { pubkey, host, localamt } = payload
   const channelPayload = {
     node_pubkey: BufferUtil.hexToBuffer(pubkey),
-    local_funding_amount: Number(localamt),
-    num_confs: 1
+    local_funding_amount: Number(localamt)
   }
 
   return new Promise((resolve, reject) => {
     listPeers(lnd, meta)
       .then(({ peers }) => {
-        console.log('peers: ', peers)
-
         const peer = find(peers, { pub_key: pubkey })
 
         if (peer) {
-          console.log('already have the peer. can open the channel now')
           const call = lnd.openChannel(channelPayload, meta)
 
           call.on('data', data => event.sender.send('pushchannelupdated', { pubkey, data }))
           call.on('error', error => event.sender.send('pushchannelerror', { pubkey, error: error.toString() }))
         } else {
-          console.log('connect to the peer first')
           connectPeer(lnd, meta, { pubkey, host })
-            .then((data) => {
-              console.log('connectPeer data: ', data)
-
+            .then(() => {
               const call = lnd.openChannel(channelPayload, meta)
 
               call.on('data', data => event.sender.send('pushchannelupdated', { pubkey, data }))
               call.on('error', error => event.sender.send('pushchannelerror', { pubkey, error: error.toString() }))
             })
             .catch((err) => {
-              console.log('connect peer err: ', err)
               event.sender.send('pushchannelerror', { pubkey, error: err.toString() })
+              reject(err)
             })
         }
       })
       .catch((err) => {
-        console.log('list peer err: ', err)
         event.sender.send('pushchannelerror', { pubkey, error: err.toString() })
+        reject(err)
       })
   })
 }
@@ -68,7 +58,6 @@ export function connectAndOpen(lnd, meta, event, payload) {
  * @return {[type]}         [description]
  */
 export function openChannel(lnd, meta, event, payload) {
-  console.log('opening the channel')
   const { pubkey, localamt, pushamt } = payload
   const res = {
     node_pubkey: BufferUtil.hexToBuffer(pubkey),
@@ -123,7 +112,7 @@ export function listChannels(lnd, meta) {
  * @return {[type]}         [description]
  */
 export function closeChannel(lnd, meta, event, payload) {
-  const chan_id = payload.chan_id
+  const { chan_id } = payload
   const tx = payload.channel_point.funding_txid.match(/.{2}/g).reverse().join('')
   const res = {
     channel_point: {
diff --git a/app/lnd/methods/index.js b/app/lnd/methods/index.js
index f45ad419..1e48ac59 100644
--- a/app/lnd/methods/index.js
+++ b/app/lnd/methods/index.js
@@ -119,7 +119,7 @@ export default function (lnd, meta, event, msg, data) {
             Object.assign(newinvoice, {
               memo: data.memo,
               value: data.value,
-              r_hash: new Buffer(newinvoice.r_hash, 'hex').toString('hex'),
+              r_hash: Buffer.from(newinvoice.r_hash, 'hex').toString('hex'),
               creation_date: Date.now() / 1000
             })
           ))
@@ -198,8 +198,8 @@ export default function (lnd, meta, event, msg, data) {
     // Connects to a peer if we aren't connected already and then attempt to open a channel
     // {} = data
       channelController.connectAndOpen(lnd, meta, event, data)
-        .then((data) => {
-          console.log('connectAndOpen data: ', data)
+        .then((channelData) => {
+          console.log('connectAndOpen data: ', channelData)
           // event.sender.send('connectSuccess', { pub_key: data.pubkey, address: data.host, peer_id })
         })
         .catch((error) => {
diff --git a/app/lnd/methods/paymentsController.js b/app/lnd/methods/paymentsController.js
index e9afd981..b79b8cb0 100644
--- a/app/lnd/methods/paymentsController.js
+++ b/app/lnd/methods/paymentsController.js
@@ -8,11 +8,11 @@ export function sendPaymentSync(lnd, meta, { paymentRequest }) {
   return new Promise((resolve, reject) => {
     lnd.sendPaymentSync({ payment_request: paymentRequest }, meta, (error, data) => {
       if (error) {
-        reject({ error })
+        reject({ error }) // eslint-disable-line
         return
       }
 
-      if (!data || !data.payment_route) { reject({ error: data.payment_error }) }
+      if (!data || !data.payment_route) { reject({ error: data.payment_error }) } // eslint-disable-line
 
       resolve(data)
     })
diff --git a/app/lnd/subscribe/channelgraph.js b/app/lnd/subscribe/channelgraph.js
index 47b1aec7..2defd7b2 100644
--- a/app/lnd/subscribe/channelgraph.js
+++ b/app/lnd/subscribe/channelgraph.js
@@ -1,11 +1,6 @@
 export default function subscribeToChannelGraph(mainWindow, lnd, meta) {
-  console.log('subscribeChannelGraph is happening')
-
-
   const call = lnd.subscribeChannelGraph({}, meta)
 
   call.on('data', channelGraphData => mainWindow.send('channelGraphData', { channelGraphData }))
-  call.on('end', () => console.log('channel graph end'))
-  call.on('error', error => console.log('channelgraph error: ', error))
   call.on('status', channelGraphStatus => mainWindow.send('channelGraphStatus', { channelGraphStatus }))
 }
diff --git a/app/reducers/channels.js b/app/reducers/channels.js
index 8af72d42..2f0092df 100644
--- a/app/reducers/channels.js
+++ b/app/reducers/channels.js
@@ -153,14 +153,10 @@ export const receiveChannels = (event, { channels, pendingChannels }) => dispatc
 
 // Send IPC event for opening a channel
 export const openChannel = ({
-  pubkey, host, local_amt, push_amt
+  pubkey, host, local_amt
 }) => (dispatch) => {
   const localamt = btc.btcToSatoshis(local_amt)
 
-  console.log('localamt: ', localamt)
-  console.log('pubkey: ', pubkey)
-  console.log('host: ', host)
-
   dispatch(openingChannel())
   dispatch(addLoadingPubkey(pubkey))
 
@@ -170,28 +166,24 @@ export const openChannel = ({
 // TODO: Decide how to handle streamed updates for channels
 // Receive IPC event for openChannel
 export const channelSuccessful = () => (dispatch) => {
-  console.log('CHANNEL channelSuccessful')
   dispatch(fetchChannels())
   dispatch(closeChannelForm())
   dispatch(resetChannelForm())
 }
 
 // Receive IPC event for updated channel
-export const pushchannelupdated = (event, { pubkey, data }) => (dispatch) => {
-  console.log('PUSH CHANNEL UPDATED: ', data)
+export const pushchannelupdated = (event, { pubkey }) => (dispatch) => {
   dispatch(fetchChannels())
   dispatch(removeLoadingPubkey(pubkey))
 }
 
 // Receive IPC event for channel end
 export const pushchannelend = event => (dispatch) => { // eslint-disable-line
-  console.log('PUSH CHANNEL END: ')
   dispatch(fetchChannels())
 }
 
 // Receive IPC event for channel error
 export const pushchannelerror = (event, { pubkey, error }) => (dispatch) => {
-  console.log('PUSH CHANNEL ERROR: ', error)
   dispatch(openingFailure())
   dispatch(setError(error))
   dispatch(removeLoadingPubkey(pubkey))
@@ -199,7 +191,6 @@ export const pushchannelerror = (event, { pubkey, error }) => (dispatch) => {
 
 // Receive IPC event for channel status
 export const pushchannelstatus = (event, data) => (dispatch) => { // eslint-disable-line
-  console.log('PUSH CHANNEL STATUS: ', data)
   dispatch(fetchChannels())
 }
 
@@ -209,9 +200,6 @@ export const closeChannel = ({ channel_point, chan_id }) => (dispatch) => {
   dispatch(addClosingChanId(chan_id))
 
   const [funding_txid, output_index] = channel_point.split(':')
-  console.log('funding_txid: ', funding_txid)
-  console.log('output_index: ', output_index)
-  console.log('chan_id: ', chan_id)
   ipcRenderer.send(
     'lnd',
     {
@@ -229,43 +217,36 @@ export const closeChannel = ({ channel_point, chan_id }) => (dispatch) => {
 
 // TODO: Decide how to handle streamed updates for closing channels
 // Receive IPC event for closeChannel
-export const closeChannelSuccessful = (event, data) => (dispatch) => {
-  console.log('PUSH CLOSE CHANNEL SUCCESSFUL: ', data)
+export const closeChannelSuccessful = () => (dispatch) => {
   dispatch(fetchChannels())
 }
 
 // Receive IPC event for updated closing channel
-export const pushclosechannelupdated = (event, { data, chan_id }) => (dispatch) => {
-  console.log('PUSH CLOSE CHANNEL UPDATED: ', data)
-  console.log('PUSH CLOSE CHANNEL chan_id: ', chan_id)
+export const pushclosechannelupdated = (event, { chan_id }) => (dispatch) => {
   dispatch(fetchChannels())
   dispatch(removeClosingChanId(chan_id))
   dispatch(closeContactModal())
 }
 
 // Receive IPC event for closing channel end
-export const pushclosechannelend = (event, data) => (dispatch) => {
-  console.log('PUSH CLOSE CHANNEL END: ', data)
+export const pushclosechannelend = () => (dispatch) => {
   dispatch(fetchChannels())
 }
 
 // Receive IPC event for closing channel error
 export const pushclosechannelerror = (event, { error, chan_id }) => (dispatch) => {
-  console.log('PUSH CLOSE CHANNEL END: ', error)
-  console.log('PUSH CLOSE CHANNEL chan_id: ', chan_id)
   dispatch(setError(error))
   dispatch(removeClosingChanId(chan_id))
 }
 
 // Receive IPC event for closing channel status
-export const pushclosechannelstatus = (event, data) => (dispatch) => {
-  console.log('PUSH CLOSE CHANNEL STATUS: ', data)
+export const pushclosechannelstatus = () => (dispatch) => {
   dispatch(fetchChannels())
 }
 
 // IPC event for channel graph data
 export const channelGraphData = (event, data) => (dispatch, getState) => {
-  const info = getState().info
+  const { info } = getState()
   const { channelGraphData: { channel_updates } } = data
 
   // if there are any new channel updates
@@ -298,9 +279,7 @@ export const channelGraphData = (event, data) => (dispatch, getState) => {
 }
 
 // IPC event for channel graph status
-export const channelGraphStatus = (event, data) => () => {
-  console.log('channelGraphStatus: ', data)
-}
+export const channelGraphStatus = () => () => {}
 
 export function toggleFilterPulldown() {
   return {
@@ -308,10 +287,10 @@ export function toggleFilterPulldown() {
   }
 }
 
-export function changeFilter(filter) {
+export function changeFilter(channelFilter) {
   return {
     type: CHANGE_CHANNEL_FILTER,
-    filter
+    channelFilter
   }
 }
 
@@ -342,13 +321,19 @@ const ACTION_HANDLERS = {
   [SET_VIEW_TYPE]: (state, { viewType }) => ({ ...state, viewType }),
 
   [TOGGLE_CHANNEL_PULLDOWN]: state => ({ ...state, filterPulldown: !state.filterPulldown }),
-  [CHANGE_CHANNEL_FILTER]: (state, { filter }) => ({ ...state, filterPulldown: false, filter }),
+  [CHANGE_CHANNEL_FILTER]: (state, { channelFilter }) => (
+    { ...state, filterPulldown: false, filter: channelFilter }
+  ),
 
   [ADD_LOADING_PUBKEY]: (state, { pubkey }) => ({ ...state, loadingChannelPubkeys: [pubkey, ...state.loadingChannelPubkeys] }),
-  [REMOVE_LOADING_PUBKEY]: (state, { pubkey }) => ({ ...state, loadingChannelPubkeys: state.loadingChannelPubkeys.filter(loadingPubkey => loadingPubkey !== pubkey) }),
+  [REMOVE_LOADING_PUBKEY]: (state, { pubkey }) => (
+    { ...state, loadingChannelPubkeys: state.loadingChannelPubkeys.filter(loadingPubkey => loadingPubkey !== pubkey) }
+  ),
 
   [ADD_ClOSING_CHAN_ID]: (state, { chanId }) => ({ ...state, closingChannelIds: [chanId, ...state.closingChannelIds] }),
-  [REMOVE_ClOSING_CHAN_ID]: (state, { chanId }) => ({ ...state, closingChannelIds: state.closingChannelIds.filter(closingChanId => closingChanId !== chanId) }),
+  [REMOVE_ClOSING_CHAN_ID]: (state, { chanId }) => (
+    { ...state, closingChannelIds: state.closingChannelIds.filter(closingChanId => closingChanId !== chanId) }
+  ),
 
   [OPEN_CONTACT_MODAL]: (state, { channel }) => ({ ...state, contactModal: { isOpen: true, channel } }),
   [CLOSE_CONTACT_MODAL]: state => ({ ...state, contactModal: { isOpen: false, channel: null } })
@@ -414,7 +399,7 @@ channelsSelectors.activeChanIds = createSelector(
 channelsSelectors.nonActiveFilters = createSelector(
   filtersSelector,
   filterSelector,
-  (filters, filter) => filters.filter(f => f.key !== filter.key)
+  (filters, channelFilter) => filters.filter(f => f.key !== channelFilter.key)
 )
 
 channelsSelectors.channelNodes = createSelector(
@@ -443,7 +428,7 @@ const allChannels = createSelector(
     const filteredPendingForcedClosedChannels = pendingForcedClosedChannels.filter(channel => channel.channel.remote_node_pub.includes(searchQuery) || channel.channel.channel_point.includes(searchQuery)) // eslint-disable-line
 
 
-    return [...filteredActiveChannels, ...filteredPendingOpenChannels, ...filteredPendingClosedChannels, ...filteredPendingForcedClosedChannels, ...filteredNonActiveChannels]
+    return [...filteredActiveChannels, ...filteredPendingOpenChannels, ...filteredPendingClosedChannels, ...filteredPendingForcedClosedChannels, ...filteredNonActiveChannels] // eslint-disable-line
   }
 )
 
@@ -456,7 +441,7 @@ export const currentChannels = createSelector(
   channelsSelectors.closingPendingChannels,
   filterSelector,
   channelSearchQuerySelector,
-  (allChannelsArr, activeChannelsArr, nonActiveChannelsArr, openChannels, pendingOpenChannels, pendingClosedChannels, filter, searchQuery) => {
+  (allChannelsArr, activeChannelsArr, nonActiveChannelsArr, openChannels, pendingOpenChannels, pendingClosedChannels, channelFilter, searchQuery) => {
     // Helper function to deliver correct channel array based on filter
     const filteredArray = (filterKey) => {
       switch (filterKey) {
@@ -477,7 +462,7 @@ export const currentChannels = createSelector(
       }
     }
 
-    const channelArray = filteredArray(filter.key)
+    const channelArray = filteredArray(channelFilter.key)
 
     return channelArray.filter(channel => (Object.prototype.hasOwnProperty.call(channel, 'channel') ?
       channel.channel.remote_node_pub.includes(searchQuery) || channel.channel.channel_point.includes(searchQuery)
diff --git a/app/reducers/contactsform.js b/app/reducers/contactsform.js
index ca7e9fc6..a1f48a58 100644
--- a/app/reducers/contactsform.js
+++ b/app/reducers/contactsform.js
@@ -80,7 +80,6 @@ contactFormSelectors.showManualForm = createSelector(
     if (!searchQuery.length) { return false }
 
     const connectableNodes = filteredNetworkNodes.filter(node => node.addresses.length > 0)
-    console.log('connectableNodes: ', connectableNodes)
 
     if (!filteredNetworkNodes.length || !connectableNodes.length) { return true }
 
diff --git a/app/reducers/lnd.js b/app/reducers/lnd.js
index eaa19de3..6643beb8 100644
--- a/app/reducers/lnd.js
+++ b/app/reducers/lnd.js
@@ -52,12 +52,12 @@ export const lndStdout = (event, line) => (dispatch) => {
 
   if (line.includes('Caught up to height')) {
     trimmed = line.slice(line.indexOf('Caught up to height') + 'Caught up to height'.length).trim()
-    height = trimmed.split(' ')[0].split(/(\r\n|\n|\r)/gm)[0]
+    height = trimmed.split(' ')[0].split(/(\r\n|\n|\r)/gm)[0] // eslint-disable-line
   }
 
   if (line.includes('Catching up block hashes to height')) {
     trimmed = line.slice(line.indexOf('Catching up block hashes to height') + 'Catching up block hashes to height'.length).trim()
-    height = trimmed.match(/[-]{0,1}[\d.]*[\d]+/g)[0]
+    height = trimmed.match(/[-]{0,1}[\d.]*[\d]+/g)[0] // eslint-disable-line
   }
 
   dispatch({ type: RECEIVE_LINE, lndBlockHeight: height })
diff --git a/app/routes/contacts/components/Contacts.js b/app/routes/contacts/components/Contacts.js
index d24346ae..b33f1537 100644
--- a/app/routes/contacts/components/Contacts.js
+++ b/app/routes/contacts/components/Contacts.js
@@ -5,8 +5,6 @@ import Isvg from 'react-inlinesvg'
 import { MdSearch } from 'react-icons/lib/md'
 import { FaAngleDown, FaRepeat } from 'react-icons/lib/fa'
 
-import { btc } from 'utils'
-
 import ContactModal from 'components/Contacts/ContactModal'
 import ContactsForm from 'components/Contacts/ContactsForm'
 import OnlineContact from 'components/Contacts/OnlineContact'
@@ -42,15 +40,11 @@ class Contacts extends Component {
         searchQuery,
         filterPulldown,
         filter,
-        viewType,
         loadingChannelPubkeys,
         closingChannelIds
       },
       currentChannels,
       activeChannels,
-      nonActiveChannels,
-      pendingOpenChannels,
-      closingPendingChannels,
       fetchChannels,
       updateChannelSearchQuery,
 
@@ -60,12 +54,9 @@ class Contacts extends Component {
 
       openContactsForm,
       openContactModal,
-      closeContactModal,
 
       contactModalProps,
-      contactsFormProps,
-
-      peers
+      contactsFormProps
     } = this.props
 
     const refreshClicked = () => {
@@ -173,6 +164,7 @@ class Contacts extends Component {
               } else if (!channel.active) {
                 return <OfflineContact channel={channel} key={index} openContactModal={openContactModal} />
               }
+                return <span />
             })
           }
         </ul>
@@ -181,6 +173,25 @@ class Contacts extends Component {
   }
 }
 
-Contacts.propTypes = {}
+Contacts.propTypes = {
+  fetchPeers: PropTypes.func.isRequired,
+  fetchDescribeNetwork: PropTypes.func.isRequired,
+
+  channels: PropTypes.object.isRequired,
+  currentChannels: PropTypes.array.isRequired,
+  activeChannels: PropTypes.array.isRequired,
+  fetchChannels: PropTypes.func.isRequired,
+  updateChannelSearchQuery: PropTypes.func.isRequired,
+
+  toggleFilterPulldown: PropTypes.func.isRequired,
+  changeFilter: PropTypes.func.isRequired,
+  nonActiveFilters: PropTypes.array.isRequired,
+
+  openContactsForm: PropTypes.func.isRequired,
+  openContactModal: PropTypes.func.isRequired,
+
+  contactModalProps: PropTypes.object.isRequired,
+  contactsFormProps: PropTypes.object.isRequired
+}
 
 export default Contacts
diff --git a/app/store/configureStore.dev.js b/app/store/configureStore.dev.js
index cf0d4004..2fddc6fe 100644
--- a/app/store/configureStore.dev.js
+++ b/app/store/configureStore.dev.js
@@ -50,8 +50,7 @@ const configureStore = (initialState?: counterStateType) => {
 
   if (module.hot) {
     module.hot.accept('../reducers', () =>
-      store.replaceReducer(require('../reducers')) // eslint-disable-line global-require
-    )
+      store.replaceReducer(require('../reducers'))) // eslint-disable-line global-require
   }
 
   return store
diff --git a/test/components/Channels.spec.js b/test/components/Channels.spec.js
deleted file mode 100644
index 1e8e087c..00000000
--- a/test/components/Channels.spec.js
+++ /dev/null
@@ -1,125 +0,0 @@
-import React from 'react'
-import { shallow } from 'enzyme'
-
-import { TiPlus } from 'react-icons/lib/ti'
-import Channels from '../../app/components/Channels'
-import ChannelModal from '../../app/components/Channels/ChannelModal'
-import ChannelForm from '../../app/components/Channels/ChannelForm'
-import Channel from '../../app/components/Channels/Channel'
-import OpenPendingChannel from '../../app/components/Channels/OpenPendingChannel'
-import ClosedPendingChannel from '../../app/components/Channels/ClosedPendingChannel'
-
-const defaultProps = {
-  ticker: {},
-  peers: [],
-  channelsLoading: false,
-  modalChannel: {},
-  setChannel: () => {},
-  channelModalOpen: false,
-  channelForm: {},
-  setChannelForm: () => {},
-  allChannels: [],
-  openChannel: () => {},
-  closeChannel: () => {},
-  fetchChannels: () => {},
-  currentTicker: {},
-  explorerLinkBase: 'https://testnet.smartbit.com.au'
-}
-
-const channel_open = {
-  active: true,
-  capacity: '10000000',
-  chan_id: '1322138543153545216',
-  channel_point: '7efb80bf568cf55eb43ba439fdafea99b43f53493ec9ae7c0eae88de2d2b4577:0',
-  commit_fee: '8688',
-  commit_weight: '600',
-  fee_per_kw: '12000',
-  local_balance: '9991312',
-  num_updates: '0',
-  pending_htlcs: [],
-  remote_balance: '0',
-  remote_pubkey: '020178567c0f881b579a7ddbcd8ce362a33ebba2b3c2d218e667f7e3b390e40d4e',
-  total_satoshis_received: '0',
-  total_satoshis_sent: '0',
-  unsettled_balance: '0'
-}
-
-const channel_pending = {
-  capacity: '10000000',
-  channel_point: '7efb80bf568cf55eb43ba439fdafea99b43f53493ec9ae7c0eae88de2d2b4577:0',
-  local_balance: '9991312',
-  remote_balance: '0',
-  remote_node_pub: '020178567c0f881b579a7ddbcd8ce362a33ebba2b3c2d218e667f7e3b390e40d4e'
-}
-
-const pending_open_channels = {
-  blocks_till_open: 0,
-  channel: channel_pending,
-  commit_fee: '8688',
-  commit_weight: '600',
-  confirmation_height: 0,
-  fee_per_kw: '12000'
-}
-
-const pending_closing_channels = {
-  channel: channel_pending,
-  closing_txid: '8d623d1ddd32945cace3351d511df2b5be3e0f7c7e5622989d2fc0215e8a2a7e'
-}
-
-describe('Channels', () => {
-  describe('should show default components', () => {
-    const props = { ...defaultProps, channelsLoading: true }
-    const el = shallow(<Channels {...props} />)
-    it('should contain Modal and Form', () => {
-      expect(el.find(ChannelModal)).toHaveLength(1)
-      expect(el.find(ChannelForm)).toHaveLength(1)
-    })
-    it('should have Channels header, and plus button', () => {
-      expect(el.contains('Channels')).toBe(true)
-      expect(el.find(TiPlus)).toHaveLength(1)
-    })
-  })
-
-  describe('channels are loading', () => {
-    const props = { ...defaultProps, channelsLoading: true }
-    const el = shallow(<Channels {...props} />)
-    it('should display loading msg', () => {
-      expect(el.contains('Loading...')).toBe(true)
-    })
-  })
-
-  describe('channels are loaded', () => {
-    describe('no channels', () => {
-      const props = { ...defaultProps, allChannels: [] }
-      const el = shallow(<Channels {...props} />)
-      it('should not show channels or loading', () => {
-        expect(el.contains('Loading...')).toBe(false)
-        expect(el.find(Channel)).toHaveLength(0)
-      })
-    })
-
-    describe('channel is open-pending', () => {
-      const props = { ...defaultProps, allChannels: [pending_open_channels] }
-      const el = shallow(<Channels {...props} />)
-      it('should display open-pending', () => {
-        expect(el.find(OpenPendingChannel)).toHaveLength(1)
-      })
-    })
-
-    describe('channel is open', () => {
-      const props = { ...defaultProps, allChannels: [channel_open] }
-      const el = shallow(<Channels {...props} />)
-      it('should display open channel', () => {
-        expect(el.find(Channel)).toHaveLength(1)
-      })
-    })
-
-    describe('channel is closed-pending', () => {
-      const props = { ...defaultProps, allChannels: [pending_closing_channels] }
-      const el = shallow(<Channels {...props} />)
-      it('should display closed-pending', () => {
-        expect(el.find(ClosedPendingChannel)).toHaveLength(1)
-      })
-    })
-  })
-})
diff --git a/test/components/Peers.spec.js b/test/components/Peers.spec.js
deleted file mode 100644
index 465f7d96..00000000
--- a/test/components/Peers.spec.js
+++ /dev/null
@@ -1,72 +0,0 @@
-import React from 'react'
-import { shallow } from 'enzyme'
-
-import Peers from '../../app/routes/peers/components/Peers'
-import PeerModal from '../../app/components/Peers/PeerModal'
-import PeerForm from '../../app/components/Peers/PeerForm'
-import Peer from '../../app/components/Peers/Peer'
-
-const defaultProps = {
-  fetchPeers: () => {},
-  peerFormProps: {
-    form: {},
-    setForm: () => {},
-    connect: () => {}
-  },
-  setPeerForm: () => {},
-  setPeer: () => {},
-  updateSearchQuery: () => {},
-  disconnectRequest: () => {},
-
-  peerModalOpen: false,
-  filteredPeers: [],
-  peers: {
-    peer: null,
-    searchQuery: ''
-  }
-}
-
-const peer = {
-  address: '45.77.115.33:9735',
-  bytes_recv: '63322',
-  bytes_sent: '68714',
-  inbound: true,
-  peer_id: 3,
-  ping_time: '261996',
-  pub_key: '0293cb97aac77eacjc5377d761640f1b51ebba350902801e1aa62853fa7bc3a1f30',
-  sat_recv: '0',
-  sat_sent: '0'
-}
-
-describe('component.Peers', () => {
-  describe('default components', () => {
-    const props = { ...defaultProps }
-    const el = shallow(<Peers {...props} />)
-    it('should contain Modal and Form', () => {
-      expect(el.find(PeerModal)).toHaveLength(1)
-      expect(el.find(PeerForm)).toHaveLength(1)
-    })
-    it('should have Peers header, and plus button', () => {
-      expect(el.contains('Peers')).toBe(true)
-      expect(el.contains('Add new peer')).toBe(true)
-    })
-  })
-
-  describe('peers are loaded', () => {
-    describe('no peers', () => {
-      const props = { ...defaultProps }
-      const el = shallow(<Peers {...props} />)
-      it('should show no peers', () => {
-        expect(el.find(Peer)).toHaveLength(0)
-      })
-    })
-
-    describe('peer connected', () => {
-      const props = { ...defaultProps, filteredPeers: [peer] }
-      const el = shallow(<Peers {...props} />)
-      it('should show peer information', () => {
-        expect(el.find(Peer)).toHaveLength(1)
-      })
-    })
-  })
-})
diff --git a/test/reducers/__snapshots__/balance.spec.js.snap b/test/reducers/__snapshots__/balance.spec.js.snap
deleted file mode 100644
index f1d37985..00000000
--- a/test/reducers/__snapshots__/balance.spec.js.snap
+++ /dev/null
@@ -1,33 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`reducers balanceReducer should handle DECREMENT_COUNTER 1`] = `
-Object {
-  "balanceLoading": false,
-  "channelBalance": undefined,
-  "walletBalance": undefined,
-}
-`;
-
-exports[`reducers balanceReducer should handle INCREMENT_COUNTER 1`] = `
-Object {
-  "balanceLoading": true,
-  "channelBalance": null,
-  "walletBalance": null,
-}
-`;
-
-exports[`reducers balanceReducer should handle initial state 1`] = `
-Object {
-  "balanceLoading": false,
-  "channelBalance": null,
-  "walletBalance": null,
-}
-`;
-
-exports[`reducers balanceReducer should handle unknown action type 1`] = `
-Object {
-  "balanceLoading": false,
-  "channelBalance": null,
-  "walletBalance": null,
-}
-`;
diff --git a/test/reducers/__snapshots__/channels.spec.js.snap b/test/reducers/__snapshots__/channels.spec.js.snap
deleted file mode 100644
index 195b780c..00000000
--- a/test/reducers/__snapshots__/channels.spec.js.snap
+++ /dev/null
@@ -1,308 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`reducers channelsReducer should correctly getChannels 1`] = `
-Object {
-  "channel": null,
-  "channelForm": Object {
-    "isOpen": false,
-    "local_amt": "",
-    "node_key": "",
-    "push_amt": "",
-  },
-  "channels": Array [],
-  "channelsLoading": true,
-  "closingChannel": false,
-  "filter": Object {
-    "key": "ALL_CHANNELS",
-    "name": "All Channels",
-  },
-  "filterPulldown": false,
-  "filters": Array [
-    Object {
-      "key": "ALL_CHANNELS",
-      "name": "All Channels",
-    },
-    Object {
-      "key": "ACTIVE_CHANNELS",
-      "name": "Active Channels",
-    },
-    Object {
-      "key": "OPEN_CHANNELS",
-      "name": "Open Channels",
-    },
-    Object {
-      "key": "OPEN_PENDING_CHANNELS",
-      "name": "Open Pending Channels",
-    },
-    Object {
-      "key": "CLOSING_PENDING_CHANNELS",
-      "name": "Closing Pending Channels",
-    },
-  ],
-  "openingChannel": false,
-  "pendingChannels": Object {
-    "pending_closing_channels": Array [],
-    "pending_force_closing_channels": Array [],
-    "pending_open_channels": Array [],
-    "total_limbo_balance": "",
-  },
-  "searchQuery": "",
-  "viewType": 0,
-}
-`;
-
-exports[`reducers channelsReducer should correctly openingChannel 1`] = `
-Object {
-  "channel": null,
-  "channelForm": Object {
-    "isOpen": false,
-    "local_amt": "",
-    "node_key": "",
-    "push_amt": "",
-  },
-  "channels": Array [],
-  "channelsLoading": false,
-  "closingChannel": false,
-  "filter": Object {
-    "key": "ALL_CHANNELS",
-    "name": "All Channels",
-  },
-  "filterPulldown": false,
-  "filters": Array [
-    Object {
-      "key": "ALL_CHANNELS",
-      "name": "All Channels",
-    },
-    Object {
-      "key": "ACTIVE_CHANNELS",
-      "name": "Active Channels",
-    },
-    Object {
-      "key": "OPEN_CHANNELS",
-      "name": "Open Channels",
-    },
-    Object {
-      "key": "OPEN_PENDING_CHANNELS",
-      "name": "Open Pending Channels",
-    },
-    Object {
-      "key": "CLOSING_PENDING_CHANNELS",
-      "name": "Closing Pending Channels",
-    },
-  ],
-  "openingChannel": true,
-  "pendingChannels": Object {
-    "pending_closing_channels": Array [],
-    "pending_force_closing_channels": Array [],
-    "pending_open_channels": Array [],
-    "total_limbo_balance": "",
-  },
-  "searchQuery": "",
-  "viewType": 0,
-}
-`;
-
-exports[`reducers channelsReducer should correctly receiveChannel 1`] = `
-Object {
-  "channel": null,
-  "channelForm": Object {
-    "isOpen": false,
-    "local_amt": "",
-    "node_key": "",
-    "push_amt": "",
-  },
-  "channels": Array [
-    1,
-    2,
-  ],
-  "channelsLoading": false,
-  "closingChannel": false,
-  "filter": Object {
-    "key": "ALL_CHANNELS",
-    "name": "All Channels",
-  },
-  "filterPulldown": false,
-  "filters": Array [
-    Object {
-      "key": "ALL_CHANNELS",
-      "name": "All Channels",
-    },
-    Object {
-      "key": "ACTIVE_CHANNELS",
-      "name": "Active Channels",
-    },
-    Object {
-      "key": "OPEN_CHANNELS",
-      "name": "Open Channels",
-    },
-    Object {
-      "key": "OPEN_PENDING_CHANNELS",
-      "name": "Open Pending Channels",
-    },
-    Object {
-      "key": "CLOSING_PENDING_CHANNELS",
-      "name": "Closing Pending Channels",
-    },
-  ],
-  "openingChannel": false,
-  "pendingChannels": Array [
-    3,
-    4,
-  ],
-  "searchQuery": "",
-  "viewType": 0,
-}
-`;
-
-exports[`reducers channelsReducer should correctly setChannel 1`] = `
-Object {
-  "channel": "channel",
-  "channelForm": Object {
-    "isOpen": false,
-    "local_amt": "",
-    "node_key": "",
-    "push_amt": "",
-  },
-  "channels": Array [],
-  "channelsLoading": false,
-  "closingChannel": false,
-  "filter": Object {
-    "key": "ALL_CHANNELS",
-    "name": "All Channels",
-  },
-  "filterPulldown": false,
-  "filters": Array [
-    Object {
-      "key": "ALL_CHANNELS",
-      "name": "All Channels",
-    },
-    Object {
-      "key": "ACTIVE_CHANNELS",
-      "name": "Active Channels",
-    },
-    Object {
-      "key": "OPEN_CHANNELS",
-      "name": "Open Channels",
-    },
-    Object {
-      "key": "OPEN_PENDING_CHANNELS",
-      "name": "Open Pending Channels",
-    },
-    Object {
-      "key": "CLOSING_PENDING_CHANNELS",
-      "name": "Closing Pending Channels",
-    },
-  ],
-  "openingChannel": false,
-  "pendingChannels": Object {
-    "pending_closing_channels": Array [],
-    "pending_force_closing_channels": Array [],
-    "pending_open_channels": Array [],
-    "total_limbo_balance": "",
-  },
-  "searchQuery": "",
-  "viewType": 0,
-}
-`;
-
-exports[`reducers channelsReducer should correctly setChannelForm 1`] = `
-Object {
-  "channel": null,
-  "channelForm": Object {
-    "isOpen": true,
-    "local_amt": "",
-    "node_key": "",
-    "push_amt": "",
-  },
-  "channels": Array [],
-  "channelsLoading": false,
-  "closingChannel": false,
-  "filter": Object {
-    "key": "ALL_CHANNELS",
-    "name": "All Channels",
-  },
-  "filterPulldown": false,
-  "filters": Array [
-    Object {
-      "key": "ALL_CHANNELS",
-      "name": "All Channels",
-    },
-    Object {
-      "key": "ACTIVE_CHANNELS",
-      "name": "Active Channels",
-    },
-    Object {
-      "key": "OPEN_CHANNELS",
-      "name": "Open Channels",
-    },
-    Object {
-      "key": "OPEN_PENDING_CHANNELS",
-      "name": "Open Pending Channels",
-    },
-    Object {
-      "key": "CLOSING_PENDING_CHANNELS",
-      "name": "Closing Pending Channels",
-    },
-  ],
-  "openingChannel": false,
-  "pendingChannels": Object {
-    "pending_closing_channels": Array [],
-    "pending_force_closing_channels": Array [],
-    "pending_open_channels": Array [],
-    "total_limbo_balance": "",
-  },
-  "searchQuery": "",
-  "viewType": 0,
-}
-`;
-
-exports[`reducers channelsReducer should handle initial state 1`] = `
-Object {
-  "channel": null,
-  "channelForm": Object {
-    "isOpen": false,
-    "local_amt": "",
-    "node_key": "",
-    "push_amt": "",
-  },
-  "channels": Array [],
-  "channelsLoading": false,
-  "closingChannel": false,
-  "filter": Object {
-    "key": "ALL_CHANNELS",
-    "name": "All Channels",
-  },
-  "filterPulldown": false,
-  "filters": Array [
-    Object {
-      "key": "ALL_CHANNELS",
-      "name": "All Channels",
-    },
-    Object {
-      "key": "ACTIVE_CHANNELS",
-      "name": "Active Channels",
-    },
-    Object {
-      "key": "OPEN_CHANNELS",
-      "name": "Open Channels",
-    },
-    Object {
-      "key": "OPEN_PENDING_CHANNELS",
-      "name": "Open Pending Channels",
-    },
-    Object {
-      "key": "CLOSING_PENDING_CHANNELS",
-      "name": "Closing Pending Channels",
-    },
-  ],
-  "openingChannel": false,
-  "pendingChannels": Object {
-    "pending_closing_channels": Array [],
-    "pending_force_closing_channels": Array [],
-    "pending_open_channels": Array [],
-    "total_limbo_balance": "",
-  },
-  "searchQuery": "",
-  "viewType": 0,
-}
-`;
diff --git a/test/reducers/__snapshots__/form.spec.js.snap b/test/reducers/__snapshots__/form.spec.js.snap
deleted file mode 100644
index 2b1d763d..00000000
--- a/test/reducers/__snapshots__/form.spec.js.snap
+++ /dev/null
@@ -1,13 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`reducers formReducer should correctly setFormType 1`] = `
-Object {
-  "formType": "FOO",
-}
-`;
-
-exports[`reducers formReducer should handle initial state 1`] = `
-Object {
-  "formType": null,
-}
-`;
diff --git a/test/reducers/__snapshots__/info.spec.js.snap b/test/reducers/__snapshots__/info.spec.js.snap
deleted file mode 100644
index 1fd77f2b..00000000
--- a/test/reducers/__snapshots__/info.spec.js.snap
+++ /dev/null
@@ -1,22 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`reducers infoReducer should correctly getInfo 1`] = `
-Object {
-  "data": Object {},
-  "infoLoading": true,
-}
-`;
-
-exports[`reducers infoReducer should correctly receiveInfo 1`] = `
-Object {
-  "data": "foo",
-  "infoLoading": false,
-}
-`;
-
-exports[`reducers infoReducer should handle initial state 1`] = `
-Object {
-  "data": Object {},
-  "infoLoading": false,
-}
-`;
diff --git a/test/reducers/__snapshots__/invoice.spec.js.snap b/test/reducers/__snapshots__/invoice.spec.js.snap
deleted file mode 100644
index c2d59f50..00000000
--- a/test/reducers/__snapshots__/invoice.spec.js.snap
+++ /dev/null
@@ -1,171 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`reducers invoiceReducer should correctly getInvoice 1`] = `
-Object {
-  "data": Object {},
-  "formInvoice": Object {
-    "amount": "0",
-    "payreq": "",
-    "r_hash": "",
-  },
-  "invoice": null,
-  "invoiceLoading": true,
-  "invoices": Array [],
-  "invoicesSearchText": "",
-}
-`;
-
-exports[`reducers invoiceReducer should correctly getInvoices 1`] = `
-Object {
-  "data": Object {},
-  "formInvoice": Object {
-    "amount": "0",
-    "payreq": "",
-    "r_hash": "",
-  },
-  "invoice": null,
-  "invoiceLoading": true,
-  "invoices": Array [],
-  "invoicesSearchText": "",
-}
-`;
-
-exports[`reducers invoiceReducer should correctly invcoiceFailed 1`] = `
-Object {
-  "data": null,
-  "formInvoice": Object {
-    "amount": "0",
-    "payreq": "",
-    "r_hash": "",
-  },
-  "invoice": null,
-  "invoiceLoading": false,
-  "invoices": Array [],
-  "invoicesSearchText": "",
-}
-`;
-
-exports[`reducers invoiceReducer should correctly invcoiceSuccessful 1`] = `
-Object {
-  "data": Object {},
-  "formInvoice": Object {
-    "amount": "0",
-    "payreq": "",
-    "r_hash": "",
-  },
-  "invoice": null,
-  "invoiceLoading": false,
-  "invoices": Array [
-    "foo",
-  ],
-  "invoicesSearchText": "",
-}
-`;
-
-exports[`reducers invoiceReducer should correctly receiveFormInvoice 1`] = `
-Object {
-  "data": Object {},
-  "formInvoice": Object {
-    "amount": "0",
-    "payreq": "",
-    "r_hash": "",
-  },
-  "invoice": null,
-  "invoiceLoading": false,
-  "invoices": Array [],
-  "invoicesSearchText": "",
-}
-`;
-
-exports[`reducers invoiceReducer should correctly receiveInvoice 1`] = `
-Object {
-  "data": Object {},
-  "formInvoice": Object {
-    "amount": "0",
-    "payreq": "",
-    "r_hash": "",
-  },
-  "invoice": "foo",
-  "invoiceLoading": false,
-  "invoices": Array [],
-  "invoicesSearchText": "",
-}
-`;
-
-exports[`reducers invoiceReducer should correctly receiveInvoices 1`] = `
-Object {
-  "data": Object {},
-  "formInvoice": Object {
-    "amount": "0",
-    "payreq": "",
-    "r_hash": "",
-  },
-  "invoice": null,
-  "invoiceLoading": false,
-  "invoices": Array [
-    1,
-    2,
-  ],
-  "invoicesSearchText": "",
-}
-`;
-
-exports[`reducers invoiceReducer should correctly searchInvoices 1`] = `
-Object {
-  "data": Object {},
-  "formInvoice": Object {
-    "amount": "0",
-    "payreq": "",
-    "r_hash": "",
-  },
-  "invoice": null,
-  "invoiceLoading": false,
-  "invoices": Array [],
-  "invoicesSearchText": "foo",
-}
-`;
-
-exports[`reducers invoiceReducer should correctly sendInvoice 1`] = `
-Object {
-  "data": Object {},
-  "formInvoice": Object {
-    "amount": "0",
-    "payreq": "",
-    "r_hash": "",
-  },
-  "invoice": null,
-  "invoiceLoading": true,
-  "invoices": Array [],
-  "invoicesSearchText": "",
-}
-`;
-
-exports[`reducers invoiceReducer should correctly setInvoice 1`] = `
-Object {
-  "data": Object {},
-  "formInvoice": Object {
-    "amount": "0",
-    "payreq": "",
-    "r_hash": "",
-  },
-  "invoice": "foo",
-  "invoiceLoading": false,
-  "invoices": Array [],
-  "invoicesSearchText": "",
-}
-`;
-
-exports[`reducers invoiceReducer should handle initial state 1`] = `
-Object {
-  "data": Object {},
-  "formInvoice": Object {
-    "amount": "0",
-    "payreq": "",
-    "r_hash": "",
-  },
-  "invoice": null,
-  "invoiceLoading": false,
-  "invoices": Array [],
-  "invoicesSearchText": "",
-}
-`;
diff --git a/test/reducers/__snapshots__/payment.spec.js.snap b/test/reducers/__snapshots__/payment.spec.js.snap
deleted file mode 100644
index fe7667c3..00000000
--- a/test/reducers/__snapshots__/payment.spec.js.snap
+++ /dev/null
@@ -1,49 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`reducers paymentReducer should correctly getPayments 1`] = `
-Object {
-  "payment": null,
-  "paymentLoading": true,
-  "payments": Array [],
-  "sendingPayment": false,
-}
-`;
-
-exports[`reducers paymentReducer should correctly paymentSuccessful 1`] = `
-Object {
-  "payment": null,
-  "paymentLoading": false,
-  "payments": Array [],
-  "sendingPayment": false,
-}
-`;
-
-exports[`reducers paymentReducer should correctly receivePayments 1`] = `
-Object {
-  "payment": null,
-  "paymentLoading": false,
-  "payments": Array [
-    1,
-    2,
-  ],
-  "sendingPayment": false,
-}
-`;
-
-exports[`reducers paymentReducer should correctly sendPayment 1`] = `
-Object {
-  "payment": "foo",
-  "paymentLoading": false,
-  "payments": Array [],
-  "sendingPayment": false,
-}
-`;
-
-exports[`reducers paymentReducer should handle initial state 1`] = `
-Object {
-  "payment": null,
-  "paymentLoading": false,
-  "payments": Array [],
-  "sendingPayment": false,
-}
-`;
diff --git a/test/reducers/__snapshots__/peers.spec.js.snap b/test/reducers/__snapshots__/peers.spec.js.snap
deleted file mode 100644
index 69bcafdd..00000000
--- a/test/reducers/__snapshots__/peers.spec.js.snap
+++ /dev/null
@@ -1,182 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`reducers peersReducer should correctly connectFailure 1`] = `
-Object {
-  "connecting": false,
-  "disconnecting": false,
-  "peer": null,
-  "peerForm": Object {
-    "host": "",
-    "isOpen": false,
-    "pubkey": "",
-  },
-  "peers": Array [],
-  "peersLoading": false,
-  "searchQuery": "",
-}
-`;
-
-exports[`reducers peersReducer should correctly connectPeer 1`] = `
-Object {
-  "connecting": true,
-  "disconnecting": false,
-  "peer": null,
-  "peerForm": Object {
-    "host": "",
-    "isOpen": false,
-    "pubkey": "",
-  },
-  "peers": Array [],
-  "peersLoading": false,
-  "searchQuery": "",
-}
-`;
-
-exports[`reducers peersReducer should correctly connectSuccess 1`] = `
-Object {
-  "connecting": false,
-  "disconnecting": false,
-  "peer": null,
-  "peerForm": Object {
-    "host": "",
-    "isOpen": false,
-    "pubkey": "",
-  },
-  "peers": Array [
-    "foo",
-  ],
-  "peersLoading": false,
-  "searchQuery": "",
-}
-`;
-
-exports[`reducers peersReducer should correctly disconnectFailure 1`] = `
-Object {
-  "connecting": false,
-  "disconnecting": false,
-  "peer": null,
-  "peerForm": Object {
-    "host": "",
-    "isOpen": false,
-    "pubkey": "",
-  },
-  "peers": Array [],
-  "peersLoading": false,
-  "searchQuery": "",
-}
-`;
-
-exports[`reducers peersReducer should correctly disconnectPeer 1`] = `
-Object {
-  "connecting": false,
-  "disconnecting": true,
-  "peer": null,
-  "peerForm": Object {
-    "host": "",
-    "isOpen": false,
-    "pubkey": "",
-  },
-  "peers": Array [],
-  "peersLoading": false,
-  "searchQuery": "",
-}
-`;
-
-exports[`reducers peersReducer should correctly disconnectSuccess 1`] = `
-Object {
-  "connecting": false,
-  "disconnecting": false,
-  "peer": null,
-  "peerForm": Object {
-    "host": "",
-    "isOpen": false,
-    "pubkey": "",
-  },
-  "peers": Array [],
-  "peersLoading": false,
-  "searchQuery": "",
-}
-`;
-
-exports[`reducers peersReducer should correctly getPeers 1`] = `
-Object {
-  "connecting": false,
-  "disconnecting": false,
-  "peer": null,
-  "peerForm": Object {
-    "host": "",
-    "isOpen": false,
-    "pubkey": "",
-  },
-  "peers": Array [],
-  "peersLoading": true,
-  "searchQuery": "",
-}
-`;
-
-exports[`reducers peersReducer should correctly receivePeers 1`] = `
-Object {
-  "connecting": false,
-  "disconnecting": false,
-  "peer": null,
-  "peerForm": Object {
-    "host": "",
-    "isOpen": false,
-    "pubkey": "",
-  },
-  "peers": "foo",
-  "peersLoading": false,
-  "searchQuery": "",
-}
-`;
-
-exports[`reducers peersReducer should correctly setPeer 1`] = `
-Object {
-  "connecting": false,
-  "disconnecting": false,
-  "peer": "foo",
-  "peerForm": Object {
-    "host": "",
-    "isOpen": false,
-    "pubkey": "",
-  },
-  "peers": Array [],
-  "peersLoading": false,
-  "searchQuery": "",
-}
-`;
-
-exports[`reducers peersReducer should correctly setPeerForm 1`] = `
-Object {
-  "connecting": false,
-  "disconnecting": false,
-  "peer": null,
-  "peerForm": Object {
-    "0": "f",
-    "1": "o",
-    "2": "o",
-    "host": "",
-    "isOpen": false,
-    "pubkey": "",
-  },
-  "peers": Array [],
-  "peersLoading": false,
-  "searchQuery": "",
-}
-`;
-
-exports[`reducers peersReducer should handle initial state 1`] = `
-Object {
-  "connecting": false,
-  "disconnecting": false,
-  "peer": null,
-  "peerForm": Object {
-    "host": "",
-    "isOpen": false,
-    "pubkey": "",
-  },
-  "peers": Array [],
-  "peersLoading": false,
-  "searchQuery": "",
-}
-`;
diff --git a/test/reducers/__snapshots__/ticker.spec.js.snap b/test/reducers/__snapshots__/ticker.spec.js.snap
deleted file mode 100644
index 06102a8b..00000000
--- a/test/reducers/__snapshots__/ticker.spec.js.snap
+++ /dev/null
@@ -1,51 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`reducers tickerReducer should correctly getTicker 1`] = `
-Object {
-  "btcTicker": null,
-  "crypto": "",
-  "currency": "",
-  "ltcTicker": null,
-  "tickerLoading": true,
-}
-`;
-
-exports[`reducers tickerReducer should correctly receiveTicker 1`] = `
-Object {
-  "btcTicker": undefined,
-  "crypto": "",
-  "currency": "",
-  "ltcTicker": undefined,
-  "tickerLoading": false,
-}
-`;
-
-exports[`reducers tickerReducer should correctly setCrypto 1`] = `
-Object {
-  "btcTicker": null,
-  "crypto": "foo",
-  "currency": "",
-  "ltcTicker": null,
-  "tickerLoading": false,
-}
-`;
-
-exports[`reducers tickerReducer should correctly setCurrency 1`] = `
-Object {
-  "btcTicker": null,
-  "crypto": "",
-  "currency": "foo",
-  "ltcTicker": null,
-  "tickerLoading": false,
-}
-`;
-
-exports[`reducers tickerReducer should handle initial state 1`] = `
-Object {
-  "btcTicker": null,
-  "crypto": "",
-  "currency": "",
-  "ltcTicker": null,
-  "tickerLoading": false,
-}
-`;