Browse Source

wire.c: import bolt 12 offers CSV.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
fix-mocks
Rusty Russell 4 years ago
parent
commit
2cd93597cc
  1. 18
      wire/Makefile
  2. 127
      wire/bolt12_exp_wire.csv
  3. 102
      wire/bolt12_wire.csv
  4. 102
      wire/extracted_bolt12_tlv_csv
  5. 15
      wire/extracted_onion_experimental_offers
  6. 12
      wire/wire.h
  7. 15
      wire/wire_dummy.c

18
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_defs.h>' > 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:

127
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,...
Can't render this file because it has a wrong number of fields in line 2.

102
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
Can't render this file because it has a wrong number of fields in line 2.

102
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

15
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

12
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 */

15
wire/wire_dummy.c

@ -0,0 +1,15 @@
#include <wire/wire.h>
#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
Loading…
Cancel
Save