|
@ -35,9 +35,13 @@ function parseAndVerifyPayload(data) { |
|
|
payload.sender.pub_key = v.pubkey; |
|
|
payload.sender.pub_key = v.pubkey; |
|
|
return payload; |
|
|
return payload; |
|
|
} |
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
console.error('[GRPC] invalid payload signature'); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
catch (e) { |
|
|
catch (e) { |
|
|
|
|
|
console.error('[GRPC] failed to parse msg'); |
|
|
return null; |
|
|
return null; |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
@ -48,20 +52,30 @@ function parseKeysendInvoice(i, actions) { |
|
|
const buf = recs && recs[lightning_1.SPHINX_CUSTOM_RECORD_KEY]; |
|
|
const buf = recs && recs[lightning_1.SPHINX_CUSTOM_RECORD_KEY]; |
|
|
const data = buf && buf.toString(); |
|
|
const data = buf && buf.toString(); |
|
|
const value = i && i.value && parseInt(i.value); |
|
|
const value = i && i.value && parseInt(i.value); |
|
|
if (!data) |
|
|
if (!data) { |
|
|
|
|
|
console.error('[GRPC] no keysend data received'); |
|
|
return; |
|
|
return; |
|
|
|
|
|
} |
|
|
let payload; |
|
|
let payload; |
|
|
if (data[0] === '{') { |
|
|
if (data[0] === '{') { |
|
|
try { |
|
|
try { |
|
|
payload = yield parseAndVerifyPayload(data); |
|
|
payload = yield parseAndVerifyPayload(data); |
|
|
} |
|
|
} |
|
|
catch (e) { } |
|
|
catch (e) { |
|
|
|
|
|
console.error('[GRPC] failed to parse and verify payload'); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
else { |
|
|
else { |
|
|
const threads = weave(data); |
|
|
const threads = weave(data); |
|
|
if (threads) |
|
|
if (threads) { |
|
|
|
|
|
try { |
|
|
payload = yield parseAndVerifyPayload(threads); |
|
|
payload = yield parseAndVerifyPayload(threads); |
|
|
} |
|
|
} |
|
|
|
|
|
catch (e) { |
|
|
|
|
|
console.error('[GRPC] failed to parse and verify payload II'); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
if (payload) { |
|
|
if (payload) { |
|
|
const dat = payload.content || payload; |
|
|
const dat = payload.content || payload; |
|
|
if (value && dat && dat.message) { |
|
|
if (value && dat && dat.message) { |
|
@ -74,6 +88,9 @@ function parseKeysendInvoice(i, actions) { |
|
|
console.log('Incorrect payload type:', payload.type); |
|
|
console.log('Incorrect payload type:', payload.type); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
console.error('[GRPC] no payload'); |
|
|
|
|
|
} |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
const chunks = {}; |
|
|
const chunks = {}; |
|
|