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
- case 2:
- return
- case 3:
- return
- default:
- return
- }
- }
-
- return (
- document.body}
- className={styles.modal}
- >
-
-
-
-
-
- {channelFormHeader}
-
-
-
-
- {renderStep()}
-
-
- openChannel({ pubkey: channelform.node_key, local_amt: channelform.local_amt, push_amt: channelform.push_amt })}
- />
-
- )
-}
-
-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 (
-
-
-
changeStep(step - 1)}>
- Back
-
-
-
-
- {rightButtonText}
-
-
-
- )
-}
-
-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 }) => (
-
-
-
Peer
- {node_key}
-
-
-
-
-
Local Amount
- {local_amt}
-
-
-
Push Amount
- {push_amt}
-
-
-
-)
-
-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 (
-
-
-
-
-
- this.onSearchQuery(event.target.value)}
- className={`${styles.text} ${styles.input}`}
- placeholder='Search your peers by their public key'
- type='text'
- id='peersSearch'
- />
-
-
-
- {peers.length > 0 &&
- peers.map(peer => (
- this.peerClicked(peer)}
- >
- {peer.address}
- {peer.pub_key}
-
- ))}
-
-
- )
- }
-}
-
-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 (
-
-
-
Push Amount
-
- The push amount is the amount of bitcoin (if any at all) you'd like
- to "push" 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.
-
-
-
-
-
- )
- }
-}
-
-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 (
-
-
-
Local Amount
-
- 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.
-
-
-
-
-
- )
- }
-}
-
-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
-}) => (
-
-
-
-
-
- Remote Pubkey
- {channel.remote_pubkey}
-
-
- Channel Point
- {channel.channel_point}
-
-
-
-
- Capacity
-
- {
- ticker.currency === 'btc' ?
- btc.satoshisToBtc(channel.capacity)
- :
- btc.satoshisToUsd(channel.capacity, currentTicker.price_usd)
- }
-
-
-
-
- Local
-
- {
- ticker.currency === 'btc' ?
- btc.satoshisToBtc(channel.local_balance)
- :
- btc.satoshisToUsd(channel.local_balance, currentTicker.price_usd)
- }
-
-
-
- Remote
-
- {
- ticker.currency === 'btc' ?
- btc.satoshisToBtc(channel.remote_balance)
- :
- btc.satoshisToUsd(channel.remote_balance, currentTicker.price_usd)
- }
-
-
-
-
-
-
-)
-
-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 (
-
-
setForm({ isOpen: false })}
- parentSelector={() => document.body}
- style={customStyles}
- >
-
-
Open a new channel
-
-
-
-
-
-
- Connected Peers
- {
- peers.length ?
- peers.map(peer =>
- (
- setForm({ node_key: peer.pub_key })}
- >
- {peer.address}
- {peer.pub_key}
-
- ))
- :
- null
- }
-
-
-
-
-
-
- )
-}
-
-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 (
- resetChannel(null)}
- parentSelector={() => document.body}
- style={customStyles}
- >
- {
- channel ?
-
-
- {channel.remote_pubkey}
- shell.openExternal(`${explorerLinkBase}/tx/${channel.channel_point.split(':')[0]}`)}
- >
- {channel.channel_point}
-
-
-
-
-
- {channel.capacity}
- Capacity
-
-
-
- {channel.local_balance}
- Local
-
-
- {channel.remote_balance}
- Remote
-
-
-
-
-
- Sent
- {channel.total_satoshis_sent}
- Received
- {channel.total_satoshis_received}
- Updates
- {channel.num_updates}
-
-
-
-
-
- :
- null
- }
-
- )
-}
-
-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 (
-
-
-
-
-
Channels
-
-
-
-
setChannelForm({ isOpen: true })}
- >
-
-
-
-
- {
- !channelsLoading ?
- allChannels.map((channel, index) => {
- if (Object.prototype.hasOwnProperty.call(channel, 'blocks_till_open')) {
- return (
-
- )
- } else if (Object.prototype.hasOwnProperty.call(channel, 'closing_txid')) {
- return (
-
- )
- }
- return (
-
- )
- })
- :
- 'Loading...'
- }
-
-
- )
-}
-
-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
-}) => (
- shell.openExternal(`${explorerLinkBase}/tx/${closing_txid}`)}>
- Closing Channel...
-
-
- Remote Pubkey
- {channel.remote_node_pub}
-
-
- Channel Point
- {channel.channel_point}
-
-
-
-
- Capacity
-
- {
- ticker.currency === 'btc' ?
- btc.satoshisToBtc(channel.capacity)
- :
- btc.satoshisToUsd(channel.capacity, currentTicker.price_usd)
- }
-
-
-
-
-
- {
- ticker.currency === 'btc' ?
- btc.satoshisToBtc(channel.local_balance)
- :
- btc.satoshisToUsd(channel.local_balance, currentTicker.price_usd)
- }
-
- Local
-
-
-
- {
- ticker.currency === 'btc' ?
- btc.satoshisToBtc(channel.remote_balance)
- :
- btc.satoshisToUsd(channel.remote_balance, currentTicker.price_usd)
- }
-
- Remote
-
-
-
-
-)
-
-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
-}) => (
- shell.openExternal(`${explorerLinkBase}/tx/${channel.channel.channel_point.split(':')[0]}`)}>
-
-
Opening Channel...
- Blocks till open: {channel.blocks_till_open}
-
-
-
- Remote Pubkey
- {channel.channel.remote_node_pub}
-
-
- Channel Point
- {channel.channel.channel_point}
-
-
-
-
- Capacity
-
- {
- ticker.currency === 'btc' ?
- btc.satoshisToBtc(channel.channel.capacity)
- :
- btc.satoshisToUsd(channel.channel.capacity, currentTicker.price_usd)
- }
-
-
-
-
-
- {
- ticker.currency === 'btc' ?
- btc.satoshisToBtc(channel.channel.local_balance)
- :
- btc.satoshisToUsd(channel.channel.local_balance, currentTicker.price_usd)
- }
-
- Local
-
-
-
- {
- ticker.currency === 'btc' ?
- btc.satoshisToBtc(channel.channel.remote_balance)
- :
- btc.satoshisToUsd(channel.channel.remote_balance, currentTicker.price_usd)
- }
-
- Remote
-
-
-
-
-)
-
-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
/>
@@ -166,7 +165,7 @@ class ContactsForm extends React.Component {
{
showManualForm &&
-
Hm, looks like we can't see that contact from here. Want to try and manually connect?
+
Hm, looks like we can’t see that contact from here. Want to try and manually connect?
{
- 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 (
-
-
-
-
- )
-}
-
-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 = ({
/>
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 }) => (
- setPeer(peer)}>
- {peer.address}
- {peer.pub_key}
-
-)
-
-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 (
-
-
setForm({ isOpen: false })}
- parentSelector={() => document.body}
- className={styles.modal}
- >
- setForm({ isOpen: false })} className={styles.modalClose}>
-
-
-
- event.charCode === 13 && submit()}>
-
Connect to a peer
-
-
-
-
-
-
-
-
- )
-}
-
-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 (
- resetPeer(null)}
- parentSelector={() => document.body}
- style={customStyles}
- >
-
- resetPeer(null)}>
-
-
-
- {
- peer &&
-
-
- {peer.address}
- {peer.pub_key}
-
-
-
-
- Satoshis Received
- {peer.sat_recv}
- Satoshis Sent
- {peer.sat_sent}
- Bytes Received
- {peer.bytes_recv}
- Bytes Sent
- {peer.bytes_sent}
-
-
-
disconnect({ pubkey: peer.pub_key })}>
-
Disconnect peer
-
-
- }
-
- )
-}
-
-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
}
+ return
})
}
@@ -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( )
- 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( )
- 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( )
- 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( )
- it('should display open-pending', () => {
- expect(el.find(OpenPendingChannel)).toHaveLength(1)
- })
- })
-
- describe('channel is open', () => {
- const props = { ...defaultProps, allChannels: [channel_open] }
- const el = shallow( )
- 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( )
- 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( )
- 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( )
- it('should show no peers', () => {
- expect(el.find(Peer)).toHaveLength(0)
- })
- })
-
- describe('peer connected', () => {
- const props = { ...defaultProps, filteredPeers: [peer] }
- const el = shallow( )
- 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,
-}
-`;