bolt7

Routing gossip protocol, per BOLT #7 (docs.ppad.tech/bolt7).
git clone git://git.ppad.tech/bolt7.git
Log | Files | Refs | README | LICENSE

CHANGELOG (1729B)


      1 # Changelog
      2 
      3 - 0.1.1 (2026-10-31)
      4   * Merely bumps the ppad-secp256k1 dependency, to 0.5.9.
      5 
      6 - 0.1.0 (2026-10-10)
      7   * A substantial rewrite, with breaking changes throughout:
      8 
      9     * The API is exported from Lightning.Protocol.BOLT7 alone, and uses
     10       snake_case names (e.g. decode_channel_update, cu_timestamp).
     11 
     12     * Fundamental types come from ppad-bolt1 0.1 (Point, ShortChannelId,
     13       MilliSatoshi, TLV streams) and feature vectors from ppad-bolt9.
     14       The local NodeId, FeatureBits, routing-parameter newtypes,
     15       mainnetChainHash and length constants are gone.
     16 
     17     * Decoders take a whole payload and keep every byte: unassigned
     18       flag bits, unknown address descriptors and extension TLV records.
     19       Encoding a decoded message reproduces it, so its signatures still
     20       verify. channel_update models message_flags (must_be_one,
     21       dont_forward) and channel_flags (direction, disable).
     22 
     23     * Query messages have typed short channel id lists, query_flags,
     24       query_option, timestamps and checksums.
     25 
     26     * Signature digests and checksums take typed messages. Adds
     27       signature verification (via ppad-secp256k1), a message
     28       dispatcher, and usable_addresses for the receiver's address
     29       rules.
     30 
     31   * Fixes: htlc_maximum_msat is mandatory; node_announcement accepts
     32     unknown and deprecated address descriptors; malformed query TLV
     33     streams, unknown even TLV types and the deprecated zlib encoding are
     34     rejected; u16 length prefixes no longer wrap; validation no longer
     35     accepts undecodable data or claims to check feature bits.
     36 
     37   * Tests cover the BOLT #7 extended-queries vectors and real mainnet
     38     gossip, with signature checks.
     39 
     40 - 0.0.1 (2026-04-18)
     41   * Initial release.