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