place encoded spont payment in chat
This commit is contained in:
parent
18eba25fdf
commit
65b6e9e0b2
1 changed files with 20 additions and 5 deletions
|
|
@ -11,7 +11,11 @@ const Getters = require('./getters')
|
||||||
const Key = require('./key')
|
const Key = require('./key')
|
||||||
const Utils = require('./utils')
|
const Utils = require('./utils')
|
||||||
// const { promisifyGunNode: p } = Utils
|
// const { promisifyGunNode: p } = Utils
|
||||||
const { isHandshakeRequest, isOrderResponse } = require('./schema')
|
const {
|
||||||
|
isHandshakeRequest,
|
||||||
|
isOrderResponse,
|
||||||
|
encodeSpontaneousPayment
|
||||||
|
} = require('./schema')
|
||||||
/**
|
/**
|
||||||
* @typedef {import('./SimpleGUN').GUNNode} GUNNode
|
* @typedef {import('./SimpleGUN').GUNNode} GUNNode
|
||||||
* @typedef {import('./SimpleGUN').ISEA} ISEA
|
* @typedef {import('./SimpleGUN').ISEA} ISEA
|
||||||
|
|
@ -1024,6 +1028,7 @@ const sendPayment = async (to, amount, memo) => {
|
||||||
* @typedef {object} SendResponse
|
* @typedef {object} SendResponse
|
||||||
* @prop {string|null} payment_error
|
* @prop {string|null} payment_error
|
||||||
* @prop {any[]|null} payment_route
|
* @prop {any[]|null} payment_route
|
||||||
|
* @prop {string} payment_preimage
|
||||||
*/
|
*/
|
||||||
|
|
||||||
logger.info('Will now send payment through lightning')
|
logger.info('Will now send payment through lightning')
|
||||||
|
|
@ -1033,7 +1038,8 @@ const sendPayment = async (to, amount, memo) => {
|
||||||
payment_request: orderResponse.response
|
payment_request: orderResponse.response
|
||||||
}
|
}
|
||||||
|
|
||||||
await new Promise((resolve, rej) => {
|
/** @type {string} */
|
||||||
|
const preimage = await new Promise((resolve, rej) => {
|
||||||
lightning.sendPaymentSync(sendPaymentSyncArgs, (
|
lightning.sendPaymentSync(sendPaymentSyncArgs, (
|
||||||
/** @type {SendErr=} */ err,
|
/** @type {SendErr=} */ err,
|
||||||
/** @type {SendResponse} */ res
|
/** @type {SendResponse} */ res
|
||||||
|
|
@ -1047,22 +1053,31 @@ const sendPayment = async (to, amount, memo) => {
|
||||||
`sendPaymentSync error response: ${JSON.stringify(res)}`
|
`sendPaymentSync error response: ${JSON.stringify(res)}`
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
} else if (!res.payment_route) {
|
} else if (!res.payment_route || !res.payment_preimage) {
|
||||||
rej(
|
rej(
|
||||||
new Error(
|
new Error(
|
||||||
`sendPaymentSync no payment route response: ${JSON.stringify(
|
`sendPaymentSync no payment route response or preimage: ${JSON.stringify(
|
||||||
res
|
res
|
||||||
)}`
|
)}`
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
resolve()
|
resolve(res.payment_preimage)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
rej(new Error('no error or response received from sendPaymentSync'))
|
rej(new Error('no error or response received from sendPaymentSync'))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if (Utils.successfulHandshakeAlreadyExists(to)) {
|
||||||
|
await sendMessage(
|
||||||
|
to,
|
||||||
|
encodeSpontaneousPayment(to, memo || 'no memo', preimage),
|
||||||
|
require('../Mediator').getUser(),
|
||||||
|
require('../Mediator').mySEA
|
||||||
|
)
|
||||||
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logger.error('Error inside sendPayment()')
|
logger.error('Error inside sendPayment()')
|
||||||
logger.error(e)
|
logger.error(e)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue