wire.c: import bolt 12 offers CSV.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell 2020-12-05 12:50:54 +10:30
parent a11edebb7c
commit 2cd93597cc
7 changed files with 382 additions and 9 deletions

View File

@ -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 Normal file
View File

@ -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,...
1 tlvtype,offer,chains,2
2 tlvdata,offer,chains,chains,chain_hash,...
3 tlvtype,offer,currency,6
4 tlvdata,offer,currency,iso4217,utf8,...
5 tlvtype,offer,amount,8
6 tlvdata,offer,amount,amount,tu64,
7 tlvtype,offer,description,10
8 tlvdata,offer,description,description,utf8,...
9 tlvtype,offer,features,12
10 tlvdata,offer,features,features,byte,...
11 tlvtype,offer,absolute_expiry,14
12 tlvdata,offer,absolute_expiry,seconds_from_epoch,tu64,
13 tlvtype,offer,paths,16
14 tlvdata,offer,paths,paths,blinded_path,...
15 tlvtype,offer,vendor,20
16 tlvdata,offer,vendor,vendor,utf8,...
17 tlvtype,offer,quantity_min,22
18 tlvdata,offer,quantity_min,min,tu64,
19 tlvtype,offer,quantity_max,24
20 tlvdata,offer,quantity_max,max,tu64,
21 tlvtype,offer,recurrence,26
22 tlvdata,offer,recurrence,time_unit,byte,
23 tlvdata,offer,recurrence,period,tu32,
24 tlvtype,offer,recurrence_paywindow,64
25 tlvdata,offer,recurrence_paywindow,seconds_before,u32,
26 tlvdata,offer,recurrence_paywindow,proportional_amount,byte,
27 tlvdata,offer,recurrence_paywindow,seconds_after,tu32,
28 tlvtype,offer,recurrence_limit,66
29 tlvdata,offer,recurrence_limit,max_period,tu32,
30 tlvtype,offer,recurrence_base,28
31 tlvdata,offer,recurrence_base,start_any_period,byte,
32 tlvdata,offer,recurrence_base,basetime,tu64,
33 tlvtype,offer,node_id,30
34 tlvdata,offer,node_id,node_id,pubkey32,
35 tlvtype,offer,send_invoice,54
36 tlvtype,offer,refund_for,34
37 tlvdata,offer,refund_for,refunded_payment_hash,sha256,
38 tlvtype,offer,signature,240
39 tlvdata,offer,signature,sig,bip340sig,
40 subtype,blinded_path
41 subtypedata,blinded_path,blinding,point,
42 subtypedata,blinded_path,num_hops,u16,
43 subtypedata,blinded_path,path,onionmsg_path,num_hops
44 tlvtype,invoice_request,chains,2
45 tlvdata,invoice_request,chains,chains,chain_hash,...
46 tlvtype,invoice_request,offer_id,4
47 tlvdata,invoice_request,offer_id,offer_id,sha256,
48 tlvtype,invoice_request,amount,8
49 tlvdata,invoice_request,amount,msat,tu64,
50 tlvtype,invoice_request,features,12
51 tlvdata,invoice_request,features,features,byte,...
52 tlvtype,invoice_request,quantity,32
53 tlvdata,invoice_request,quantity,quantity,tu64,
54 tlvtype,invoice_request,recurrence_counter,36
55 tlvdata,invoice_request,recurrence_counter,counter,tu32,
56 tlvtype,invoice_request,recurrence_start,68
57 tlvdata,invoice_request,recurrence_start,period_offset,tu32,
58 tlvtype,invoice_request,payer_key,38
59 tlvdata,invoice_request,payer_key,key,pubkey32,
60 tlvtype,invoice_request,payer_info,50
61 tlvdata,invoice_request,payer_info,blob,byte,...
62 tlvtype,invoice_request,recurrence_signature,242
63 tlvdata,invoice_request,recurrence_signature,sig,bip340sig,
64 tlvtype,invoice,chains,2
65 tlvdata,invoice,chains,chains,chain_hash,...
66 tlvtype,invoice,offer_id,4
67 tlvdata,invoice,offer_id,offer_id,sha256,
68 tlvtype,invoice,amount,8
69 tlvdata,invoice,amount,msat,tu64,
70 tlvtype,invoice,description,10
71 tlvdata,invoice,description,description,utf8,...
72 tlvtype,invoice,features,12
73 tlvdata,invoice,features,features,byte,...
74 tlvtype,invoice,paths,16
75 tlvdata,invoice,paths,paths,blinded_path,...
76 tlvtype,invoice,blindedpay,18
77 tlvdata,invoice,blindedpay,payinfo,blinded_payinfo,...
78 tlvtype,invoice,vendor,20
79 tlvdata,invoice,vendor,vendor,utf8,...
80 tlvtype,invoice,node_id,30
81 tlvdata,invoice,node_id,node_id,pubkey32,
82 tlvtype,invoice,quantity,32
83 tlvdata,invoice,quantity,quantity,tu64,
84 tlvtype,invoice,refund_for,34
85 tlvdata,invoice,refund_for,refunded_payment_hash,sha256,
86 tlvtype,invoice,recurrence_counter,36
87 tlvdata,invoice,recurrence_counter,counter,tu32,
88 tlvtype,invoice,send_invoice,54
89 tlvtype,invoice,recurrence_start,68
90 tlvdata,invoice,recurrence_start,period_offset,tu32,
91 tlvtype,invoice,recurrence_basetime,64
92 tlvdata,invoice,recurrence_basetime,basetime,tu64,
93 tlvtype,invoice,payer_key,38
94 tlvdata,invoice,payer_key,key,pubkey32,
95 tlvtype,invoice,payer_info,50
96 tlvdata,invoice,payer_info,blob,byte,...
97 tlvtype,invoice,timestamp,40
98 tlvdata,invoice,timestamp,timestamp,tu64,
99 tlvtype,invoice,payment_hash,42
100 tlvdata,invoice,payment_hash,payment_hash,sha256,
101 tlvtype,invoice,relative_expiry,44
102 tlvdata,invoice,relative_expiry,seconds_from_timestamp,tu32,
103 tlvtype,invoice,cltv,46
104 tlvdata,invoice,cltv,min_final_cltv_expiry,tu32,
105 tlvtype,invoice,fallbacks,48
106 tlvdata,invoice,fallbacks,num,u8,
107 tlvdata,invoice,fallbacks,fallbacks,fallback_address,num
108 tlvtype,invoice,refund_signature,52
109 tlvdata,invoice,refund_signature,payer_signature,bip340sig,
110 tlvtype,invoice,signature,240
111 tlvdata,invoice,signature,sig,bip340sig,
112 subtype,blinded_payinfo
113 subtypedata,blinded_payinfo,fee_base_msat,u32,
114 subtypedata,blinded_payinfo,fee_proportional_millionths,u32,
115 subtypedata,blinded_payinfo,cltv_expiry_delta,u16,
116 subtypedata,blinded_payinfo,flen,u16,
117 subtypedata,blinded_payinfo,features,byte,flen
118 subtype,fallback_address
119 subtypedata,fallback_address,version,byte,
120 subtypedata,fallback_address,len,u16,
121 subtypedata,fallback_address,address,byte,len
122 tlvtype,invoice_error,erroneous_field,1
123 tlvdata,invoice_error,erroneous_field,tlv_fieldnum,tu64,
124 tlvtype,invoice_error,suggested_value,3
125 tlvdata,invoice_error,suggested_value,value,byte,...
126 tlvtype,invoice_error,error,5
127 tlvdata,invoice_error,error,msg,utf8,...

