diff --git a/channeld/channeld.c b/channeld/channeld.c index f526bd6b0..8dbf09988 100644 --- a/channeld/channeld.c +++ b/channeld/channeld.c @@ -621,10 +621,17 @@ static void handle_peer_add_htlc(struct peer *peer, const u8 *msg) u8 onion_routing_packet[TOTAL_PACKET_SIZE]; enum channel_add_err add_err; struct htlc *htlc; +#if EXPERIMENTAL_FEATURES + struct tlv_update_add_tlvs *tlvs = tlv_update_add_tlvs_new(msg); +#endif if (!fromwire_update_add_htlc(msg, &channel_id, &id, &amount, &payment_hash, &cltv_expiry, - onion_routing_packet)) + onion_routing_packet +#if EXPERIMENTAL_FEATURES + , tlvs +#endif + )) peer_failed(peer->pps, &peer->channel_id, "Bad peer_add_htlc %s", tal_hex(msg, msg)); @@ -2050,7 +2057,11 @@ static void resend_commitment(struct peer *peer, const struct changed_htlc *last &h->rhash, abs_locktime_to_blocks( &h->expiry), - h->routing); + h->routing +#if EXPERIMENTAL_FEATURES + , NULL +#endif + ); sync_crypto_write(peer->pps, take(msg)); } else if (h->state == SENT_REMOVE_COMMIT) { send_fail_or_fulfill(peer, h); @@ -2685,7 +2696,11 @@ static void handle_offer_htlc(struct peer *peer, const u8 *inmsg) msg = towire_update_add_htlc(NULL, &peer->channel_id, peer->htlc_id, amount, &payment_hash, cltv_expiry, - onion_routing_packet); + onion_routing_packet +#if EXPERIMENTAL_FEATURES + , NULL +#endif + ); sync_crypto_write(peer->pps, take(msg)); start_commit_timer(peer); /* Tell the master. */ diff --git a/wire/extracted_peer_experimental_add_htlc-plus-blinding b/wire/extracted_peer_experimental_add_htlc-plus-blinding new file mode 100644 index 000000000..587971d89 --- /dev/null +++ b/wire/extracted_peer_experimental_add_htlc-plus-blinding @@ -0,0 +1,14 @@ +diff --git a/wire/extracted_peer_wire_csv b/wire/extracted_peer_wire_csv +index 5a2a8c23f..7b26242e3 100644 +--- a/wire/extracted_peer_wire_csv ++++ b/wire/extracted_peer_wire_csv +@@ -95,6 +95,9 @@ msgdata,update_add_htlc,amount_msat,u64, + msgdata,update_add_htlc,payment_hash,sha256, + msgdata,update_add_htlc,cltv_expiry,u32, + msgdata,update_add_htlc,onion_routing_packet,byte,1366 ++msgdata,update_add_htlc,tlvs,update_add_tlvs, ++tlvtype,update_add_tlvs,blinding,2 ++tlvdata,update_add_tlvs,blinding,ecdh,byte,32 + msgtype,update_fulfill_htlc,130 + msgdata,update_fulfill_htlc,channel_id,channel_id, + msgdata,update_fulfill_htlc,id,u64, diff --git a/wire/test/run-peer-wire.c b/wire/test/run-peer-wire.c index 6a739b8fc..07c08f7c4 100644 --- a/wire/test/run-peer-wire.c +++ b/wire/test/run-peer-wire.c @@ -704,7 +704,11 @@ static void *towire_struct_update_add_htlc(const tal_t *ctx, s->amount_msat, &s->payment_hash, s->expiry, - s->onion_routing_packet); + s->onion_routing_packet +#if EXPERIMENTAL_FEATURES + ,NULL +#endif + ); } static struct msg_update_add_htlc *fromwire_struct_update_add_htlc(const tal_t *ctx, const void *p) @@ -717,7 +721,11 @@ static struct msg_update_add_htlc *fromwire_struct_update_add_htlc(const tal_t * &s->amount_msat, &s->payment_hash, &s->expiry, - s->onion_routing_packet)) + s->onion_routing_packet +#if EXPERIMENTAL_FEATURES + ,NULL +#endif + )) return s; return tal_free(s); }