bolt3

Lightning transaction and script formats, per BOLT #3 (docs.ppad.tech/bolt3).
git clone git://git.ppad.tech/bolt3.git
Log | Files | Refs | README | LICENSE

commit 8abc27c8bbdffa9ff72b3d6ac3471992b50e08e8
parent ae6fd0c6910f5d0d4a572a6216acf46179b6ac2b
Author: Jared Tobin <jared@jtobin.io>
Date:   Sat, 10 Oct 2026 14:53:34 +0400

meta: version 0.1.0, update CLAUDE.md and AGENTS.md

Diffstat:
MAGENTS.md | 14+++++++++-----
MCLAUDE.md | 14+++++++++-----
Mppad-bolt3.cabal | 6+++---
3 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/AGENTS.md b/AGENTS.md @@ -3,13 +3,16 @@ Haskell implementation of BOLT #3 (Lightning Network transactions). Specification: https://github.com/lightning/bolts/blob/master/03-transactions.md +(implemented as of lightning/bolts@1aadb719; copy in `etc/03-transactions.md`). ## Project Structure -- `lib/` - library source (Lightning.Protocol.BOLT3) -- `test/` - tests (tasty + tasty-hunit) +- `lib/` - library source (public API: Lightning.Protocol.BOLT3; + submodules are internal) +- `test/` - tests (tasty, tasty-hunit, tasty-quickcheck), public API only; + spec vectors in `test/Vectors.hs` - `bench/` - benchmarks (criterion for timing, weigh for allocations) -- `etc/` - reference materials (BOLT spec) +- `etc/` - reference materials (BOLT spec, pinned upstream commit) - `flake.nix` - nix flake for dependency and build management - `ppad-bolt3.cabal` - cabal package definition - `CLAUDE.md` / `AGENTS.md` - keep these in sync @@ -38,6 +41,9 @@ Use ppad libraries (github.com/ppad-tech, git.ppad.tech) liberally. Use only minimal external dependencies. Prefer GHC's core/boot libraries (base, bytestring, primitive, etc.). +Current dependencies: ppad-bolt1, ppad-ripemd160, ppad-secp256k1, +ppad-sha256, ppad-tx. + **Ask for explicit confirmation before adding any library outside of:** - GHC boot/core libraries - ppad-* libraries @@ -139,6 +145,4 @@ When planning work: The flake.nix follows ppad conventions: - Uses ppad-nixpkgs as base - Follows references to avoid duplication -- Supports LLVM backend via cabal flag - Provides devShell with ghc, cabal, cc, llvm - diff --git a/CLAUDE.md b/CLAUDE.md @@ -3,13 +3,16 @@ Haskell implementation of BOLT #3 (Lightning Network transactions). Specification: https://github.com/lightning/bolts/blob/master/03-transactions.md +(implemented as of lightning/bolts@1aadb719; copy in `etc/03-transactions.md`). ## Project Structure -- `lib/` - library source (Lightning.Protocol.BOLT3) -- `test/` - tests (tasty + tasty-hunit) +- `lib/` - library source (public API: Lightning.Protocol.BOLT3; + submodules are internal) +- `test/` - tests (tasty, tasty-hunit, tasty-quickcheck), public API only; + spec vectors in `test/Vectors.hs` - `bench/` - benchmarks (criterion for timing, weigh for allocations) -- `etc/` - reference materials (BOLT spec) +- `etc/` - reference materials (BOLT spec, pinned upstream commit) - `flake.nix` - nix flake for dependency and build management - `ppad-bolt3.cabal` - cabal package definition - `CLAUDE.md` / `AGENTS.md` - keep these in sync @@ -38,6 +41,9 @@ Use ppad libraries (github.com/ppad-tech, git.ppad.tech) liberally. Use only minimal external dependencies. Prefer GHC's core/boot libraries (base, bytestring, primitive, etc.). +Current dependencies: ppad-bolt1, ppad-ripemd160, ppad-secp256k1, +ppad-sha256, ppad-tx. + **Ask for explicit confirmation before adding any library outside of:** - GHC boot/core libraries - ppad-* libraries @@ -139,6 +145,4 @@ When planning work: The flake.nix follows ppad conventions: - Uses ppad-nixpkgs as base - Follows references to avoid duplication -- Supports LLVM backend via cabal flag - Provides devShell with ghc, cabal, cc, llvm - diff --git a/ppad-bolt3.cabal b/ppad-bolt3.cabal @@ -1,6 +1,6 @@ cabal-version: 3.0 name: ppad-bolt3 -version: 0.0.1 +version: 0.1.0 synopsis: Bitcoin transaction formats per BOLT #3 license: MIT license-file: LICENSE @@ -8,10 +8,10 @@ author: Jared Tobin maintainer: jared@ppad.tech category: Cryptography build-type: Simple -tested-with: GHC == 9.10.3 +tested-with: GHC == { 9.10.3 } extra-doc-files: CHANGELOG description: - Bitcoin transaction formats for the Lightning Network, per + Bitcoin transaction and script formats for the Lightning Network, per [BOLT #3](https://github.com/lightning/bolts/blob/master/03-transactions.md). source-repository head