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:
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