Browse Source
These are autogenerated, but now they export their own MessageNamespace, as well as the raw csv. They also expose their SubtypeTypes, MessageTypes and TlvStreamTypes, though in theory these could clash (they don't for now, and it'd be kinda awkward if they did). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>nifty/pset-pre
Rusty Russell
5 years ago
committed by
Christian Decker
25 changed files with 439 additions and 325 deletions
@ -0,0 +1,4 @@ |
|||
#! /usr/bin/make
|
|||
|
|||
refresh: |
|||
for d in bolt*; do $(MAKE) -C $$d; done |
@ -0,0 +1,7 @@ |
|||
#! /usr/bin/make
|
|||
|
|||
SPECDIR := ../../../../../../../lightning-rfc |
|||
|
|||
csv.py: $(SPECDIR)/01-messaging.md Makefile |
|||
SPECNUM=`basename $< | sed 's/-.*//'`; (echo csv = '['; python3 $(SPECDIR)/tools/extract-formats.py $< | sed 's/\(.*\)/ "\1",/'; echo ']') > $@ |
|||
chmod a+x $@ |
@ -0,0 +1,16 @@ |
|||
from .csv import csv |
|||
from .bolt import namespace |
|||
import sys |
|||
|
|||
__version__ = '0.0.1' |
|||
|
|||
__all__ = [ |
|||
'csv', |
|||
'namespace', |
|||
] |
|||
|
|||
mod = sys.modules[__name__] |
|||
for d in namespace.subtypes, namespace.tlvtypes, namespace.messagetypes: |
|||
for name in d: |
|||
setattr(mod, name, d[name]) |
|||
__all__.append(name) |
@ -0,0 +1,5 @@ |
|||
from pyln.proto.message import MessageNamespace |
|||
from .csv import csv |
|||
|
|||
|
|||
namespace = MessageNamespace(csv_lines=csv) |
@ -0,0 +1,35 @@ |
|||
csv = [ |
|||
"msgtype,init,16", |
|||
"msgdata,init,gflen,u16,", |
|||
"msgdata,init,globalfeatures,byte,gflen", |
|||
"msgdata,init,flen,u16,", |
|||
"msgdata,init,features,byte,flen", |
|||
"msgdata,init,tlvs,init_tlvs,", |
|||
"tlvtype,init_tlvs,networks,1", |
|||
"tlvdata,init_tlvs,networks,chains,chain_hash,...", |
|||
"msgtype,error,17", |
|||
"msgdata,error,channel_id,channel_id,", |
|||
"msgdata,error,len,u16,", |
|||
"msgdata,error,data,byte,len", |
|||
"msgtype,ping,18", |
|||
"msgdata,ping,num_pong_bytes,u16,", |
|||
"msgdata,ping,byteslen,u16,", |
|||
"msgdata,ping,ignored,byte,byteslen", |
|||
"msgtype,pong,19", |
|||
"msgdata,pong,byteslen,u16,", |
|||
"msgdata,pong,ignored,byte,byteslen", |
|||
"tlvtype,n1,tlv1,1", |
|||
"tlvdata,n1,tlv1,amount_msat,tu64,", |
|||
"tlvtype,n1,tlv2,2", |
|||
"tlvdata,n1,tlv2,scid,short_channel_id,", |
|||
"tlvtype,n1,tlv3,3", |
|||
"tlvdata,n1,tlv3,node_id,point,", |
|||
"tlvdata,n1,tlv3,amount_msat_1,u64,", |
|||
"tlvdata,n1,tlv3,amount_msat_2,u64,", |
|||
"tlvtype,n1,tlv4,254", |
|||
"tlvdata,n1,tlv4,cltv_delta,u16,", |
|||
"tlvtype,n2,tlv1,0", |
|||
"tlvdata,n2,tlv1,amount_msat,tu64,", |
|||
"tlvtype,n2,tlv2,11", |
|||
"tlvdata,n2,tlv2,cltv_expiry,tu32,", |
|||
] |
@ -0,0 +1,7 @@ |
|||
#! /usr/bin/make
|
|||
|
|||
SPECDIR := ../../../../../../../lightning-rfc |
|||
|
|||
csv.py: $(SPECDIR)/02-peer-protocol.md Makefile |
|||
SPECNUM=`basename $< | sed 's/-.*//'`; (echo csv = '['; python3 $(SPECDIR)/tools/extract-formats.py $< | sed 's/\(.*\)/ "\1",/'; echo ']') > $@ |
|||
chmod a+x $@ |
@ -0,0 +1,16 @@ |
|||
from .csv import csv |
|||
from .bolt import namespace |
|||
import sys |
|||
|
|||
__version__ = '0.0.1' |
|||
|
|||
__all__ = [ |
|||
'csv', |
|||
'namespace', |
|||
] |
|||
|
|||
mod = sys.modules[__name__] |
|||
for d in namespace.subtypes, namespace.tlvtypes, namespace.messagetypes: |
|||
for name in d: |
|||
setattr(mod, name, d[name]) |
|||
__all__.append(name) |
@ -0,0 +1,5 @@ |
|||
from pyln.proto.message import MessageNamespace |
|||
from .csv import csv |
|||
|
|||
|
|||
namespace = MessageNamespace(csv_lines=csv) |
@ -0,0 +1,100 @@ |
|||
csv = [ |
|||
"msgtype,open_channel,32", |
|||
"msgdata,open_channel,chain_hash,chain_hash,", |
|||
"msgdata,open_channel,temporary_channel_id,byte,32", |
|||
"msgdata,open_channel,funding_satoshis,u64,", |
|||
"msgdata,open_channel,push_msat,u64,", |
|||
"msgdata,open_channel,dust_limit_satoshis,u64,", |
|||
"msgdata,open_channel,max_htlc_value_in_flight_msat,u64,", |
|||
"msgdata,open_channel,channel_reserve_satoshis,u64,", |
|||
"msgdata,open_channel,htlc_minimum_msat,u64,", |
|||
"msgdata,open_channel,feerate_per_kw,u32,", |
|||
"msgdata,open_channel,to_self_delay,u16,", |
|||
"msgdata,open_channel,max_accepted_htlcs,u16,", |
|||
"msgdata,open_channel,funding_pubkey,point,", |
|||
"msgdata,open_channel,revocation_basepoint,point,", |
|||
"msgdata,open_channel,payment_basepoint,point,", |
|||
"msgdata,open_channel,delayed_payment_basepoint,point,", |
|||
"msgdata,open_channel,htlc_basepoint,point,", |
|||
"msgdata,open_channel,first_per_commitment_point,point,", |
|||
"msgdata,open_channel,channel_flags,byte,", |
|||
"msgdata,open_channel,tlvs,open_channel_tlvs,", |
|||
"tlvtype,open_channel_tlvs,upfront_shutdown_script,0", |
|||
"tlvdata,open_channel_tlvs,upfront_shutdown_script,shutdown_scriptpubkey,byte,...", |
|||
"msgtype,accept_channel,33", |
|||
"msgdata,accept_channel,temporary_channel_id,byte,32", |
|||
"msgdata,accept_channel,dust_limit_satoshis,u64,", |
|||
"msgdata,accept_channel,max_htlc_value_in_flight_msat,u64,", |
|||
"msgdata,accept_channel,channel_reserve_satoshis,u64,", |
|||
"msgdata,accept_channel,htlc_minimum_msat,u64,", |
|||
"msgdata,accept_channel,minimum_depth,u32,", |
|||
"msgdata,accept_channel,to_self_delay,u16,", |
|||
"msgdata,accept_channel,max_accepted_htlcs,u16,", |
|||
"msgdata,accept_channel,funding_pubkey,point,", |
|||
"msgdata,accept_channel,revocation_basepoint,point,", |
|||
"msgdata,accept_channel,payment_basepoint,point,", |
|||
"msgdata,accept_channel,delayed_payment_basepoint,point,", |
|||
"msgdata,accept_channel,htlc_basepoint,point,", |
|||
"msgdata,accept_channel,first_per_commitment_point,point,", |
|||
"msgdata,accept_channel,tlvs,accept_channel_tlvs,", |
|||
"tlvtype,accept_channel_tlvs,upfront_shutdown_script,0", |
|||
"tlvdata,accept_channel_tlvs,upfront_shutdown_script,shutdown_scriptpubkey,byte,...", |
|||
"msgtype,funding_created,34", |
|||
"msgdata,funding_created,temporary_channel_id,byte,32", |
|||
"msgdata,funding_created,funding_txid,sha256,", |
|||
"msgdata,funding_created,funding_output_index,u16,", |
|||
"msgdata,funding_created,signature,signature,", |
|||
"msgtype,funding_signed,35", |
|||
"msgdata,funding_signed,channel_id,channel_id,", |
|||
"msgdata,funding_signed,signature,signature,", |
|||
"msgtype,funding_locked,36", |
|||
"msgdata,funding_locked,channel_id,channel_id,", |
|||
"msgdata,funding_locked,next_per_commitment_point,point,", |
|||
"msgtype,shutdown,38", |
|||
"msgdata,shutdown,channel_id,channel_id,", |
|||
"msgdata,shutdown,len,u16,", |
|||
"msgdata,shutdown,scriptpubkey,byte,len", |
|||
"msgtype,closing_signed,39", |
|||
"msgdata,closing_signed,channel_id,channel_id,", |
|||
"msgdata,closing_signed,fee_satoshis,u64,", |
|||
"msgdata,closing_signed,signature,signature,", |
|||
"msgtype,update_add_htlc,128", |
|||
"msgdata,update_add_htlc,channel_id,channel_id,", |
|||
"msgdata,update_add_htlc,id,u64,", |
|||
"msgdata,update_add_htlc,amount_msat,u64,", |
|||
"msgdata,update_add_htlc,payment_hash,sha256,", |
|||
"msgdata,update_add_htlc,cltv_expiry,u32,", |
|||
"msgdata,update_add_htlc,onion_routing_packet,byte,1366", |
|||
"msgtype,update_fulfill_htlc,130", |
|||
"msgdata,update_fulfill_htlc,channel_id,channel_id,", |
|||
"msgdata,update_fulfill_htlc,id,u64,", |
|||
"msgdata,update_fulfill_htlc,payment_preimage,byte,32", |
|||
"msgtype,update_fail_htlc,131", |
|||
"msgdata,update_fail_htlc,channel_id,channel_id,", |
|||
"msgdata,update_fail_htlc,id,u64,", |
|||
"msgdata,update_fail_htlc,len,u16,", |
|||
"msgdata,update_fail_htlc,reason,byte,len", |
|||
"msgtype,update_fail_malformed_htlc,135", |
|||
"msgdata,update_fail_malformed_htlc,channel_id,channel_id,", |
|||
"msgdata,update_fail_malformed_htlc,id,u64,", |
|||
"msgdata,update_fail_malformed_htlc,sha256_of_onion,sha256,", |
|||
"msgdata,update_fail_malformed_htlc,failure_code,u16,", |
|||
"msgtype,commitment_signed,132", |
|||
"msgdata,commitment_signed,channel_id,channel_id,", |
|||
"msgdata,commitment_signed,signature,signature,", |
|||
"msgdata,commitment_signed,num_htlcs,u16,", |
|||
"msgdata,commitment_signed,htlc_signature,signature,num_htlcs", |
|||
"msgtype,revoke_and_ack,133", |
|||
"msgdata,revoke_and_ack,channel_id,channel_id,", |
|||
"msgdata,revoke_and_ack,per_commitment_secret,byte,32", |
|||
"msgdata,revoke_and_ack,next_per_commitment_point,point,", |
|||
"msgtype,update_fee,134", |
|||
"msgdata,update_fee,channel_id,channel_id,", |
|||
"msgdata,update_fee,feerate_per_kw,u32,", |
|||
"msgtype,channel_reestablish,136", |
|||
"msgdata,channel_reestablish,channel_id,channel_id,", |
|||
"msgdata,channel_reestablish,next_commitment_number,u64,", |
|||
"msgdata,channel_reestablish,next_revocation_number,u64,", |
|||
"msgdata,channel_reestablish,your_last_per_commitment_secret,byte,32", |
|||
"msgdata,channel_reestablish,my_current_per_commitment_point,point,", |
|||
] |
@ -0,0 +1,7 @@ |
|||
#! /usr/bin/make
|
|||
|
|||
SPECDIR := ../../../../../../../lightning-rfc |
|||
|
|||
csv.py: $(SPECDIR)/04-onion-routing.md Makefile |
|||
SPECNUM=`basename $< | sed 's/-.*//'`; (echo csv = '['; python3 $(SPECDIR)/tools/extract-formats.py $< | sed 's/\(.*\)/ "\1",/'; echo ']') > $@ |
|||
chmod a+x $@ |
@ -0,0 +1,16 @@ |
|||
from .csv import csv |
|||
from .bolt import namespace |
|||
import sys |
|||
|
|||
__version__ = '0.0.1' |
|||
|
|||
__all__ = [ |
|||
'csv', |
|||
'namespace', |
|||
] |
|||
|
|||
mod = sys.modules[__name__] |
|||
for d in namespace.subtypes, namespace.tlvtypes, namespace.messagetypes: |
|||
for name in d: |
|||
setattr(mod, name, d[name]) |
|||
__all__.append(name) |
@ -0,0 +1,5 @@ |
|||
from pyln.proto.message import MessageNamespace |
|||
from .csv import csv |
|||
|
|||
|
|||
namespace = MessageNamespace(csv_lines=csv) |
@ -0,0 +1,55 @@ |
|||
csv = [ |
|||
"tlvtype,tlv_payload,amt_to_forward,2", |
|||
"tlvdata,tlv_payload,amt_to_forward,amt_to_forward,tu64,", |
|||
"tlvtype,tlv_payload,outgoing_cltv_value,4", |
|||
"tlvdata,tlv_payload,outgoing_cltv_value,outgoing_cltv_value,tu32,", |
|||
"tlvtype,tlv_payload,short_channel_id,6", |
|||
"tlvdata,tlv_payload,short_channel_id,short_channel_id,short_channel_id,", |
|||
"tlvtype,tlv_payload,payment_data,8", |
|||
"tlvdata,tlv_payload,payment_data,payment_secret,byte,32", |
|||
"tlvdata,tlv_payload,payment_data,total_msat,tu64,", |
|||
"msgtype,invalid_realm,PERM|1", |
|||
"msgtype,temporary_node_failure,NODE|2", |
|||
"msgtype,permanent_node_failure,PERM|NODE|2", |
|||
"msgtype,required_node_feature_missing,PERM|NODE|3", |
|||
"msgtype,invalid_onion_version,BADONION|PERM|4", |
|||
"msgdata,invalid_onion_version,sha256_of_onion,sha256,", |
|||
"msgtype,invalid_onion_hmac,BADONION|PERM|5", |
|||
"msgdata,invalid_onion_hmac,sha256_of_onion,sha256,", |
|||
"msgtype,invalid_onion_key,BADONION|PERM|6", |
|||
"msgdata,invalid_onion_key,sha256_of_onion,sha256,", |
|||
"msgtype,temporary_channel_failure,UPDATE|7", |
|||
"msgdata,temporary_channel_failure,len,u16,", |
|||
"msgdata,temporary_channel_failure,channel_update,byte,len", |
|||
"msgtype,permanent_channel_failure,PERM|8", |
|||
"msgtype,required_channel_feature_missing,PERM|9", |
|||
"msgtype,unknown_next_peer,PERM|10", |
|||
"msgtype,amount_below_minimum,UPDATE|11", |
|||
"msgdata,amount_below_minimum,htlc_msat,u64,", |
|||
"msgdata,amount_below_minimum,len,u16,", |
|||
"msgdata,amount_below_minimum,channel_update,byte,len", |
|||
"msgtype,fee_insufficient,UPDATE|12", |
|||
"msgdata,fee_insufficient,htlc_msat,u64,", |
|||
"msgdata,fee_insufficient,len,u16,", |
|||
"msgdata,fee_insufficient,channel_update,byte,len", |
|||
"msgtype,incorrect_cltv_expiry,UPDATE|13", |
|||
"msgdata,incorrect_cltv_expiry,cltv_expiry,u32,", |
|||
"msgdata,incorrect_cltv_expiry,len,u16,", |
|||
"msgdata,incorrect_cltv_expiry,channel_update,byte,len", |
|||
"msgtype,expiry_too_soon,UPDATE|14", |
|||
"msgdata,expiry_too_soon,len,u16,", |
|||
"msgdata,expiry_too_soon,channel_update,byte,len", |
|||
"msgtype,incorrect_or_unknown_payment_details,PERM|15", |
|||
"msgdata,incorrect_or_unknown_payment_details,htlc_msat,u64,", |
|||
"msgdata,incorrect_or_unknown_payment_details,height,u32,", |
|||
"msgtype,final_incorrect_cltv_expiry,18", |
|||
"msgdata,final_incorrect_cltv_expiry,cltv_expiry,u32,", |
|||
"msgtype,final_incorrect_htlc_amount,19", |
|||
"msgdata,final_incorrect_htlc_amount,incoming_htlc_amt,u64,", |
|||
"msgtype,channel_disabled,UPDATE|20", |
|||
"msgtype,expiry_too_far,21", |
|||
"msgtype,invalid_onion_payload,PERM|22", |
|||
"msgdata,invalid_onion_payload,type,varint,", |
|||
"msgdata,invalid_onion_payload,offset,u16,", |
|||
"msgtype,mpp_timeout,23", |
|||
] |
@ -0,0 +1,7 @@ |
|||
#! /usr/bin/make
|
|||
|
|||
SPECDIR := ../../../../../../../lightning-rfc |
|||
|
|||
csv.py: $(SPECDIR)/07-routing-gossip.md Makefile |
|||
SPECNUM=`basename $< | sed 's/-.*//'`; (echo csv = '['; python3 $(SPECDIR)/tools/extract-formats.py $< | sed 's/\(.*\)/ "\1",/'; echo ']') > $@ |
|||
chmod a+x $@ |
@ -0,0 +1,16 @@ |
|||
from .csv import csv |
|||
from .bolt import namespace |
|||
import sys |
|||
|
|||
__version__ = '0.0.1' |
|||
|
|||
__all__ = [ |
|||
'csv', |
|||
'namespace', |
|||
] |
|||
|
|||
mod = sys.modules[__name__] |
|||
for d in namespace.subtypes, namespace.tlvtypes, namespace.messagetypes: |
|||
for name in d: |
|||
setattr(mod, name, d[name]) |
|||
__all__.append(name) |
@ -0,0 +1,5 @@ |
|||
from pyln.proto.message import MessageNamespace |
|||
from .csv import csv |
|||
|
|||
|
|||
namespace = MessageNamespace(csv_lines=csv) |
@ -0,0 +1,83 @@ |
|||
csv = [ |
|||
"msgtype,announcement_signatures,259", |
|||
"msgdata,announcement_signatures,channel_id,channel_id,", |
|||
"msgdata,announcement_signatures,short_channel_id,short_channel_id,", |
|||
"msgdata,announcement_signatures,node_signature,signature,", |
|||
"msgdata,announcement_signatures,bitcoin_signature,signature,", |
|||
"msgtype,channel_announcement,256", |
|||
"msgdata,channel_announcement,node_signature_1,signature,", |
|||
"msgdata,channel_announcement,node_signature_2,signature,", |
|||
"msgdata,channel_announcement,bitcoin_signature_1,signature,", |
|||
"msgdata,channel_announcement,bitcoin_signature_2,signature,", |
|||
"msgdata,channel_announcement,len,u16,", |
|||
"msgdata,channel_announcement,features,byte,len", |
|||
"msgdata,channel_announcement,chain_hash,chain_hash,", |
|||
"msgdata,channel_announcement,short_channel_id,short_channel_id,", |
|||
"msgdata,channel_announcement,node_id_1,point,", |
|||
"msgdata,channel_announcement,node_id_2,point,", |
|||
"msgdata,channel_announcement,bitcoin_key_1,point,", |
|||
"msgdata,channel_announcement,bitcoin_key_2,point,", |
|||
"msgtype,node_announcement,257", |
|||
"msgdata,node_announcement,signature,signature,", |
|||
"msgdata,node_announcement,flen,u16,", |
|||
"msgdata,node_announcement,features,byte,flen", |
|||
"msgdata,node_announcement,timestamp,u32,", |
|||
"msgdata,node_announcement,node_id,point,", |
|||
"msgdata,node_announcement,rgb_color,byte,3", |
|||
"msgdata,node_announcement,alias,byte,32", |
|||
"msgdata,node_announcement,addrlen,u16,", |
|||
"msgdata,node_announcement,addresses,byte,addrlen", |
|||
"msgtype,channel_update,258", |
|||
"msgdata,channel_update,signature,signature,", |
|||
"msgdata,channel_update,chain_hash,chain_hash,", |
|||
"msgdata,channel_update,short_channel_id,short_channel_id,", |
|||
"msgdata,channel_update,timestamp,u32,", |
|||
"msgdata,channel_update,message_flags,byte,", |
|||
"msgdata,channel_update,channel_flags,byte,", |
|||
"msgdata,channel_update,cltv_expiry_delta,u16,", |
|||
"msgdata,channel_update,htlc_minimum_msat,u64,", |
|||
"msgdata,channel_update,fee_base_msat,u32,", |
|||
"msgdata,channel_update,fee_proportional_millionths,u32,", |
|||
"msgdata,channel_update,htlc_maximum_msat,u64,,option_channel_htlc_max", |
|||
"msgtype,query_short_channel_ids,261,gossip_queries", |
|||
"msgdata,query_short_channel_ids,chain_hash,chain_hash,", |
|||
"msgdata,query_short_channel_ids,len,u16,", |
|||
"msgdata,query_short_channel_ids,encoded_short_ids,byte,len", |
|||
"msgdata,query_short_channel_ids,tlvs,query_short_channel_ids_tlvs,", |
|||
"tlvtype,query_short_channel_ids_tlvs,query_flags,1", |
|||
"tlvdata,query_short_channel_ids_tlvs,query_flags,encoding_type,u8,", |
|||
"tlvdata,query_short_channel_ids_tlvs,query_flags,encoded_query_flags,byte,...", |
|||
"msgtype,reply_short_channel_ids_end,262,gossip_queries", |
|||
"msgdata,reply_short_channel_ids_end,chain_hash,chain_hash,", |
|||
"msgdata,reply_short_channel_ids_end,full_information,byte,", |
|||
"msgtype,query_channel_range,263,gossip_queries", |
|||
"msgdata,query_channel_range,chain_hash,chain_hash,", |
|||
"msgdata,query_channel_range,first_blocknum,u32,", |
|||
"msgdata,query_channel_range,number_of_blocks,u32,", |
|||
"msgdata,query_channel_range,tlvs,query_channel_range_tlvs,", |
|||
"tlvtype,query_channel_range_tlvs,query_option,1", |
|||
"tlvdata,query_channel_range_tlvs,query_option,query_option_flags,varint,", |
|||
"msgtype,reply_channel_range,264,gossip_queries", |
|||
"msgdata,reply_channel_range,chain_hash,chain_hash,", |
|||
"msgdata,reply_channel_range,first_blocknum,u32,", |
|||
"msgdata,reply_channel_range,number_of_blocks,u32,", |
|||
"msgdata,reply_channel_range,full_information,byte,", |
|||
"msgdata,reply_channel_range,len,u16,", |
|||
"msgdata,reply_channel_range,encoded_short_ids,byte,len", |
|||
"msgdata,reply_channel_range,tlvs,reply_channel_range_tlvs,", |
|||
"tlvtype,reply_channel_range_tlvs,timestamps_tlv,1", |
|||
"tlvdata,reply_channel_range_tlvs,timestamps_tlv,encoding_type,u8,", |
|||
"tlvdata,reply_channel_range_tlvs,timestamps_tlv,encoded_timestamps,byte,...", |
|||
"tlvtype,reply_channel_range_tlvs,checksums_tlv,3", |
|||
"tlvdata,reply_channel_range_tlvs,checksums_tlv,checksums,channel_update_checksums,...", |
|||
"subtype,channel_update_timestamps", |
|||
"subtypedata,channel_update_timestamps,timestamp_node_id_1,u32,", |
|||
"subtypedata,channel_update_timestamps,timestamp_node_id_2,u32,", |
|||
"subtype,channel_update_checksums", |
|||
"subtypedata,channel_update_checksums,checksum_node_id_1,u32,", |
|||
"subtypedata,channel_update_checksums,checksum_node_id_2,u32,", |
|||
"msgtype,gossip_timestamp_filter,265,gossip_queries", |
|||
"msgdata,gossip_timestamp_filter,chain_hash,chain_hash,", |
|||
"msgdata,gossip_timestamp_filter,first_timestamp,u32,", |
|||
"msgdata,gossip_timestamp_filter,timestamp_range,u32,", |
|||
] |
@ -1,14 +0,0 @@ |
|||
#! /usr/bin/make
|
|||
|
|||
SPECDIR := ../../../../../../../lightning-rfc |
|||
|
|||
# Only consider specs which have types in them.
|
|||
SPECS := $(shell fgrep -l '1. type' $(SPECDIR)/[0-9]*.md) |
|||
|
|||
bolts.py: $(SPECS) Makefile |
|||
for f in $(SPECS); do SPECNUM=`basename $$f | sed 's/-.*//'`; echo bolt_$${SPECNUM}_csv = '['; python3 $(SPECDIR)/tools/extract-formats.py $$f | sed 's/\(.*\)/ "\1",/'; echo ']'; done > $@ |
|||
chmod a+x $@ |
|||
|
|||
CSVFILES = $(SPECS:%.md=bolt%.py) |
|||
|
|||
refresh: $(CSVFILES) |
@ -1,10 +0,0 @@ |
|||
from .bolts import bolt_01_csv, bolt_02_csv, bolt_04_csv, bolt_07_csv |
|||
|
|||
__version__ = '0.0.1' |
|||
|
|||
__all__ = [ |
|||
"bolt_01_csv", |
|||
"bolt_02_csv", |
|||
"bolt_04_csv", |
|||
"bolt_07_csv", |
|||
] |
@ -1,273 +0,0 @@ |
|||
bolt_01_csv = [ |
|||
"msgtype,init,16", |
|||
"msgdata,init,gflen,u16,", |
|||
"msgdata,init,globalfeatures,byte,gflen", |
|||
"msgdata,init,flen,u16,", |
|||
"msgdata,init,features,byte,flen", |
|||
"msgdata,init,tlvs,init_tlvs,", |
|||
"tlvtype,init_tlvs,networks,1", |
|||
"tlvdata,init_tlvs,networks,chains,chain_hash,...", |
|||
"msgtype,error,17", |
|||
"msgdata,error,channel_id,channel_id,", |
|||
"msgdata,error,len,u16,", |
|||
"msgdata,error,data,byte,len", |
|||
"msgtype,ping,18", |
|||
"msgdata,ping,num_pong_bytes,u16,", |
|||
"msgdata,ping,byteslen,u16,", |
|||
"msgdata,ping,ignored,byte,byteslen", |
|||
"msgtype,pong,19", |
|||
"msgdata,pong,byteslen,u16,", |
|||
"msgdata,pong,ignored,byte,byteslen", |
|||
"tlvtype,n1,tlv1,1", |
|||
"tlvdata,n1,tlv1,amount_msat,tu64,", |
|||
"tlvtype,n1,tlv2,2", |
|||
"tlvdata,n1,tlv2,scid,short_channel_id,", |
|||
"tlvtype,n1,tlv3,3", |
|||
"tlvdata,n1,tlv3,node_id,point,", |
|||
"tlvdata,n1,tlv3,amount_msat_1,u64,", |
|||
"tlvdata,n1,tlv3,amount_msat_2,u64,", |
|||
"tlvtype,n1,tlv4,254", |
|||
"tlvdata,n1,tlv4,cltv_delta,u16,", |
|||
"tlvtype,n2,tlv1,0", |
|||
"tlvdata,n2,tlv1,amount_msat,tu64,", |
|||
"tlvtype,n2,tlv2,11", |
|||
"tlvdata,n2,tlv2,cltv_expiry,tu32,", |
|||
] |
|||
bolt_02_csv = [ |
|||
"msgtype,open_channel,32", |
|||
"msgdata,open_channel,chain_hash,chain_hash,", |
|||
"msgdata,open_channel,temporary_channel_id,byte,32", |
|||
"msgdata,open_channel,funding_satoshis,u64,", |
|||
"msgdata,open_channel,push_msat,u64,", |
|||
"msgdata,open_channel,dust_limit_satoshis,u64,", |
|||
"msgdata,open_channel,max_htlc_value_in_flight_msat,u64,", |
|||
"msgdata,open_channel,channel_reserve_satoshis,u64,", |
|||
"msgdata,open_channel,htlc_minimum_msat,u64,", |
|||
"msgdata,open_channel,feerate_per_kw,u32,", |
|||
"msgdata,open_channel,to_self_delay,u16,", |
|||
"msgdata,open_channel,max_accepted_htlcs,u16,", |
|||
"msgdata,open_channel,funding_pubkey,point,", |
|||
"msgdata,open_channel,revocation_basepoint,point,", |
|||
"msgdata,open_channel,payment_basepoint,point,", |
|||
"msgdata,open_channel,delayed_payment_basepoint,point,", |
|||
"msgdata,open_channel,htlc_basepoint,point,", |
|||
"msgdata,open_channel,first_per_commitment_point,point,", |
|||
"msgdata,open_channel,channel_flags,byte,", |
|||
"msgdata,open_channel,tlvs,open_channel_tlvs,", |
|||
"tlvtype,open_channel_tlvs,upfront_shutdown_script,0", |
|||
"tlvdata,open_channel_tlvs,upfront_shutdown_script,shutdown_scriptpubkey,byte,...", |
|||
"msgtype,accept_channel,33", |
|||
"msgdata,accept_channel,temporary_channel_id,byte,32", |
|||
"msgdata,accept_channel,dust_limit_satoshis,u64,", |
|||
"msgdata,accept_channel,max_htlc_value_in_flight_msat,u64,", |
|||
"msgdata,accept_channel,channel_reserve_satoshis,u64,", |
|||
"msgdata,accept_channel,htlc_minimum_msat,u64,", |
|||
"msgdata,accept_channel,minimum_depth,u32,", |
|||
"msgdata,accept_channel,to_self_delay,u16,", |
|||
"msgdata,accept_channel,max_accepted_htlcs,u16,", |
|||
"msgdata,accept_channel,funding_pubkey,point,", |
|||
"msgdata,accept_channel,revocation_basepoint,point,", |
|||
"msgdata,accept_channel,payment_basepoint,point,", |
|||
"msgdata,accept_channel,delayed_payment_basepoint,point,", |
|||
"msgdata,accept_channel,htlc_basepoint,point,", |
|||
"msgdata,accept_channel,first_per_commitment_point,point,", |
|||
"msgdata,accept_channel,tlvs,accept_channel_tlvs,", |
|||
"tlvtype,accept_channel_tlvs,upfront_shutdown_script,0", |
|||
"tlvdata,accept_channel_tlvs,upfront_shutdown_script,shutdown_scriptpubkey,byte,...", |
|||
"msgtype,funding_created,34", |
|||
"msgdata,funding_created,temporary_channel_id,byte,32", |
|||
"msgdata,funding_created,funding_txid,sha256,", |
|||
"msgdata,funding_created,funding_output_index,u16,", |
|||
"msgdata,funding_created,signature,signature,", |
|||
"msgtype,funding_signed,35", |
|||
"msgdata,funding_signed,channel_id,channel_id,", |
|||
"msgdata,funding_signed,signature,signature,", |
|||
"msgtype,funding_locked,36", |
|||
"msgdata,funding_locked,channel_id,channel_id,", |
|||
"msgdata,funding_locked,next_per_commitment_point,point,", |
|||
"msgtype,shutdown,38", |
|||
"msgdata,shutdown,channel_id,channel_id,", |
|||
"msgdata,shutdown,len,u16,", |
|||
"msgdata,shutdown,scriptpubkey,byte,len", |
|||
"msgtype,closing_signed,39", |
|||
"msgdata,closing_signed,channel_id,channel_id,", |
|||
"msgdata,closing_signed,fee_satoshis,u64,", |
|||
"msgdata,closing_signed,signature,signature,", |
|||
"msgtype,update_add_htlc,128", |
|||
"msgdata,update_add_htlc,channel_id,channel_id,", |
|||
"msgdata,update_add_htlc,id,u64,", |
|||
"msgdata,update_add_htlc,amount_msat,u64,", |
|||
"msgdata,update_add_htlc,payment_hash,sha256,", |
|||
"msgdata,update_add_htlc,cltv_expiry,u32,", |
|||
"msgdata,update_add_htlc,onion_routing_packet,byte,1366", |
|||
"msgtype,update_fulfill_htlc,130", |
|||
"msgdata,update_fulfill_htlc,channel_id,channel_id,", |
|||
"msgdata,update_fulfill_htlc,id,u64,", |
|||
"msgdata,update_fulfill_htlc,payment_preimage,byte,32", |
|||
"msgtype,update_fail_htlc,131", |
|||
"msgdata,update_fail_htlc,channel_id,channel_id,", |
|||
"msgdata,update_fail_htlc,id,u64,", |
|||
"msgdata,update_fail_htlc,len,u16,", |
|||
"msgdata,update_fail_htlc,reason,byte,len", |
|||
"msgtype,update_fail_malformed_htlc,135", |
|||
"msgdata,update_fail_malformed_htlc,channel_id,channel_id,", |
|||
"msgdata,update_fail_malformed_htlc,id,u64,", |
|||
"msgdata,update_fail_malformed_htlc,sha256_of_onion,sha256,", |
|||
"msgdata,update_fail_malformed_htlc,failure_code,u16,", |
|||
"msgtype,commitment_signed,132", |
|||
"msgdata,commitment_signed,channel_id,channel_id,", |
|||
"msgdata,commitment_signed,signature,signature,", |
|||
"msgdata,commitment_signed,num_htlcs,u16,", |
|||
"msgdata,commitment_signed,htlc_signature,signature,num_htlcs", |
|||
"msgtype,revoke_and_ack,133", |
|||
"msgdata,revoke_and_ack,channel_id,channel_id,", |
|||
"msgdata,revoke_and_ack,per_commitment_secret,byte,32", |
|||
"msgdata,revoke_and_ack,next_per_commitment_point,point,", |
|||
"msgtype,update_fee,134", |
|||
"msgdata,update_fee,channel_id,channel_id,", |
|||
"msgdata,update_fee,feerate_per_kw,u32,", |
|||
"msgtype,channel_reestablish,136", |
|||
"msgdata,channel_reestablish,channel_id,channel_id,", |
|||
"msgdata,channel_reestablish,next_commitment_number,u64,", |
|||
"msgdata,channel_reestablish,next_revocation_number,u64,", |
|||
"msgdata,channel_reestablish,your_last_per_commitment_secret,byte,32", |
|||
"msgdata,channel_reestablish,my_current_per_commitment_point,point,", |
|||
] |
|||
bolt_04_csv = [ |
|||
"tlvtype,tlv_payload,amt_to_forward,2", |
|||
"tlvdata,tlv_payload,amt_to_forward,amt_to_forward,tu64,", |
|||
"tlvtype,tlv_payload,outgoing_cltv_value,4", |
|||
"tlvdata,tlv_payload,outgoing_cltv_value,outgoing_cltv_value,tu32,", |
|||
"tlvtype,tlv_payload,short_channel_id,6", |
|||
"tlvdata,tlv_payload,short_channel_id,short_channel_id,short_channel_id,", |
|||
"tlvtype,tlv_payload,payment_data,8", |
|||
"tlvdata,tlv_payload,payment_data,payment_secret,byte,32", |
|||
"tlvdata,tlv_payload,payment_data,total_msat,tu64,", |
|||
"msgtype,invalid_realm,PERM|1", |
|||
"msgtype,temporary_node_failure,NODE|2", |
|||
"msgtype,permanent_node_failure,PERM|NODE|2", |
|||
"msgtype,required_node_feature_missing,PERM|NODE|3", |
|||
"msgtype,invalid_onion_version,BADONION|PERM|4", |
|||
"msgdata,invalid_onion_version,sha256_of_onion,sha256,", |
|||
"msgtype,invalid_onion_hmac,BADONION|PERM|5", |
|||
"msgdata,invalid_onion_hmac,sha256_of_onion,sha256,", |
|||
"msgtype,invalid_onion_key,BADONION|PERM|6", |
|||
"msgdata,invalid_onion_key,sha256_of_onion,sha256,", |
|||
"msgtype,temporary_channel_failure,UPDATE|7", |
|||
"msgdata,temporary_channel_failure,len,u16,", |
|||
"msgdata,temporary_channel_failure,channel_update,byte,len", |
|||
"msgtype,permanent_channel_failure,PERM|8", |
|||
"msgtype,required_channel_feature_missing,PERM|9", |
|||
"msgtype,unknown_next_peer,PERM|10", |
|||
"msgtype,amount_below_minimum,UPDATE|11", |
|||
"msgdata,amount_below_minimum,htlc_msat,u64,", |
|||
"msgdata,amount_below_minimum,len,u16,", |
|||
"msgdata,amount_below_minimum,channel_update,byte,len", |
|||
"msgtype,fee_insufficient,UPDATE|12", |
|||
"msgdata,fee_insufficient,htlc_msat,u64,", |
|||
"msgdata,fee_insufficient,len,u16,", |
|||
"msgdata,fee_insufficient,channel_update,byte,len", |
|||
"msgtype,incorrect_cltv_expiry,UPDATE|13", |
|||
"msgdata,incorrect_cltv_expiry,cltv_expiry,u32,", |
|||
"msgdata,incorrect_cltv_expiry,len,u16,", |
|||
"msgdata,incorrect_cltv_expiry,channel_update,byte,len", |
|||
"msgtype,expiry_too_soon,UPDATE|14", |
|||
"msgdata,expiry_too_soon,len,u16,", |
|||
"msgdata,expiry_too_soon,channel_update,byte,len", |
|||
"msgtype,incorrect_or_unknown_payment_details,PERM|15", |
|||
"msgdata,incorrect_or_unknown_payment_details,htlc_msat,u64,", |
|||
"msgdata,incorrect_or_unknown_payment_details,height,u32,", |
|||
"msgtype,final_incorrect_cltv_expiry,18", |
|||
"msgdata,final_incorrect_cltv_expiry,cltv_expiry,u32,", |
|||
"msgtype,final_incorrect_htlc_amount,19", |
|||
"msgdata,final_incorrect_htlc_amount,incoming_htlc_amt,u64,", |
|||
"msgtype,channel_disabled,UPDATE|20", |
|||
"msgtype,expiry_too_far,21", |
|||
"msgtype,invalid_onion_payload,PERM|22", |
|||
"msgdata,invalid_onion_payload,type,varint,", |
|||
"msgdata,invalid_onion_payload,offset,u16,", |
|||
"msgtype,mpp_timeout,23", |
|||
] |
|||
bolt_07_csv = [ |
|||
"msgtype,announcement_signatures,259", |
|||
"msgdata,announcement_signatures,channel_id,channel_id,", |
|||
"msgdata,announcement_signatures,short_channel_id,short_channel_id,", |
|||
"msgdata,announcement_signatures,node_signature,signature,", |
|||
"msgdata,announcement_signatures,bitcoin_signature,signature,", |
|||
"msgtype,channel_announcement,256", |
|||
"msgdata,channel_announcement,node_signature_1,signature,", |
|||
"msgdata,channel_announcement,node_signature_2,signature,", |
|||
"msgdata,channel_announcement,bitcoin_signature_1,signature,", |
|||
"msgdata,channel_announcement,bitcoin_signature_2,signature,", |
|||
"msgdata,channel_announcement,len,u16,", |
|||
"msgdata,channel_announcement,features,byte,len", |
|||
"msgdata,channel_announcement,chain_hash,chain_hash,", |
|||
"msgdata,channel_announcement,short_channel_id,short_channel_id,", |
|||
"msgdata,channel_announcement,node_id_1,point,", |
|||
"msgdata,channel_announcement,node_id_2,point,", |
|||
"msgdata,channel_announcement,bitcoin_key_1,point,", |
|||
"msgdata,channel_announcement,bitcoin_key_2,point,", |
|||
"msgtype,node_announcement,257", |
|||
"msgdata,node_announcement,signature,signature,", |
|||
"msgdata,node_announcement,flen,u16,", |
|||
"msgdata,node_announcement,features,byte,flen", |
|||
"msgdata,node_announcement,timestamp,u32,", |
|||
"msgdata,node_announcement,node_id,point,", |
|||
"msgdata,node_announcement,rgb_color,byte,3", |
|||
"msgdata,node_announcement,alias,byte,32", |
|||
"msgdata,node_announcement,addrlen,u16,", |
|||
"msgdata,node_announcement,addresses,byte,addrlen", |
|||
"msgtype,channel_update,258", |
|||
"msgdata,channel_update,signature,signature,", |
|||
"msgdata,channel_update,chain_hash,chain_hash,", |
|||
"msgdata,channel_update,short_channel_id,short_channel_id,", |
|||
"msgdata,channel_update,timestamp,u32,", |
|||
"msgdata,channel_update,message_flags,byte,", |
|||
"msgdata,channel_update,channel_flags,byte,", |
|||
"msgdata,channel_update,cltv_expiry_delta,u16,", |
|||
"msgdata,channel_update,htlc_minimum_msat,u64,", |
|||
"msgdata,channel_update,fee_base_msat,u32,", |
|||
"msgdata,channel_update,fee_proportional_millionths,u32,", |
|||
"msgdata,channel_update,htlc_maximum_msat,u64,,option_channel_htlc_max", |
|||
"msgtype,query_short_channel_ids,261,gossip_queries", |
|||
"msgdata,query_short_channel_ids,chain_hash,chain_hash,", |
|||
"msgdata,query_short_channel_ids,len,u16,", |
|||
"msgdata,query_short_channel_ids,encoded_short_ids,byte,len", |
|||
"msgdata,query_short_channel_ids,tlvs,query_short_channel_ids_tlvs,", |
|||
"tlvtype,query_short_channel_ids_tlvs,query_flags,1", |
|||
"tlvdata,query_short_channel_ids_tlvs,query_flags,encoding_type,u8,", |
|||
"tlvdata,query_short_channel_ids_tlvs,query_flags,encoded_query_flags,byte,...", |
|||
"msgtype,reply_short_channel_ids_end,262,gossip_queries", |
|||
"msgdata,reply_short_channel_ids_end,chain_hash,chain_hash,", |
|||
"msgdata,reply_short_channel_ids_end,full_information,byte,", |
|||
"msgtype,query_channel_range,263,gossip_queries", |
|||
"msgdata,query_channel_range,chain_hash,chain_hash,", |
|||
"msgdata,query_channel_range,first_blocknum,u32,", |
|||
"msgdata,query_channel_range,number_of_blocks,u32,", |
|||
"msgdata,query_channel_range,tlvs,query_channel_range_tlvs,", |
|||
"tlvtype,query_channel_range_tlvs,query_option,1", |
|||
"tlvdata,query_channel_range_tlvs,query_option,query_option_flags,varint,", |
|||
"msgtype,reply_channel_range,264,gossip_queries", |
|||
"msgdata,reply_channel_range,chain_hash,chain_hash,", |
|||
"msgdata,reply_channel_range,first_blocknum,u32,", |
|||
"msgdata,reply_channel_range,number_of_blocks,u32,", |
|||
"msgdata,reply_channel_range,full_information,byte,", |
|||
"msgdata,reply_channel_range,len,u16,", |
|||
"msgdata,reply_channel_range,encoded_short_ids,byte,len", |
|||
"msgdata,reply_channel_range,tlvs,reply_channel_range_tlvs,", |
|||
"tlvtype,reply_channel_range_tlvs,timestamps_tlv,1", |
|||
"tlvdata,reply_channel_range_tlvs,timestamps_tlv,encoding_type,u8,", |
|||
"tlvdata,reply_channel_range_tlvs,timestamps_tlv,encoded_timestamps,byte,...", |
|||
"tlvtype,reply_channel_range_tlvs,checksums_tlv,3", |
|||
"tlvdata,reply_channel_range_tlvs,checksums_tlv,checksums,channel_update_checksums,...", |
|||
"subtype,channel_update_timestamps", |
|||
"subtypedata,channel_update_timestamps,timestamp_node_id_1,u32,", |
|||
"subtypedata,channel_update_timestamps,timestamp_node_id_2,u32,", |
|||
"subtype,channel_update_checksums", |
|||
"subtypedata,channel_update_checksums,checksum_node_id_1,u32,", |
|||
"subtypedata,channel_update_checksums,checksum_node_id_2,u32,", |
|||
"msgtype,gossip_timestamp_filter,265,gossip_queries", |
|||
"msgdata,gossip_timestamp_filter,chain_hash,chain_hash,", |
|||
"msgdata,gossip_timestamp_filter,first_timestamp,u32,", |
|||
"msgdata,gossip_timestamp_filter,timestamp_range,u32,", |
|||
] |
@ -0,0 +1,8 @@ |
|||
#! /usr/bin/python3 |
|||
from pyln.proto.message import MessageNamespace |
|||
import pyln.proto.message.bolt2 as bolt2 |
|||
|
|||
|
|||
# FIXME: more tests |
|||
def test_bolt_02_csv(): |
|||
MessageNamespace(bolt2.csv) |
@ -0,0 +1,8 @@ |
|||
#! /usr/bin/python3 |
|||
from pyln.proto.message import MessageNamespace |
|||
import pyln.proto.message.bolt4 as bolt4 |
|||
|
|||
|
|||
# FIXME: more tests |
|||
def test_bolt_04_csv(): |
|||
MessageNamespace(bolt4.csv) |
@ -0,0 +1,14 @@ |
|||
#! /usr/bin/python3 |
|||
from pyln.proto.message import MessageNamespace |
|||
import pyln.proto.message.bolt7 as bolt7 |
|||
|
|||
|
|||
# FIXME: more tests |
|||
def test_bolt_07_csv(): |
|||
MessageNamespace(bolt7.csv) |
|||
|
|||
|
|||
def test_bolt_07_subtypes(): |
|||
for t in ['{timestamp_node_id_1=1,timestamp_node_id_2=2}']: |
|||
vals, _ = bolt7.channel_update_timestamps.val_from_str(t) |
|||
assert bolt7.channel_update_timestamps.val_to_str(vals, None) == t |
Loading…
Reference in new issue