Browse Source

Merge pull request #699 from LN-Zap/fix/private-channels-when-using-default

fix(channels): neutrino clients manual channels flagged private
renovate/lint-staged-8.x
Tom Kirkpatrick 6 years ago
committed by GitHub
parent
commit
fb9c4b516c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      app/lib/lnd/methods/channelController.js
  2. 12
      app/reducers/channels.js
  3. 2
      test/unit/reducers/channels.spec.js

5
app/lib/lnd/methods/channelController.js

@ -19,13 +19,14 @@ function ensurePeerConnected(lnd, pubkey, host) {
* @return {[type]} [description]
*/
export function connectAndOpen(lnd, event, payload) {
const { pubkey, host, localamt } = payload
const { pubkey, host, localamt, private: privateChannel } = payload
return ensurePeerConnected(lnd, pubkey, host)
.then(() => {
const call = lnd.openChannel({
node_pubkey: Buffer.from(pubkey, 'hex'),
local_funding_amount: Number(localamt)
local_funding_amount: Number(localamt),
private: privateChannel
})
call.on('data', data => event.sender.send('pushchannelupdated', { pubkey, data }))

12
app/reducers/channels.js

@ -1,5 +1,6 @@
import { createSelector } from 'reselect'
import { ipcRenderer } from 'electron'
import Store from 'electron-store'
import { btc } from 'lib/utils'
import { showNotification } from 'lib/utils/notifications'
import { requestSuggestedNodes } from 'lib/utils/api'
@ -191,7 +192,16 @@ export const openChannel = ({ pubkey, host, local_amt }) => (dispatch, getState)
dispatch(openingChannel())
dispatch(addLoadingPubkey(pubkey))
ipcRenderer.send('lnd', { msg: 'connectAndOpen', data: { pubkey, host, localamt } })
// Grab the activeConnection type from our local store. If the active connection type is local (light clients using
// neutrino) we will flag manually created channels as private. Other connections like remote node and BTCPay Server
// we will announce to the network as these users are using Zap to drive nodes that are online 24/7
const store = new Store({ name: 'settings' })
const { type } = store.get('activeConnection', {})
ipcRenderer.send('lnd', {
msg: 'connectAndOpen',
data: { pubkey, host, localamt, private: type === 'local' }
})
}
// TODO: Decide how to handle streamed updates for channels

2
test/unit/reducers/channels.spec.js

@ -1,3 +1,5 @@
// @flow
import channelsReducer, {
SET_CHANNEL_FORM,
SET_CHANNEL,

Loading…
Cancel
Save