core-lightning/wire/bolt12_exp_wire.csv
Rusty Russell 1e3cb01546 bolt12: import the latest spec, update to fit.
I know this is an unforgivably large diff, but the spec has changed so
much that most of this amounts to a rewrite.

Some points:
* We no longer have "offer_id" fields, we generate that locally, as all
  offer fields are mirrored into invoice_request and then invoice.
* Because of that mirroring, field names all have explicit offer/invreq/invoice
  prefixes.
* The `refund_for` fields have been removed from spec: will re-add locally later.
* quantity_min was removed, max == 0 now mean "must specify a quantity".
* I have put recurrence fields back in locally.

This brings us to 655df03d8729c0918bdacac99eb13fdb0ee93345 ("BOLT 12:
add explicit invoice_node_id.")

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2022-11-09 15:08:03 +01:00

7.9 KiB

1tlvtype,offer,offer_chains,2
2tlvdata,offer,offer_chains,chains,chain_hash,...
3tlvtype,offer,offer_metadata,4
4tlvdata,offer,offer_metadata,data,byte,...
5tlvtype,offer,offer_currency,6
6tlvdata,offer,offer_currency,iso4217,utf8,...
7tlvtype,offer,offer_amount,8
8tlvdata,offer,offer_amount,amount,tu64,
9tlvtype,offer,offer_description,10
10tlvdata,offer,offer_description,description,utf8,...
11tlvtype,offer,offer_features,12
12tlvdata,offer,offer_features,features,byte,...
13tlvtype,offer,offer_absolute_expiry,14
14tlvdata,offer,offer_absolute_expiry,seconds_from_epoch,tu64,
15tlvtype,offer,offer_paths,16
16tlvdata,offer,offer_paths,paths,blinded_path,...
17tlvtype,offer,offer_issuer,18
18tlvdata,offer,offer_issuer,issuer,utf8,...
19tlvtype,offer,offer_quantity_max,20
20tlvdata,offer,offer_quantity_max,max,tu64,
21tlvtype,offer,offer_node_id,22
22tlvdata,offer,offer_node_id,node_id,point,
23tlvtype,offer,offer_recurrence,26
24tlvdata,offer,offer_recurrence,recurrence,recurrence,
25tlvtype,offer,offer_recurrence_paywindow,28
26tlvdata,offer,offer_recurrence_paywindow,paywindow,recurrence_paywindow,
27tlvtype,offer,offer_recurrence_limit,30
28tlvdata,offer,offer_recurrence_limit,max_period,tu32,
29tlvtype,offer,offer_recurrence_base,32
30tlvdata,offer,offer_recurrence_base,base,recurrence_base,
31tlvtype,invoice_request,invreq_metadata,0
32tlvdata,invoice_request,invreq_metadata,blob,byte,...
33tlvtype,invoice_request,offer_chains,2
34tlvdata,invoice_request,offer_chains,chains,chain_hash,...
35tlvtype,invoice_request,offer_metadata,4
36tlvdata,invoice_request,offer_metadata,data,byte,...
37tlvtype,invoice_request,offer_currency,6
38tlvdata,invoice_request,offer_currency,iso4217,utf8,...
39tlvtype,invoice_request,offer_amount,8
40tlvdata,invoice_request,offer_amount,amount,tu64,
41tlvtype,invoice_request,offer_description,10
42tlvdata,invoice_request,offer_description,description,utf8,...
43tlvtype,invoice_request,offer_features,12
44tlvdata,invoice_request,offer_features,features,byte,...
45tlvtype,invoice_request,offer_absolute_expiry,14
46tlvdata,invoice_request,offer_absolute_expiry,seconds_from_epoch,tu64,
47tlvtype,invoice_request,offer_paths,16
48tlvdata,invoice_request,offer_paths,paths,blinded_path,...
49tlvtype,invoice_request,offer_issuer,18
50tlvdata,invoice_request,offer_issuer,issuer,utf8,...
51tlvtype,invoice_request,offer_quantity_max,20
52tlvdata,invoice_request,offer_quantity_max,max,tu64,
53tlvtype,invoice_request,offer_node_id,22
54tlvdata,invoice_request,offer_node_id,node_id,point,
55tlvtype,invoice_request,offer_recurrence,26
56tlvdata,invoice_request,offer_recurrence,recurrence,recurrence,
57tlvtype,invoice_request,offer_recurrence_paywindow,28
58tlvdata,invoice_request,offer_recurrence_paywindow,paywindow,recurrence_paywindow,
59tlvtype,invoice_request,offer_recurrence_limit,30
60tlvdata,invoice_request,offer_recurrence_limit,max_period,tu32,
61tlvtype,invoice_request,offer_recurrence_base,32
62tlvdata,invoice_request,offer_recurrence_base,base,recurrence_base,
63tlvtype,invoice_request,invreq_chain,80
64tlvdata,invoice_request,invreq_chain,chain,chain_hash,
65tlvtype,invoice_request,invreq_amount,82
66tlvdata,invoice_request,invreq_amount,msat,tu64,
67tlvtype,invoice_request,invreq_features,84
68tlvdata,invoice_request,invreq_features,features,byte,...
69tlvtype,invoice_request,invreq_quantity,86
70tlvdata,invoice_request,invreq_quantity,quantity,tu64,
71tlvtype,invoice_request,invreq_payer_id,88
72tlvdata,invoice_request,invreq_payer_id,key,point,
73tlvtype,invoice_request,invreq_payer_note,89
74tlvdata,invoice_request,invreq_payer_note,note,utf8,...
75tlvtype,invoice_request,invreq_recurrence_counter,90
76tlvdata,invoice_request,invreq_recurrence_counter,counter,tu32,
77tlvtype,invoice_request,invreq_recurrence_start,92
78tlvdata,invoice_request,invreq_recurrence_start,period_offset,tu32,
79tlvtype,invoice_request,signature,240
80tlvdata,invoice_request,signature,sig,bip340sig,
81tlvtype,invoice,invreq_metadata,0
82tlvdata,invoice,invreq_metadata,blob,byte,...
83tlvtype,invoice,offer_chains,2
84tlvdata,invoice,offer_chains,chains,chain_hash,...
85tlvtype,invoice,offer_metadata,4
86tlvdata,invoice,offer_metadata,data,byte,...
87tlvtype,invoice,offer_currency,6
88tlvdata,invoice,offer_currency,iso4217,utf8,...
89tlvtype,invoice,offer_amount,8
90tlvdata,invoice,offer_amount,amount,tu64,
91tlvtype,invoice,offer_description,10
92tlvdata,invoice,offer_description,description,utf8,...
93tlvtype,invoice,offer_features,12
94tlvdata,invoice,offer_features,features,byte,...
95tlvtype,invoice,offer_absolute_expiry,14
96tlvdata,invoice,offer_absolute_expiry,seconds_from_epoch,tu64,
97tlvtype,invoice,offer_paths,16
98tlvdata,invoice,offer_paths,paths,blinded_path,...
99tlvtype,invoice,offer_issuer,18
100tlvdata,invoice,offer_issuer,issuer,utf8,...
101tlvtype,invoice,offer_quantity_max,20
102tlvdata,invoice,offer_quantity_max,max,tu64,
103tlvtype,invoice,offer_node_id,22
104tlvdata,invoice,offer_node_id,node_id,point,
105tlvtype,invoice,offer_recurrence,26
106tlvdata,invoice,offer_recurrence,recurrence,recurrence,
107tlvtype,invoice,offer_recurrence_paywindow,28
108tlvdata,invoice,offer_recurrence_paywindow,paywindow,recurrence_paywindow,
109tlvtype,invoice,offer_recurrence_limit,30
110tlvdata,invoice,offer_recurrence_limit,max_period,tu32,
111tlvtype,invoice,offer_recurrence_base,32
112tlvdata,invoice,offer_recurrence_base,base,recurrence_base,
113tlvtype,invoice,invreq_chain,80
114tlvdata,invoice,invreq_chain,chain,chain_hash,
115tlvtype,invoice,invreq_amount,82
116tlvdata,invoice,invreq_amount,msat,tu64,
117tlvtype,invoice,invreq_features,84
118tlvdata,invoice,invreq_features,features,byte,...
119tlvtype,invoice,invreq_quantity,86
120tlvdata,invoice,invreq_quantity,quantity,tu64,
121tlvtype,invoice,invreq_payer_id,88
122tlvdata,invoice,invreq_payer_id,key,point,
123tlvtype,invoice,invreq_payer_note,89
124tlvdata,invoice,invreq_payer_note,note,utf8,...
125tlvtype,invoice,invreq_recurrence_counter,90
126tlvdata,invoice,invreq_recurrence_counter,counter,tu32,
127tlvtype,invoice,invreq_recurrence_start,92
128tlvdata,invoice,invreq_recurrence_start,period_offset,tu32,
129tlvtype,invoice,invoice_paths,160
130tlvdata,invoice,invoice_paths,paths,blinded_path,...
131tlvtype,invoice,invoice_blindedpay,162
132tlvdata,invoice,invoice_blindedpay,payinfo,blinded_payinfo,...
133tlvtype,invoice,invoice_created_at,164
134tlvdata,invoice,invoice_created_at,timestamp,tu64,
135tlvtype,invoice,invoice_relative_expiry,166
136tlvdata,invoice,invoice_relative_expiry,seconds_from_creation,tu32,
137tlvtype,invoice,invoice_payment_hash,168
138tlvdata,invoice,invoice_payment_hash,payment_hash,sha256,
139tlvtype,invoice,invoice_amount,170
140tlvdata,invoice,invoice_amount,msat,tu64,
141tlvtype,invoice,invoice_fallbacks,172
142tlvdata,invoice,invoice_fallbacks,fallbacks,fallback_address,...
143tlvtype,invoice,invoice_features,174
144tlvdata,invoice,invoice_features,features,byte,...
145tlvtype,invoice,invoice_node_id,176
146tlvdata,invoice,invoice_node_id,node_id,point,
147tlvtype,invoice,invoice_recurrence_basetime,178
148tlvdata,invoice,invoice_recurrence_basetime,basetime,tu64,
149tlvtype,invoice,signature,240
150tlvdata,invoice,signature,sig,bip340sig,
151subtype,recurrence
152subtypedata,recurrence,time_unit,byte,
153subtypedata,recurrence,period,tu32,
154subtype,recurrence_paywindow
155subtypedata,recurrence_paywindow,seconds_before,u32,
156subtypedata,recurrence_paywindow,proportional_amount,byte,
157subtypedata,recurrence_paywindow,seconds_after,tu32,
158subtype,recurrence_base
159subtypedata,recurrence_base,start_any_period,byte,
160subtypedata,recurrence_base,basetime,tu64,
161subtype,blinded_payinfo
162subtypedata,blinded_payinfo,fee_base_msat,u32,
163subtypedata,blinded_payinfo,fee_proportional_millionths,u32,
164subtypedata,blinded_payinfo,cltv_expiry_delta,u16,
165subtypedata,blinded_payinfo,htlc_minimum_msat,u64,
166subtypedata,blinded_payinfo,htlc_maximum_msat,u64,
167subtypedata,blinded_payinfo,flen,u16,
168subtypedata,blinded_payinfo,features,byte,flen
169subtype,fallback_address
170subtypedata,fallback_address,version,byte,
171subtypedata,fallback_address,len,u16,
172subtypedata,fallback_address,address,byte,len
173tlvtype,invoice_error,erroneous_field,1
174tlvdata,invoice_error,erroneous_field,tlv_fieldnum,tu64,
175tlvtype,invoice_error,suggested_value,3
176tlvdata,invoice_error,suggested_value,value,byte,...
177tlvtype,invoice_error,error,5
178tlvdata,invoice_error,error,msg,utf8,...