mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 07:04:22 +01:00
sphinx: Migrate sphinx compression to new interface
It also removes the duplicate compression code and serialization code.
This commit is contained in:
committed by
Rusty Russell
parent
6dd14a2039
commit
ef86ee0bae
@@ -149,30 +149,6 @@ u8 *serialize_onionpacket(
|
||||
return dst;
|
||||
}
|
||||
|
||||
u8 *serialize_compressed_onion(const tal_t *ctx,
|
||||
const struct sphinx_path *sp,
|
||||
const struct onionpacket *packet)
|
||||
{
|
||||
u8 *dst;
|
||||
u8 der[PUBKEY_CMPR_LEN];
|
||||
size_t payloads_size = sphinx_path_payloads_size(sp);
|
||||
size_t max_prefill = ROUTING_INFO_SIZE - payloads_size;
|
||||
size_t rv_onion_size = TOTAL_PACKET_SIZE - max_prefill;
|
||||
int p = 0;
|
||||
|
||||
assert(sp->rendezvous_id != NULL);
|
||||
|
||||
dst = tal_arr(ctx, u8, rv_onion_size);
|
||||
|
||||
pubkey_to_der(der, &packet->ephemeralkey);
|
||||
write_buffer(dst, &packet->version, 1, &p);
|
||||
write_buffer(dst, der, sizeof(der), &p);
|
||||
write_buffer(dst, packet->routinginfo, ROUTING_INFO_SIZE - max_prefill, &p);
|
||||
write_buffer(dst, packet->mac, sizeof(packet->mac), &p);
|
||||
return dst;
|
||||
}
|
||||
|
||||
|
||||
enum onion_type parse_onionpacket(const u8 *src,
|
||||
const size_t srclen,
|
||||
struct onionpacket *dest)
|
||||
@@ -810,7 +786,7 @@ sphinx_compress(const tal_t *ctx, const struct onionpacket *packet,
|
||||
size_t payloads_size = sphinx_path_payloads_size(path);
|
||||
|
||||
/* We can't compress an onion that doesn't have a rendez-vous node. */
|
||||
if (path->rendezvous_id)
|
||||
if (path->rendezvous_id == NULL)
|
||||
return NULL;
|
||||
|
||||
res = tal(ctx, struct sphinx_compressed_onion);
|
||||
|
||||
Reference in New Issue
Block a user