Browse Source

Merge pull request #188 from Empact/fix/eslint-plugins

Enable our eslint plugins, which are currently inactive
renovate/lint-staged-8.x
JimmyMow 7 years ago
committed by GitHub
parent
commit
85166a35ba
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      .eslintignore
  2. 17
      .eslintrc
  3. 4
      app/lnd/lib/lightning.js
  4. 60
      app/lnd/methods/channelController.js
  5. 30
      app/lnd/methods/index.js
  6. 14
      app/notifications/index.js
  7. 4
      app/routes.js
  8. 8
      app/routes/contacts/components/Contacts.js
  9. 2
      app/store/configureStore.dev.js
  10. 15
      app/utils/index.js
  11. 6
      test/.eslintrc

2
.eslintignore

@ -33,7 +33,7 @@ app/node_modules
# flow-typed
flow-typed/npm/*
!flow-typed/npm/module_vx.x.x.js
flow-typed/module_vx.x.x.js
# App packaged
release

17
.eslintrc

@ -4,7 +4,15 @@
"sourceType": "module",
"allowImportExportEverywhere": true
},
"extends": "airbnb",
"extends": [
"airbnb",
"plugin:react/recommended",
"plugin:flowtype/recommended",
"plugin:import/errors",
"plugin:import/warnings",
"plugin:jsx-a11y/strict",
"plugin:promise/recommended"
],
"env": {
"browser": true,
"node": true
@ -31,7 +39,10 @@
"react/require-default-props": 0,
"max-len": ["error", 150],
"import/no-extraneous-dependencies": 0,
"no-new": 0
"no-new": 0,
"compat/compat": "error",
"flowtype-errors/show-errors": "error",
"flowtype-errors/enforce-min-coverage": ["error", 20]
},
"plugins": [
"flowtype",
@ -44,7 +55,7 @@
"settings": {
"import/resolver": {
"node": {
"paths": ["app", "app/node_modules"]
"moduleDirectory": ["app", "app/node_modules", "node_modules"]
},
"webpack": {
"config": "webpack.config.eslint.js"

4
app/lnd/lib/lightning.js

@ -3,10 +3,12 @@ import path from 'path'
import grpc from 'grpc'
import config from '../config'
module.exports = (rpcpath, host) => {
const lightning = (rpcpath, host) => {
const lndCert = fs.readFileSync(config.cert)
const credentials = grpc.credentials.createSsl(lndCert)
const rpc = grpc.load(path.join(__dirname, 'rpc.proto'))
return new rpc.lnrpc.Lightning(host, credentials)
}
export default { lightning }

60
app/lnd/methods/channelController.js

@ -5,6 +5,17 @@ import pushopenchannel from '../push/openchannel'
const BufferUtil = bitcore.util.buffer
function ensurePeerConnected(lnd, meta, pubkey, host) {
return listPeers(lnd, meta)
.then(({ peers }) => {
const peer = find(peers, { pub_key: pubkey })
if (peer) {
return peer
}
return connectPeer(lnd, meta, { pubkey, host })
})
}
/**
* Attempts to open a singly funded channel specified in the request to a remote peer.
* @param {[type]} lnd [description]
@ -14,40 +25,23 @@ const BufferUtil = bitcore.util.buffer
*/
export function connectAndOpen(lnd, meta, event, payload) {
const { pubkey, host, localamt } = payload
const channelPayload = {
node_pubkey: BufferUtil.hexToBuffer(pubkey),
local_funding_amount: Number(localamt)
}
return new Promise((resolve, reject) => {
listPeers(lnd, meta)
.then(({ peers }) => {
const peer = find(peers, { pub_key: pubkey })
if (peer) {
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 {
connectPeer(lnd, meta, { pubkey, host })
.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) => {
event.sender.send('pushchannelerror', { pubkey, error: err.toString() })
reject(err)
})
}
})
.catch((err) => {
event.sender.send('pushchannelerror', { pubkey, error: err.toString() })
reject(err)
})
})
return ensurePeerConnected(lnd, meta, pubkey, host)
.then(() => {
const call = lnd.openChannel({
node_pubkey: BufferUtil.hexToBuffer(pubkey),
local_funding_amount: Number(localamt)
}, meta)
call.on('data', data => event.sender.send('pushchannelupdated', { pubkey, data }))
call.on('error', error => event.sender.send('pushchannelerror', { pubkey, error: error.toString() }))
return call
})
.catch((err) => {
event.sender.send('pushchannelerror', { pubkey, error: err.toString() })
throw err
})
}
/**

30
app/lnd/methods/index.js

@ -25,6 +25,7 @@ export default function (lnd, meta, event, msg, data) {
.then((infoData) => {
event.sender.send('receiveInfo', infoData)
event.sender.send('receiveCryptocurrency', infoData.chains[0])
return infoData
})
.catch(() => event.sender.send('infoFailed'))
break
@ -42,13 +43,15 @@ export default function (lnd, meta, event, msg, data) {
case 'getInvoiceAndQueryRoutes':
// Data looks like { pubkey: String, amount: Number }
invoicesController.getInvoice(lnd, meta, { pay_req: data.payreq })
.then((invoiceData) => {
networkController.queryRoutes(lnd, meta, { pubkey: invoiceData.destination, amount: invoiceData.num_satoshis })
.then((routes) => {
event.sender.send('receiveInvoiceAndQueryRoutes', routes)
})
.catch(error => console.log('getInvoiceAndQueryRoutes queryRoutes error: ', error))
})
.then(invoiceData =>
networkController.queryRoutes(lnd, meta, {
pubkey: invoiceData.destination,
amount: invoiceData.num_satoshis
})
)
.then(routes =>
event.sender.send('receiveInvoiceAndQueryRoutes', routes)
)
.catch(error => console.log('getInvoiceAndQueryRoutes invoice error: ', error))
break
case 'newaddress':
@ -106,6 +109,7 @@ export default function (lnd, meta, event, msg, data) {
Promise.all([walletController.walletBalance, channelController.channelBalance].map(func => func(lnd, meta)))
.then((balance) => {
event.sender.send('receiveBalance', { walletBalance: balance[0].total_balance, channelBalance: balance[1].balance })
return balance
})
.catch(error => console.log('balance error: ', error))
break
@ -132,9 +136,11 @@ export default function (lnd, meta, event, msg, data) {
// Payment looks like { payment_preimage: Buffer, payment_route: Object }
// { paymentRequest } = data
paymentsController.sendPaymentSync(lnd, meta, data)
.then(({ payment_route }) => {
.then((payment) => {
const { payment_route } = payment
console.log('payinvoice success: ', payment_route)
event.sender.send('paymentSuccessful', Object.assign(data, { payment_route }))
return payment
})
.catch(({ error }) => {
console.log('error: ', error)
@ -158,6 +164,7 @@ export default function (lnd, meta, event, msg, data) {
.then((channel) => {
console.log('CHANNEL: ', channel)
event.sender.send('channelSuccessful', { channel })
return channel
})
.catch(error => console.log('openChannel error: ', error))
break
@ -168,6 +175,7 @@ export default function (lnd, meta, event, msg, data) {
.then((result) => {
console.log('CLOSE CHANNEL: ', result)
event.sender.send('closeChannelSuccessful')
return result
})
.catch(error => console.log('closeChannel error: ', error))
break
@ -175,9 +183,11 @@ export default function (lnd, meta, event, msg, data) {
// Returns a peer_id. Pass the pubkey, host and peer_id so we can add a new peer to the list
// { pubkey, host } = data
peersController.connectPeer(lnd, meta, data)
.then(({ peer_id }) => {
.then((peer) => {
const { peer_id } = peer
console.log('peer_id: ', peer_id)
event.sender.send('connectSuccess', { pub_key: data.pubkey, address: data.host, peer_id })
return peer
})
.catch((error) => {
event.sender.send('connectFailure', { error: error.toString() })
@ -191,6 +201,7 @@ export default function (lnd, meta, event, msg, data) {
.then(() => {
console.log('pubkey: ', data.pubkey)
event.sender.send('disconnectSuccess', { pubkey: data.pubkey })
return null
})
.catch(error => console.log('disconnectPeer error: ', error))
break
@ -201,6 +212,7 @@ export default function (lnd, meta, event, msg, data) {
.then((channelData) => {
console.log('connectAndOpen data: ', channelData)
// event.sender.send('connectSuccess', { pub_key: data.pubkey, address: data.host, peer_id })
return channelData
})
.catch((error) => {
// event.sender.send('connectFailure', { error: error.toString() })

14
app/notifications/index.js

@ -1,8 +1,8 @@
export default {
showNotification: (title, body, onClick) => {
new Notification(title, {
body,
onClick
})
}
export const showNotification = (title, body, onClick) => {
new Notification(title, {
body,
onClick
})
}
export default { showNotification }

4
app/routes.js

@ -6,7 +6,7 @@ import Activity from './routes/activity'
import Contacts from './routes/contacts'
import Network from './routes/network'
export default () => (
const routes = () => (
<App>
<Switch>
<Route path='/contacts' component={Contacts} />
@ -15,3 +15,5 @@ export default () => (
</Switch>
</App>
)
export default routes

8
app/routes/contacts/components/Contacts.js

@ -148,23 +148,21 @@ class Contacts extends Component {
<ul className={`${styles.friends} ${filterPulldown && styles.fade}`}>
{
loadingChannelPubkeys.map(pubkey => <LoadingContact pubkey={pubkey} isClosing={false} />)
loadingChannelPubkeys.map(pubkey => <LoadingContact pubkey={pubkey} isClosing={false} key={pubkey} />)
}
{
currentChannels.length > 0 && currentChannels.map((channel, index) => {
if (closingChannelIds.includes(channel.chan_id)) {
return <LoadingContact pubkey={channel.remote_pubkey} isClosing />
return <LoadingContact pubkey={channel.remote_pubkey} isClosing key={index} />
} else if (Object.prototype.hasOwnProperty.call(channel, 'blocks_till_open')) {
return <PendingContact channel={channel} key={index} />
} else if (Object.prototype.hasOwnProperty.call(channel, 'closing_txid')) {
return <ClosingContact channel={channel} key={index} />
} else if (channel.active) {
return <OnlineContact channel={channel} key={index} openContactModal={openContactModal} />
} else if (!channel.active) {
return <OfflineContact channel={channel} key={index} openContactModal={openContactModal} />
}
return <span />
return <OnlineContact channel={channel} key={index} openContactModal={openContactModal} />
})
}
</ul>

2
app/store/configureStore.dev.js

@ -8,7 +8,7 @@ import ipc from '../reducers/ipc'
const history = createHashHistory()
const configureStore = (initialState?: counterStateType) => {
const configureStore = (initialState) => {
// Redux Configuration
const middleware = []
const enhancers = []

15
app/utils/index.js

@ -1,11 +1,4 @@
import btc from './btc'
import usd from './usd'
import bech32 from './bech32'
import blockExplorer from './blockExplorer'
export default {
btc,
usd,
bech32,
blockExplorer
}
export btc from './btc'
export usd from './usd'
export bech32 from './bech32'
export blockExplorer from './blockExplorer'

6
test/.eslintrc

@ -5,9 +5,5 @@
"plugins": [
"jest"
],
"rules": {
"jest/no-disabled-tests": "warn",
"jest/no-focused-tests": "error",
"jest/no-identical-title": "error"
}
"extends": ["plugin:jest/recommended"]
}

Loading…
Cancel
Save