bolt8

Encrypted and authenticated transport, per BOLT #8 (docs.ppad.tech/bolt8).
git clone git://git.ppad.tech/bolt8.git
Log | Files | Refs | README | LICENSE

commit c390306df8ac5eab77f9bf0713d437a25106fcbc
parent 5438496f5e754c96e413b8529c0ac29d1dc4cf3d
Author: Jared Tobin <jared@jtobin.io>
Date:   Sat, 10 Oct 2026 13:39:20 +0400

meta: update CLAUDE.md and AGENTS.md

Diffstat:
MAGENTS.md | 7++++---
MCLAUDE.md | 7++++---
2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/AGENTS.md b/AGENTS.md @@ -3,11 +3,12 @@ Haskell implementation of BOLT #8 (Lightning Network encrypted transport). Specification: https://github.com/lightning/bolts/blob/master/08-transport.md +(implemented as of lightning/bolts@1aadb719; copy in `etc/08-transport.md`). ## Project Structure -- `lib/` - library source (Lightning.Protocol.BOLT8) -- `test/` - tests (tasty + tasty-hunit) +- `lib/` - library source (Lightning.Protocol.BOLT8, the only module) +- `test/` - tests (tasty, tasty-hunit, tasty-quickcheck), public API only - `bench/` - benchmarks (criterion for timing, weigh for allocations) - `flake.nix` - nix flake for dependency and build management - `ppad-bolt8.cabal` - cabal package definition @@ -59,7 +60,7 @@ Use only minimal external dependencies. Prefer GHC's core/boot libraries ### Type safety - Encode invariants into the type system -- Use newtypes liberally (e.g., Sec, Pub, Session) +- Use newtypes liberally (e.g., Pub, Sender, Receiver) - Use ADTs to make illegal states unrepresentable - Prefer smart constructors that validate inputs diff --git a/CLAUDE.md b/CLAUDE.md @@ -3,11 +3,12 @@ Haskell implementation of BOLT #8 (Lightning Network encrypted transport). Specification: https://github.com/lightning/bolts/blob/master/08-transport.md +(implemented as of lightning/bolts@1aadb719; copy in `etc/08-transport.md`). ## Project Structure -- `lib/` - library source (Lightning.Protocol.BOLT8) -- `test/` - tests (tasty + tasty-hunit) +- `lib/` - library source (Lightning.Protocol.BOLT8, the only module) +- `test/` - tests (tasty, tasty-hunit, tasty-quickcheck), public API only - `bench/` - benchmarks (criterion for timing, weigh for allocations) - `flake.nix` - nix flake for dependency and build management - `ppad-bolt8.cabal` - cabal package definition @@ -59,7 +60,7 @@ Use only minimal external dependencies. Prefer GHC's core/boot libraries ### Type safety - Encode invariants into the type system -- Use newtypes liberally (e.g., Sec, Pub, Session) +- Use newtypes liberally (e.g., Pub, Sender, Receiver) - Use ADTs to make illegal states unrepresentable - Prefer smart constructors that validate inputs