Simpler timeout mechanis in sendSpontPayment..
This commit is contained in:
parent
d0e4020ce9
commit
6857443c8d
1 changed files with 41 additions and 36 deletions
|
|
@ -389,22 +389,23 @@ const sendSpontaneousPayment = async (
|
||||||
logger.info('ORDER ID')
|
logger.info('ORDER ID')
|
||||||
logger.info(orderID)
|
logger.info(orderID)
|
||||||
/** @type {import('shock-common').Schema.OrderResponse} */
|
/** @type {import('shock-common').Schema.OrderResponse} */
|
||||||
const encryptedOrderRes = await Utils.tryAndWait(
|
const encryptedOrderRes = await Common.makePromise((res, rej) => {
|
||||||
gun =>
|
setTimeout(() => {
|
||||||
new Promise(res => {
|
rej(new Error('Timeout of 20s passed when awaiting order response.'))
|
||||||
gun
|
}, 20000)
|
||||||
.user(to)
|
|
||||||
.get(Key.ORDER_TO_RESPONSE)
|
require('../Mediator')
|
||||||
.get(orderID)
|
.getGun()
|
||||||
.on(orderResponse => {
|
.user(to)
|
||||||
logger.info(orderResponse)
|
.get(Key.ORDER_TO_RESPONSE)
|
||||||
if (Schema.isOrderResponse(orderResponse)) {
|
.get(orderID)
|
||||||
res(orderResponse)
|
.on(orderResponse => {
|
||||||
}
|
logger.info(orderResponse)
|
||||||
})
|
if (Schema.isOrderResponse(orderResponse)) {
|
||||||
}),
|
res(orderResponse)
|
||||||
v => Schema.isOrderResponse(v)
|
}
|
||||||
)
|
})
|
||||||
|
})
|
||||||
|
|
||||||
if (!Schema.isOrderResponse(encryptedOrderRes)) {
|
if (!Schema.isOrderResponse(encryptedOrderRes)) {
|
||||||
const e = TypeError(
|
const e = TypeError(
|
||||||
|
|
@ -479,27 +480,31 @@ const sendSpontaneousPayment = async (
|
||||||
logger.info('ACK NODE')
|
logger.info('ACK NODE')
|
||||||
logger.info(orderResponse.ackNode)
|
logger.info(orderResponse.ackNode)
|
||||||
/** @type {import('shock-common').Schema.OrderResponse} */
|
/** @type {import('shock-common').Schema.OrderResponse} */
|
||||||
const encryptedOrderAckRes = await Utils.tryAndWait(
|
const encryptedOrderAckRes = await Common.makePromise((res, rej) => {
|
||||||
gun =>
|
setTimeout(() => {
|
||||||
new Promise(res => {
|
rej(
|
||||||
gun
|
new Error(
|
||||||
.user(to)
|
"Timeout of 20s exceeded when waiting for order response's ack."
|
||||||
.get(Key.ORDER_TO_RESPONSE)
|
)
|
||||||
.get(orderResponse.ackNode)
|
)
|
||||||
.on(orderResponse => {
|
}, 20000)
|
||||||
logger.info(orderResponse)
|
|
||||||
logger.info(Schema.isOrderResponse(orderResponse))
|
|
||||||
|
|
||||||
//@ts-expect-error
|
require('../Mediator')
|
||||||
if (orderResponse && orderResponse.type === 'orderAck') {
|
.getGun()
|
||||||
//@ts-expect-error
|
.user(to)
|
||||||
res(orderResponse)
|
.get(Key.ORDER_TO_RESPONSE)
|
||||||
}
|
.get(orderResponse.ackNode)
|
||||||
})
|
.on(orderResponse => {
|
||||||
}),
|
logger.info(orderResponse)
|
||||||
//@ts-expect-error
|
logger.info(Schema.isOrderResponse(orderResponse))
|
||||||
v => !v || !v.type
|
|
||||||
)
|
//@ts-expect-error
|
||||||
|
if (orderResponse && orderResponse.type === 'orderAck') {
|
||||||
|
//@ts-expect-error
|
||||||
|
res(orderResponse)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
if (!encryptedOrderAckRes || !encryptedOrderAckRes.type) {
|
if (!encryptedOrderAckRes || !encryptedOrderAckRes.type) {
|
||||||
const e = TypeError(
|
const e = TypeError(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue