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 cc34fa203eb7ae9aaec148a6d5752e9d07f596c9
parent 7be7bbb7e4903df525c62baa2bc5ece23701f337
Author: Jared Tobin <jared@jtobin.io>
Date:   Sun, 19 Apr 2026 12:13:17 +0800

lib: add ppad-bolt1 dependency

Wire ppad-bolt1 into the flake and cabal file to enable importing
shared Lightning types from BOLT1.Prim.

Diffstat:
Mflake.lock | 81++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
Mflake.nix | 12++++++++++--
Mppad-bolt3.cabal | 1+
3 files changed, 85 insertions(+), 9 deletions(-)

diff --git a/flake.lock b/flake.lock @@ -37,6 +37,40 @@ "ppad-base16": { "inputs": { "flake-utils": [ + "ppad-bolt1", + "ppad-base16", + "ppad-nixpkgs", + "flake-utils" + ], + "nixpkgs": [ + "ppad-bolt1", + "ppad-base16", + "ppad-nixpkgs", + "nixpkgs" + ], + "ppad-nixpkgs": [ + "ppad-bolt1", + "ppad-nixpkgs" + ] + }, + "locked": { + "lastModified": 1766934151, + "narHash": "sha256-BUFpuLfrGXE2xi3Wa9TYCEhhRhFp175Ghxnr0JRbG2I=", + "ref": "master", + "rev": "58dfb7922401a60d5de76825fcd5f6ecbcd7afe0", + "revCount": 26, + "type": "git", + "url": "git://git.ppad.tech/base16.git" + }, + "original": { + "ref": "master", + "type": "git", + "url": "git://git.ppad.tech/base16.git" + } + }, + "ppad-base16_2": { + "inputs": { + "flake-utils": [ "ppad-ripemd160", "ppad-base16", "ppad-nixpkgs", @@ -68,7 +102,7 @@ "url": "git://git.ppad.tech/base16.git" } }, - "ppad-base16_2": { + "ppad-base16_3": { "inputs": { "flake-utils": [ "ppad-secp256k1", @@ -102,7 +136,7 @@ "url": "git://git.ppad.tech/base16.git" } }, - "ppad-base16_3": { + "ppad-base16_4": { "inputs": { "flake-utils": [ "ppad-sha256", @@ -136,7 +170,7 @@ "url": "git://git.ppad.tech/base16.git" } }, - "ppad-base16_4": { + "ppad-base16_5": { "inputs": { "flake-utils": [ "ppad-tx", @@ -170,6 +204,38 @@ "url": "git://git.ppad.tech/base16.git" } }, + "ppad-bolt1": { + "inputs": { + "flake-utils": [ + "ppad-bolt1", + "ppad-nixpkgs", + "flake-utils" + ], + "nixpkgs": [ + "ppad-bolt1", + "ppad-nixpkgs", + "nixpkgs" + ], + "ppad-base16": "ppad-base16", + "ppad-nixpkgs": [ + "ppad-nixpkgs" + ] + }, + "locked": { + "lastModified": 1776570879, + "narHash": "sha256-XsgGBvYWL+sD7pDZoPPi4l39DE7GH7maNnhm8iUeB/E=", + "ref": "master", + "rev": "20ea43188d781368e5e64c7c646285a6b0aaeb94", + "revCount": 27, + "type": "git", + "url": "git://git.ppad.tech/bolt1.git" + }, + "original": { + "ref": "master", + "type": "git", + "url": "git://git.ppad.tech/bolt1.git" + } + }, "ppad-fixed": { "inputs": { "flake-utils": [ @@ -281,7 +347,7 @@ "ppad-nixpkgs", "nixpkgs" ], - "ppad-base16": "ppad-base16", + "ppad-base16": "ppad-base16_2", "ppad-nixpkgs": [ "ppad-nixpkgs" ] @@ -313,7 +379,7 @@ "ppad-nixpkgs", "nixpkgs" ], - "ppad-base16": "ppad-base16_2", + "ppad-base16": "ppad-base16_3", "ppad-fixed": "ppad-fixed", "ppad-hmac-drbg": "ppad-hmac-drbg", "ppad-nixpkgs": [ @@ -351,7 +417,7 @@ "ppad-nixpkgs", "nixpkgs" ], - "ppad-base16": "ppad-base16_3", + "ppad-base16": "ppad-base16_4", "ppad-nixpkgs": [ "ppad-nixpkgs" ] @@ -421,7 +487,7 @@ "ppad-nixpkgs", "nixpkgs" ], - "ppad-base16": "ppad-base16_4", + "ppad-base16": "ppad-base16_5", "ppad-nixpkgs": [ "ppad-nixpkgs" ], @@ -454,6 +520,7 @@ "ppad-nixpkgs", "nixpkgs" ], + "ppad-bolt1": "ppad-bolt1", "ppad-nixpkgs": "ppad-nixpkgs", "ppad-ripemd160": "ppad-ripemd160", "ppad-secp256k1": "ppad-secp256k1", diff --git a/flake.nix b/flake.nix @@ -7,6 +7,12 @@ url = "git://git.ppad.tech/nixpkgs.git"; ref = "master"; }; + ppad-bolt1 = { + type = "git"; + url = "git://git.ppad.tech/bolt1.git"; + ref = "master"; + inputs.ppad-nixpkgs.follows = "ppad-nixpkgs"; + }; ppad-sha256 = { type = "git"; url = "git://git.ppad.tech/sha256.git"; @@ -38,8 +44,8 @@ }; outputs = { self, nixpkgs, flake-utils, ppad-nixpkgs - , ppad-sha256, ppad-secp256k1, ppad-ripemd160 - , ppad-tx }: + , ppad-bolt1, ppad-sha256, ppad-secp256k1 + , ppad-ripemd160, ppad-tx }: flake-utils.lib.eachDefaultSystem (system: let lib = "ppad-bolt3"; @@ -67,9 +73,11 @@ (hlib.enableCabalFlag ripemd160 "llvm") [ llvm clang ]; + bolt1 = ppad-bolt1.packages.${system}.default; tx = ppad-tx.packages.${system}.default; hpkgs = pkgs.haskell.packages.ghc910.extend (new: old: { + ppad-bolt1 = bolt1; ppad-sha256 = sha256-llvm; ppad-secp256k1 = secp256k1-llvm; ppad-ripemd160 = ripemd160-llvm; diff --git a/ppad-bolt3.cabal b/ppad-bolt3.cabal @@ -35,6 +35,7 @@ library build-depends: base >= 4.9 && < 5 , bytestring >= 0.9 && < 0.13 + , ppad-bolt1 >= 0.0.1 && < 0.1 , ppad-ripemd160 >= 0.1.4 && < 0.2 , ppad-secp256k1 >= 0.5.4 && < 0.6 , ppad-sha256 >= 0.3.2 && < 0.4