UNPKG

paid-services

Version:
44 lines (34 loc) 969 B
const {encodeTlvStream} = require('bolt01'); const encodeResponseCode = require('./encode_response_code'); const encodeMessage = message => `626f73ff${message}`; const headers = null; const params = null; const version = null; /** Encode a response to a peer { [failure]: [ <Failure Code Number> <Failure Message String> ] id: <Request Id Hex String> [records]: [{ type: <Type Number String> value: <Value Hex Encoded String> }] } @throws <Error> @returns { message: <Encoded Hex String> } */ module.exports = ({failure, id, records}) => { const code = encodeResponseCode({failure}).encoded; const {encoded} = !!records ? encodeTlvStream({records}) : {}; const response = [version, id, code, params, headers, encoded] .map((value, type) => ({type, value})) .filter(n => !!n.value); const message = encodeMessage(encodeTlvStream({records: response}).encoded); return {message}; };