102
wire/bolt12_wire.csv Normal file
View File

@ -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
1 tlvtype,offer_tlvs,chains,2
2 tlvdata,offer_tlvs,chains,chains,chain_hash,...
3 tlvtype,offer_tlvs,currency,6
4 tlvdata,offer_tlvs,currency,iso4217,byte,...
5 tlvtype,offer_tlvs,amount,8
6 tlvdata,offer_tlvs,amount,amount,tu64,
7 tlvtype,offer_tlvs,description,10
8 tlvdata,offer_tlvs,description,description,byte,...
9 tlvtype,offer_tlvs,features,12
10 tlvdata,offer_tlvs,features,features,byte,...
11 tlvtype,offer_tlvs,expiry_timestamp,14
12 tlvdata,offer_tlvs,expiry_timestamp,expiry_timestamp,tu64,
13 tlvtype,offer_tlvs,paths,16
14 tlvdata,offer_tlvs,paths,paths,blinded_path,...
15 tlvtype,offer_tlvs,vendor,20
16 tlvdata,offer_tlvs,vendor,vendor,byte,...
17 tlvtype,offer_tlvs,quantity_min,22
18 tlvdata,offer_tlvs,quantity_min,min,tu64,
19 tlvtype,offer_tlvs,quantity_max,24
20 tlvdata,offer_tlvs,quantity_max,max,tu64,
21 tlvtype,offer_tlvs,recurrence,26
22 tlvdata,offer_tlvs,recurrence,time_unit,byte,
23 tlvdata,offer_tlvs,recurrence,period,u32,
24 tlvdata,offer_tlvs,recurrence,limit,tu32,
25 tlvtype,offer_tlvs,recurrence_base,28
26 tlvdata,offer_tlvs,recurrence_base,basetime,u32,
27 tlvdata,offer_tlvs,recurrence_base,paywindow,tu32,
28 tlvtype,offer_tlvs,node_id,30
29 tlvdata,offer_tlvs,node_id,node_id,pubkey32,
30 tlvtype,offer_tlvs,signature,240
31 tlvdata,offer_tlvs,signature,sig,signature,
32 subtype,blinded_path
33 subtypedata,blinded_path,blinding,point,
34 tlvtype,invoice_request_tlvs,chains,2
35 tlvdata,invoice_request_tlvs,chains,chains,chain_hash,...
36 tlvtype,invoice_request_tlvs,offer_id,4
37 tlvdata,invoice_request_tlvs,offer_id,offer_id,sha256,
38 tlvtype,invoice_request_tlvs,amount,8
39 tlvdata,invoice_request_tlvs,amount,amount,tu64,
40 tlvtype,invoice_request_tlvs,description,10
41 tlvdata,invoice_request_tlvs,description,description,byte,...
42 tlvtype,invoice_request_tlvs,features,12
43 tlvdata,invoice_request_tlvs,features,features,byte,...
44 tlvtype,invoice_request_tlvs,paths,16
45 tlvdata,invoice_request_tlvs,paths,paths,blinded_path,...
46 tlvtype,invoice_request_tlvs,quantity,32
47 tlvdata,invoice_request_tlvs,quantity,quantity,tu64,
48 tlvtype,invoice_request_tlvs,refund_for,34
49 tlvdata,invoice_request_tlvs,refund_for,refunded_payment_hash,sha256,
50 tlvtype,invoice_request_tlvs,invoice_request_recurrence,36
51 tlvdata,invoice_request_tlvs,invoice_request_recurrence,counter,tu64,
52 tlvtype,invoice_request_tlvs,payer_key,38
53 tlvdata,invoice_request_tlvs,payer_key,key,pubkey32,
54 tlvtype,invoice_tlvs,chains,2
55 tlvdata,invoice_tlvs,chains,chains,chain_hash,...
56 tlvtype,invoice_tlvs,offer_id,4
57 tlvdata,invoice_tlvs,offer_id,offer_id,sha256,
58 tlvtype,invoice_tlvs,amount,8
59 tlvdata,invoice_tlvs,amount,amount,tu64,
60 tlvtype,invoice_tlvs,description,10
61 tlvdata,invoice_tlvs,description,description,byte,...
62 tlvtype,invoice_tlvs,features,12
63 tlvdata,invoice_tlvs,features,features,byte,...
64 tlvtype,invoice_tlvs,paths,16
65 tlvdata,invoice_tlvs,paths,paths,blinded_path,...
66 tlvtype,invoice_tlvs,blindedpay,18
67 tlvdata,invoice_tlvs,blindedpay,payinfo,blinded_payinfo,...
68 tlvtype,invoice_tlvs,vendor,20
69 tlvdata,invoice_tlvs,vendor,vendor,byte,...
70 tlvtype,invoice_tlvs,node_id,30
71 tlvdata,invoice_tlvs,node_id,node_id,pubkey32,
72 tlvtype,invoice_tlvs,quantity,32
73 tlvdata,invoice_tlvs,quantity,quantity,tu64,
74 tlvtype,invoice_tlvs,refund_for,34
75 tlvdata,invoice_tlvs,refund_for,refunded_payment_hash,sha256,
76 tlvtype,invoice_tlvs,payer_key,38
77 tlvdata,invoice_tlvs,payer_key,key,pubkey32,
78 tlvtype,invoice_tlvs,timestamp,40
79 tlvdata,invoice_tlvs,timestamp,timestamp,tu32,
80 tlvtype,invoice_tlvs,payment_hash,42
81 tlvdata,invoice_tlvs,payment_hash,payment_hash,sha256,
82 tlvtype,invoice_tlvs,expiry,44
83 tlvdata,invoice_tlvs,expiry,expiry_seconds,tu32,
84 tlvtype,invoice_tlvs,cltv,46
85 tlvdata,invoice_tlvs,cltv,min_final_cltv_expiry,tu32,
86 tlvtype,invoice_tlvs,fallbacks,48
87 tlvdata,invoice_tlvs,fallbacks,num,u8,
88 tlvdata,invoice_tlvs,fallbacks,fallbacks,fallback_address,num
89 tlvtype,invoice_tlvs,refund_signature,52
90 tlvdata,invoice_tlvs,refund_signature,payer_signature,signature,
91 tlvtype,invoice_tlvs,signature,240
92 tlvdata,invoice_tlvs,signature,sig,signature,
93 subtype,blinded_payinfo
94 subtypedata,blinded_payinfo,fee_base_msat,u32,
95 subtypedata,blinded_payinfo,fee_proportional_millionths,u32,
96 subtypedata,blinded_payinfo,cltv_expiry_delta,u16,
97 subtypedata,blinded_payinfo,flen,u16,
98 subtypedata,blinded_payinfo,features,byte,flen
99 subtype,fallback_address
100 subtypedata,fallback_address,type,byte,
101 subtypedata,fallback_address,len,u16,
102 subtypedata,fallback_address,address,byte,len

View File

@ -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

View File

@ -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

View File

@ -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 Normal file
View File

@ -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