bolt5

On-chain transaction handling for Lightning (docs.ppad.tech/bolt5).
git clone git://git.ppad.tech/bolt5.git
Log | Files | Refs | README | LICENSE

commit 511c35774810821a4edade9eda1720f82f25ce08
parent bed23d8069d89e15e2497fd52905f24a11029c50
Author: Jared Tobin <jared@jtobin.io>
Date:   Sun, 19 Apr 2026 11:45:56 +0800

test, bench: adapt to NonEmpty PenaltyContext change

Diffstat:
Mbench/Main.hs | 14+++++++-------
Mbench/Weight.hs | 14+++++++-------
Mtest/Main.hs | 4++--
3 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/bench/Main.hs b/bench/Main.hs @@ -8,6 +8,7 @@ import Bitcoin.Prim.Tx.Sighash (SighashType(..)) import Control.DeepSeq (NFData(..)) import Criterion.Main import qualified Data.ByteString as BS +import qualified Data.List.NonEmpty as NE import Lightning.Protocol.BOLT3 hiding (txout_value, txout_script) import qualified Lightning.Protocol.BOLT5 as B5 @@ -117,14 +118,13 @@ dummyFeerate = FeeratePerKw 253 dummyDelay :: ToSelfDelay dummyDelay = ToSelfDelay 144 -mkRevokedOutputs :: Int -> [B5.UnresolvedOutput] +mkRevokedOutputs :: Int -> NE.NonEmpty B5.UnresolvedOutput mkRevokedOutputs n = - [ B5.UnresolvedOutput - (OutPoint dummyTxId (fromIntegral i)) - (Satoshi 10000) - (B5.Revoke dummyRevPk) - | i <- [0..n-1] - ] + let uo i = B5.UnresolvedOutput + (OutPoint dummyTxId (fromIntegral i)) + (Satoshi 10000) + (B5.Revoke dummyRevPk) + in uo 0 NE.:| [ uo i | i <- [1..n-1] ] -- benchmarks --------------------------------------------------------- diff --git a/bench/Weight.hs b/bench/Weight.hs @@ -8,6 +8,7 @@ module Main where import Bitcoin.Prim.Tx.Sighash (SighashType(..)) import Control.DeepSeq (NFData(..)) import qualified Data.ByteString as BS +import qualified Data.List.NonEmpty as NE import Lightning.Protocol.BOLT3 hiding (txout_value, txout_script) import qualified Lightning.Protocol.BOLT5 as B5 @@ -101,14 +102,13 @@ dummyFeerate = FeeratePerKw 253 dummyDelay :: ToSelfDelay dummyDelay = ToSelfDelay 144 -mkRevokedOutputs :: Int -> [B5.UnresolvedOutput] +mkRevokedOutputs :: Int -> NE.NonEmpty B5.UnresolvedOutput mkRevokedOutputs n = - [ B5.UnresolvedOutput - (OutPoint dummyTxId (fromIntegral i)) - (Satoshi 10000) - (B5.Revoke dummyRevPk) - | i <- [0..n-1] - ] + let uo i = B5.UnresolvedOutput + (OutPoint dummyTxId (fromIntegral i)) + (Satoshi 10000) + (B5.Revoke dummyRevPk) + in uo 0 NE.:| [ uo i | i <- [1..n-1] ] -- weights ------------------------------------------------------------ diff --git a/test/Main.hs b/test/Main.hs @@ -3,7 +3,7 @@ module Main where -import Bitcoin.Prim.Tx (Tx(..), TxIn(..), TxOut(..)) +import Bitcoin.Prim.Tx (TxOut(..)) import Bitcoin.Prim.Tx.Sighash (SighashType(..)) import qualified Data.ByteString as BS import Data.List.NonEmpty (NonEmpty(..)) @@ -297,7 +297,7 @@ spend_tests = testGroup "Spend" [ uo2 = B5.UnresolvedOutput op2 (Satoshi 30000) (B5.Revoke dummyRevocationPubkey) pctx = B5.PenaltyContext - { B5.pc_outputs = [uo1, uo2] + { B5.pc_outputs = uo1 :| [uo2] , B5.pc_revocation_key = dummyRevocationPubkey , B5.pc_destination = dummyDestScript