From 2cd93597cc5c6f149e4205cada4d5dd1b4cda4ce Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Sat, 5 Dec 2020 12:50:54 +1030 Subject: [PATCH] wire.c: import bolt 12 offers CSV. Signed-off-by: Rusty Russell --- wire/Makefile | 18 ++++ wire/bolt12_exp_wire.csv | 127 +++++++++++++++++++++++ wire/bolt12_wire.csv | 102 ++++++++++++++++++ wire/extracted_bolt12_tlv_csv | 102 ++++++++++++++++++ wire/extracted_onion_experimental_offers | 15 +++ wire/wire.h | 12 +-- wire/wire_dummy.c | 15 +++ 7 files changed, 382 insertions(+), 9 deletions(-) create mode 100644 wire/bolt12_exp_wire.csv create mode 100644 wire/bolt12_wire.csv create mode 100644 wire/extracted_bolt12_tlv_csv create mode 100644 wire/extracted_onion_experimental_offers create mode 100644 wire/wire_dummy.c diff --git a/wire/Makefile b/wire/Makefile index a88e782c5..4c774e7eb 100644 --- a/wire/Makefile +++ b/wire/Makefile @@ -16,6 +16,7 @@ WIRE_HEADERS := wire/onion_defs.h \ # We don't include peer_printgen/onion_printgen here since most don't need it. WIRE_SRC := wire/wire_sync.c \ wire/wire_io.c \ + wire/wire_dummy.c \ wire/fromwire.c \ wire/peer_wire.c \ wire/tlvstream.c \ @@ -28,6 +29,11 @@ WIRE_PRINT_SRC := \ wire/onion$(EXP)_printgen.c \ wire/peer$(EXP)_printgen.c +ifeq ($(EXPERIMENTAL_FEATURES),1) +WIRE_HEADERS += wire/bolt12$(EXP)_wiregen.h +WIRE_SRC += wire/bolt12$(EXP)_wiregen.c +endif + WIRE_OBJS := $(WIRE_SRC:.c=.o) WIRE_PRINT_OBJS := $(WIRE_PRINT_SRC:.c=.o) $(WIRE_OBJS) $(WIRE_PRINT_OBJS): $(WIRE_HEADERS) @@ -47,6 +53,13 @@ extract-bolt-csv: bolt-precheck @echo '#include ' > wire/onion_wire.csv @$(BOLT_EXTRACT) $(LOCAL_BOLTDIR)/04*.md >> wire/onion_wire.csv +extract-bolt12-csv: bolt-precheck + $(BOLT_EXTRACT) $(LOCAL_BOLTDIR)/12*.md > wire/bolt12_exp_wire.csv + +ifeq ($(EXPERIMENTAL_FEATURES),1) +extract-bolt-csv: extract-bolt12-csv +endif + # Explicit command to add patchfile for BOLT CSV's extract-experimental-bolt-csv: bolt-precheck @$(BOLT_EXTRACT) $(LOCAL_BOLTDIR)/0[127]*.md | diff -u wire/peer_exp_wire.csv - >wire/extracted_peer_experimental_$(BOLTVERSION) | if [ $$? -lt 0 ];then exit 1;fi @@ -81,6 +94,11 @@ wire/peer_exp_wiregen.c_args := $(wire/peer_wiregen.c_args) wire/onion_exp_wiregen.h_args := $(wire/onion_wiregen.h_args) wire/onion_exp_wiregen.c_args := $(wire/onion_wiregen.c_args) +wire/bolt12_exp_wiregen.c_args := -s --expose-tlv-type=blinded_path +wire/bolt12_exp_wiregen.h_args := --include='bitcoin/short_channel_id.h' --include='bitcoin/signature.h' --include='bitcoin/privkey.h' --include='common/bigsize.h' --include='common/amount.h' --include='common/node_id.h' --include='bitcoin/block.h' --include='wire/onion_wire.h' $(wire/bolt12_exp_wiregen.c_args) + +wire/peer_wiregen.h_args := --include='common/channel_id.h' --include='bitcoin/tx.h' --include='bitcoin/preimage.h' --include='bitcoin/short_channel_id.h' --include='common/node_id.h' --include='common/bigsize.h' --include='bitcoin/block.h' --include='bitcoin/privkey.h' -s --expose-tlv-type=n1 --expose-tlv-type=n2 + maintainer-clean: wire-maintainer-clean wire-maintainer-clean: diff --git a/wire/bolt12_exp_wire.csv b/wire/bolt12_exp_wire.csv new file mode 100644 index 000000000..17628e9a9 --- /dev/null +++ b/wire/bolt12_exp_wire.csv @@ -0,0 +1,127 @@ +tlvtype,offer,chains,2 +tlvdata,offer,chains,chains,chain_hash,... +tlvtype,offer,currency,6 +tlvdata,offer,currency,iso4217,utf8,... +tlvtype,offer,amount,8 +tlvdata,offer,amount,amount,tu64, +tlvtype,offer,description,10 +tlvdata,offer,description,description,utf8,... +tlvtype,offer,features,12 +tlvdata,offer,features,features,byte,... +tlvtype,offer,absolute_expiry,14 +tlvdata,offer,absolute_expiry,seconds_from_epoch,tu64, +tlvtype,offer,paths,16 +tlvdata,offer,paths,paths,blinded_path,... +tlvtype,offer,vendor,20 +tlvdata,offer,vendor,vendor,utf8,... +tlvtype,offer,quantity_min,22 +tlvdata,offer,quantity_min,min,tu64, +tlvtype,offer,quantity_max,24 +tlvdata,offer,quantity_max,max,tu64, +tlvtype,offer,recurrence,26 +tlvdata,offer,recurrence,time_unit,byte, +tlvdata,offer,recurrence,period,tu32, +tlvtype,offer,recurrence_paywindow,64 +tlvdata,offer,recurrence_paywindow,seconds_before,u32, +tlvdata,offer,recurrence_paywindow,proportional_amount,byte, +tlvdata,offer,recurrence_paywindow,seconds_after,tu32, +tlvtype,offer,recurrence_limit,66 +tlvdata,offer,recurrence_limit,max_period,tu32, +tlvtype,offer,recurrence_base,28 +tlvdata,offer,recurrence_base,start_any_period,byte, +tlvdata,offer,recurrence_base,basetime,tu64, +tlvtype,offer,node_id,30 +tlvdata,offer,node_id,node_id,pubkey32, +tlvtype,offer,send_invoice,54 +tlvtype,offer,refund_for,34 +tlvdata,offer,refund_for,refunded_payment_hash,sha256, +tlvtype,offer,signature,240 +tlvdata,offer,signature,sig,bip340sig, +subtype,blinded_path +subtypedata,blinded_path,blinding,point, +subtypedata,blinded_path,num_hops,u16, +subtypedata,blinded_path,path,onionmsg_path,num_hops +tlvtype,invoice_request,chains,2 +tlvdata,invoice_request,chains,chains,chain_hash,... +tlvtype,invoice_request,offer_id,4 +tlvdata,invoice_request,offer_id,offer_id,sha256, +tlvtype,invoice_request,amount,8 +tlvdata,invoice_request,amount,msat,tu64, +tlvtype,invoice_request,features,12 +tlvdata,invoice_request,features,features,byte,... +tlvtype,invoice_request,quantity,32 +tlvdata,invoice_request,quantity,quantity,tu64, +tlvtype,invoice_request,recurrence_counter,36 +tlvdata,invoice_request,recurrence_counter,counter,tu32, +tlvtype,invoice_request,recurrence_start,68 +tlvdata,invoice_request,recurrence_start,period_offset,tu32, +tlvtype,invoice_request,payer_key,38 +tlvdata,invoice_request,payer_key,key,pubkey32, +tlvtype,invoice_request,payer_info,50 +tlvdata,invoice_request,payer_info,blob,byte,... +tlvtype,invoice_request,recurrence_signature,242 +tlvdata,invoice_request,recurrence_signature,sig,bip340sig, +tlvtype,invoice,chains,2 +tlvdata,invoice,chains,chains,chain_hash,... +tlvtype,invoice,offer_id,4 +tlvdata,invoice,offer_id,offer_id,sha256, +tlvtype,invoice,amount,8 +tlvdata,invoice,amount,msat,tu64, +tlvtype,invoice,description,10 +tlvdata,invoice,description,description,utf8,... +tlvtype,invoice,features,12 +tlvdata,invoice,features,features,byte,... +tlvtype,invoice,paths,16 +tlvdata,invoice,paths,paths,blinded_path,... +tlvtype,invoice,blindedpay,18 +tlvdata,invoice,blindedpay,payinfo,blinded_payinfo,... +tlvtype,invoice,vendor,20 +tlvdata,invoice,vendor,vendor,utf8,... +tlvtype,invoice,node_id,30 +tlvdata,invoice,node_id,node_id,pubkey32, +tlvtype,invoice,quantity,32 +tlvdata,invoice,quantity,quantity,tu64, +tlvtype,invoice,refund_for,34 +tlvdata,invoice,refund_for,refunded_payment_hash,sha256, +tlvtype,invoice,recurrence_counter,36 +tlvdata,invoice,recurrence_counter,counter,tu32, +tlvtype,invoice,send_invoice,54 +tlvtype,invoice,recurrence_start,68 +tlvdata,invoice,recurrence_start,period_offset,tu32, +tlvtype,invoice,recurrence_basetime,64 +tlvdata,invoice,recurrence_basetime,basetime,tu64, +tlvtype,invoice,payer_key,38 +tlvdata,invoice,payer_key,key,pubkey32, +tlvtype,invoice,payer_info,50 +tlvdata,invoice,payer_info,blob,byte,... +tlvtype,invoice,timestamp,40 +tlvdata,invoice,timestamp,timestamp,tu64, +tlvtype,invoice,payment_hash,42 +tlvdata,invoice,payment_hash,payment_hash,sha256, +tlvtype,invoice,relative_expiry,44 +tlvdata,invoice,relative_expiry,seconds_from_timestamp,tu32, +tlvtype,invoice,cltv,46 +tlvdata,invoice,cltv,min_final_cltv_expiry,tu32, +tlvtype,invoice,fallbacks,48 +tlvdata,invoice,fallbacks,num,u8, +tlvdata,invoice,fallbacks,fallbacks,fallback_address,num +tlvtype,invoice,refund_signature,52 +tlvdata,invoice,refund_signature,payer_signature,bip340sig, +tlvtype,invoice,signature,240 +tlvdata,invoice,signature,sig,bip340sig, +subtype,blinded_payinfo +subtypedata,blinded_payinfo,fee_base_msat,u32, +subtypedata,blinded_payinfo,fee_proportional_millionths,u32, +subtypedata,blinded_payinfo,cltv_expiry_delta,u16, +subtypedata,blinded_payinfo,flen,u16, +subtypedata,blinded_payinfo,features,byte,flen +subtype,fallback_address +subtypedata,fallback_address,version,byte, +subtypedata,fallback_address,len,u16, +subtypedata,fallback_address,address,byte,len +tlvtype,invoice_error,erroneous_field,1 +tlvdata,invoice_error,erroneous_field,tlv_fieldnum,tu64, +tlvtype,invoice_error,suggested_value,3 +tlvdata,invoice_error,suggested_value,value,byte,... +tlvtype,invoice_error,error,5 +tlvdata,invoice_error,error,msg,utf8,... diff --git a/wire/bolt12_wire.csv b/wire/bolt12_wire.csv new file mode 100644 index 000000000..a43366c03 --- /dev/null +++ b/wire/bolt12_wire.csv @@ -0,0 +1,102 @@ +tlvtype,offer_tlvs,chains,2 +tlvdata,offer_tlvs,chains,chains,chain_hash,... +tlvtype,offer_tlvs,currency,6 +tlvdata,offer_tlvs,currency,iso4217,byte,... +tlvtype,offer_tlvs,amount,8 +tlvdata,offer_tlvs,amount,amount,tu64, +tlvtype,offer_tlvs,description,10 +tlvdata,offer_tlvs,description,description,byte,... +tlvtype,offer_tlvs,features,12 +tlvdata,offer_tlvs,features,features,byte,... +tlvtype,offer_tlvs,expiry_timestamp,14 +tlvdata,offer_tlvs,expiry_timestamp,expiry_timestamp,tu64, +tlvtype,offer_tlvs,paths,16 +tlvdata,offer_tlvs,paths,paths,blinded_path,... +tlvtype,offer_tlvs,vendor,20 +tlvdata,offer_tlvs,vendor,vendor,byte,... +tlvtype,offer_tlvs,quantity_min,22 +tlvdata,offer_tlvs,quantity_min,min,tu64, +tlvtype,offer_tlvs,quantity_max,24 +tlvdata,offer_tlvs,quantity_max,max,tu64, +tlvtype,offer_tlvs,recurrence,26 +tlvdata,offer_tlvs,recurrence,time_unit,byte, +tlvdata,offer_tlvs,recurrence,period,u32, +tlvdata,offer_tlvs,recurrence,limit,tu32, +tlvtype,offer_tlvs,recurrence_base,28 +tlvdata,offer_tlvs,recurrence_base,basetime,u32, +tlvdata,offer_tlvs,recurrence_base,paywindow,tu32, +tlvtype,offer_tlvs,node_id,30 +tlvdata,offer_tlvs,node_id,node_id,pubkey32, +tlvtype,offer_tlvs,signature,240 +tlvdata,offer_tlvs,signature,sig,signature, +subtype,blinded_path +subtypedata,blinded_path,blinding,point, +tlvtype,invoice_request_tlvs,chains,2 +tlvdata,invoice_request_tlvs,chains,chains,chain_hash,... +tlvtype,invoice_request_tlvs,offer_id,4 +tlvdata,invoice_request_tlvs,offer_id,offer_id,sha256, +tlvtype,invoice_request_tlvs,amount,8 +tlvdata,invoice_request_tlvs,amount,amount,tu64, +tlvtype,invoice_request_tlvs,description,10 +tlvdata,invoice_request_tlvs,description,description,byte,... +tlvtype,invoice_request_tlvs,features,12 +tlvdata,invoice_request_tlvs,features,features,byte,... +tlvtype,invoice_request_tlvs,paths,16 +tlvdata,invoice_request_tlvs,paths,paths,blinded_path,... +tlvtype,invoice_request_tlvs,quantity,32 +tlvdata,invoice_request_tlvs,quantity,quantity,tu64, +tlvtype,invoice_request_tlvs,refund_for,34 +tlvdata,invoice_request_tlvs,refund_for,refunded_payment_hash,sha256, +tlvtype,invoice_request_tlvs,invoice_request_recurrence,36 +tlvdata,invoice_request_tlvs,invoice_request_recurrence,counter,tu64, +tlvtype,invoice_request_tlvs,payer_key,38 +tlvdata,invoice_request_tlvs,payer_key,key,pubkey32, +tlvtype,invoice_tlvs,chains,2 +tlvdata,invoice_tlvs,chains,chains,chain_hash,... +tlvtype,invoice_tlvs,offer_id,4 +tlvdata,invoice_tlvs,offer_id,offer_id,sha256, +tlvtype,invoice_tlvs,amount,8 +tlvdata,invoice_tlvs,amount,amount,tu64, +tlvtype,invoice_tlvs,description,10 +tlvdata,invoice_tlvs,description,description,byte,... +tlvtype,invoice_tlvs,features,12 +tlvdata,invoice_tlvs,features,features,byte,... +tlvtype,invoice_tlvs,paths,16 +tlvdata,invoice_tlvs,paths,paths,blinded_path,... +tlvtype,invoice_tlvs,blindedpay,18 +tlvdata,invoice_tlvs,blindedpay,payinfo,blinded_payinfo,... +tlvtype,invoice_tlvs,vendor,20 +tlvdata,invoice_tlvs,vendor,vendor,byte,... +tlvtype,invoice_tlvs,node_id,30 +tlvdata,invoice_tlvs,node_id,node_id,pubkey32, +tlvtype,invoice_tlvs,quantity,32 +tlvdata,invoice_tlvs,quantity,quantity,tu64, +tlvtype,invoice_tlvs,refund_for,34 +tlvdata,invoice_tlvs,refund_for,refunded_payment_hash,sha256, +tlvtype,invoice_tlvs,payer_key,38 +tlvdata,invoice_tlvs,payer_key,key,pubkey32, +tlvtype,invoice_tlvs,timestamp,40 +tlvdata,invoice_tlvs,timestamp,timestamp,tu32, +tlvtype,invoice_tlvs,payment_hash,42 +tlvdata,invoice_tlvs,payment_hash,payment_hash,sha256, +tlvtype,invoice_tlvs,expiry,44 +tlvdata,invoice_tlvs,expiry,expiry_seconds,tu32, +tlvtype,invoice_tlvs,cltv,46 +tlvdata,invoice_tlvs,cltv,min_final_cltv_expiry,tu32, +tlvtype,invoice_tlvs,fallbacks,48 +tlvdata,invoice_tlvs,fallbacks,num,u8, +tlvdata,invoice_tlvs,fallbacks,fallbacks,fallback_address,num +tlvtype,invoice_tlvs,refund_signature,52 +tlvdata,invoice_tlvs,refund_signature,payer_signature,signature, +tlvtype,invoice_tlvs,signature,240 +tlvdata,invoice_tlvs,signature,sig,signature, +subtype,blinded_payinfo +subtypedata,blinded_payinfo,fee_base_msat,u32, +subtypedata,blinded_payinfo,fee_proportional_millionths,u32, +subtypedata,blinded_payinfo,cltv_expiry_delta,u16, +subtypedata,blinded_payinfo,flen,u16, +subtypedata,blinded_payinfo,features,byte,flen +subtype,fallback_address +subtypedata,fallback_address,type,byte, +subtypedata,fallback_address,len,u16, +subtypedata,fallback_address,address,byte,len diff --git a/wire/extracted_bolt12_tlv_csv b/wire/extracted_bolt12_tlv_csv new file mode 100644 index 000000000..a43366c03 --- /dev/null +++ b/wire/extracted_bolt12_tlv_csv @@ -0,0 +1,102 @@ +tlvtype,offer_tlvs,chains,2 +tlvdata,offer_tlvs,chains,chains,chain_hash,... +tlvtype,offer_tlvs,currency,6 +tlvdata,offer_tlvs,currency,iso4217,byte,... +tlvtype,offer_tlvs,amount,8 +tlvdata,offer_tlvs,amount,amount,tu64, +tlvtype,offer_tlvs,description,10 +tlvdata,offer_tlvs,description,description,byte,... +tlvtype,offer_tlvs,features,12 +tlvdata,offer_tlvs,features,features,byte,... +tlvtype,offer_tlvs,expiry_timestamp,14 +tlvdata,offer_tlvs,expiry_timestamp,expiry_timestamp,tu64, +tlvtype,offer_tlvs,paths,16 +tlvdata,offer_tlvs,paths,paths,blinded_path,... +tlvtype,offer_tlvs,vendor,20 +tlvdata,offer_tlvs,vendor,vendor,byte,... +tlvtype,offer_tlvs,quantity_min,22 +tlvdata,offer_tlvs,quantity_min,min,tu64, +tlvtype,offer_tlvs,quantity_max,24 +tlvdata,offer_tlvs,quantity_max,max,tu64, +tlvtype,offer_tlvs,recurrence,26 +tlvdata,offer_tlvs,recurrence,time_unit,byte, +tlvdata,offer_tlvs,recurrence,period,u32, +tlvdata,offer_tlvs,recurrence,limit,tu32, +tlvtype,offer_tlvs,recurrence_base,28 +tlvdata,offer_tlvs,recurrence_base,basetime,u32, +tlvdata,offer_tlvs,recurrence_base,paywindow,tu32, +tlvtype,offer_tlvs,node_id,30 +tlvdata,offer_tlvs,node_id,node_id,pubkey32, +tlvtype,offer_tlvs,signature,240 +tlvdata,offer_tlvs,signature,sig,signature, +subtype,blinded_path +subtypedata,blinded_path,blinding,point, +tlvtype,invoice_request_tlvs,chains,2 +tlvdata,invoice_request_tlvs,chains,chains,chain_hash,... +tlvtype,invoice_request_tlvs,offer_id,4 +tlvdata,invoice_request_tlvs,offer_id,offer_id,sha256, +tlvtype,invoice_request_tlvs,amount,8 +tlvdata,invoice_request_tlvs,amount,amount,tu64, +tlvtype,invoice_request_tlvs,description,10 +tlvdata,invoice_request_tlvs,description,description,byte,... +tlvtype,invoice_request_tlvs,features,12 +tlvdata,invoice_request_tlvs,features,features,byte,... +tlvtype,invoice_request_tlvs,paths,16 +tlvdata,invoice_request_tlvs,paths,paths,blinded_path,... +tlvtype,invoice_request_tlvs,quantity,32 +tlvdata,invoice_request_tlvs,quantity,quantity,tu64, +tlvtype,invoice_request_tlvs,refund_for,34 +tlvdata,invoice_request_tlvs,refund_for,refunded_payment_hash,sha256, +tlvtype,invoice_request_tlvs,invoice_request_recurrence,36 +tlvdata,invoice_request_tlvs,invoice_request_recurrence,counter,tu64, +tlvtype,invoice_request_tlvs,payer_key,38 +tlvdata,invoice_request_tlvs,payer_key,key,pubkey32, +tlvtype,invoice_tlvs,chains,2 +tlvdata,invoice_tlvs,chains,chains,chain_hash,... +tlvtype,invoice_tlvs,offer_id,4 +tlvdata,invoice_tlvs,offer_id,offer_id,sha256, +tlvtype,invoice_tlvs,amount,8 +tlvdata,invoice_tlvs,amount,amount,tu64, +tlvtype,invoice_tlvs,description,10 +tlvdata,invoice_tlvs,description,description,byte,... +tlvtype,invoice_tlvs,features,12 +tlvdata,invoice_tlvs,features,features,byte,... +tlvtype,invoice_tlvs,paths,16 +tlvdata,invoice_tlvs,paths,paths,blinded_path,... +tlvtype,invoice_tlvs,blindedpay,18 +tlvdata,invoice_tlvs,blindedpay,payinfo,blinded_payinfo,... +tlvtype,invoice_tlvs,vendor,20 +tlvdata,invoice_tlvs,vendor,vendor,byte,... +tlvtype,invoice_tlvs,node_id,30 +tlvdata,invoice_tlvs,node_id,node_id,pubkey32, +tlvtype,invoice_tlvs,quantity,32 +tlvdata,invoice_tlvs,quantity,quantity,tu64, +tlvtype,invoice_tlvs,refund_for,34 +tlvdata,invoice_tlvs,refund_for,refunded_payment_hash,sha256, +tlvtype,invoice_tlvs,payer_key,38 +tlvdata,invoice_tlvs,payer_key,key,pubkey32, +tlvtype,invoice_tlvs,timestamp,40 +tlvdata,invoice_tlvs,timestamp,timestamp,tu32, +tlvtype,invoice_tlvs,payment_hash,42 +tlvdata,invoice_tlvs,payment_hash,payment_hash,sha256, +tlvtype,invoice_tlvs,expiry,44 +tlvdata,invoice_tlvs,expiry,expiry_seconds,tu32, +tlvtype,invoice_tlvs,cltv,46 +tlvdata,invoice_tlvs,cltv,min_final_cltv_expiry,tu32, +tlvtype,invoice_tlvs,fallbacks,48 +tlvdata,invoice_tlvs,fallbacks,num,u8, +tlvdata,invoice_tlvs,fallbacks,fallbacks,fallback_address,num +tlvtype,invoice_tlvs,refund_signature,52 +tlvdata,invoice_tlvs,refund_signature,payer_signature,signature, +tlvtype,invoice_tlvs,signature,240 +tlvdata,invoice_tlvs,signature,sig,signature, +subtype,blinded_payinfo +subtypedata,blinded_payinfo,fee_base_msat,u32, +subtypedata,blinded_payinfo,fee_proportional_millionths,u32, +subtypedata,blinded_payinfo,cltv_expiry_delta,u16, +subtypedata,blinded_payinfo,flen,u16, +subtypedata,blinded_payinfo,features,byte,flen +subtype,fallback_address +subtypedata,fallback_address,type,byte, +subtypedata,fallback_address,len,u16, +subtypedata,fallback_address,address,byte,len diff --git a/wire/extracted_onion_experimental_offers b/wire/extracted_onion_experimental_offers new file mode 100644 index 000000000..b0ecfa803 --- /dev/null +++ b/wire/extracted_onion_experimental_offers @@ -0,0 +1,15 @@ +--- wire/onion_exp_wire.csv 2020-11-11 14:14:11.704265950 +1030 ++++ - 2020-11-11 14:14:16.749321565 +1030 +@@ -23,6 +19,12 @@ + tlvdata,onionmsg_payload,enctlv,enctlv,byte,... + tlvtype,onionmsg_payload,blinding,12 + tlvdata,onionmsg_payload,blinding,blinding,point, ++tlvtype,onionmsg_payload,invoice_request,64 ++tlvdata,onionmsg_payload,invoice_request,invoice_request,byte,... ++tlvtype,onionmsg_payload,invoice,66 ++tlvdata,onionmsg_payload,invoice,invoice,byte,... ++tlvtype,onionmsg_payload,invoice_error,68 ++tlvdata,onionmsg_payload,invoice_error,invoice_error,byte,... + tlvtype,encmsg_tlvs,next_node_id,4 + tlvdata,encmsg_tlvs,next_node_id,node_id,point, + tlvtype,encmsg_tlvs,next_short_channel_id,6 diff --git a/wire/wire.h b/wire/wire.h index d8deaa078..26e30058c 100644 --- a/wire/wire.h +++ b/wire/wire.h @@ -75,14 +75,8 @@ void fromwire_siphash_seed(const u8 **cursor, size_t *max, /* Stubs, as this subtype is only defined when EXPERIMENTAL_FEATURES */ struct onionmsg_path; -static inline void towire_onionmsg_path(u8 **p, const struct onionmsg_path *onionmsg_path) -{ -} - -static inline struct onionmsg_path * -fromwire_onionmsg_path(const tal_t *ctx, const u8 **cursor, size_t *plen) -{ - return NULL; -} +void towire_onionmsg_path(u8 **p, const struct onionmsg_path *onionmsg_path); +struct onionmsg_path * +fromwire_onionmsg_path(const tal_t *ctx, const u8 **cursor, size_t *plen); #endif /* EXPERIMENTAL_FEATURES */ #endif /* LIGHTNING_WIRE_WIRE_H */ diff --git a/wire/wire_dummy.c b/wire/wire_dummy.c new file mode 100644 index 000000000..6b824c7b5 --- /dev/null +++ b/wire/wire_dummy.c @@ -0,0 +1,15 @@ +#include + +#if !EXPERIMENTAL_FEATURES +/* Stubs, as this subtype is only defined when EXPERIMENTAL_FEATURES */ +void towire_onionmsg_path(u8 **p, const struct onionmsg_path *onionmsg_path) +{ + abort(); +} + +struct onionmsg_path * +fromwire_onionmsg_path(const tal_t *ctx, const u8 **cursor, size_t *plen) +{ + abort(); +} +#endif