< Summary - Combined Code Coverage

Information
Class: NLightning.Infrastructure.Bitcoin.Transactions.BaseHtlcTransaction
Assembly: NLightning.Infrastructure.Bitcoin
File(s): /home/runner/work/nlightning/nlightning/src/NLightning.Infrastructure.Bitcoin/Transactions/BaseHtlcTransaction.cs
Tag: 30_15166811759
Line coverage
0%
Covered lines: 0
Uncovered lines: 17
Coverable lines: 17
Total lines: 43
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 2
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_HtlcResolutionOutput()100%210%
.ctor(...)0%620%
ConstructTransaction(...)100%210%
AppendRemoteSignatureAndSign(...)100%210%

File(s)

/home/runner/work/nlightning/nlightning/src/NLightning.Infrastructure.Bitcoin/Transactions/BaseHtlcTransaction.cs

#LineLine coverage
 1using NBitcoin;
 2using NBitcoin.Crypto;
 3
 4namespace NLightning.Infrastructure.Bitcoin.Transactions;
 5
 6using Domain.Money;
 7using Domain.Protocol.Constants;
 8using Outputs;
 9
 10public abstract class BaseHtlcTransaction : BaseTransaction
 11{
 012    public HtlcResolutionOutput HtlcResolutionOutput { get; }
 13
 14    protected BaseHtlcTransaction(bool hasAnchorOutputs, Network network, BaseHtlcOutput htlcOutput, PubKey revocationPu
 15                                  PubKey localDelayedPubKey, ulong toSelfDelay, ulong amountMilliSats)
 016        : base(hasAnchorOutputs, network, TransactionConstants.HTLC_TRANSACTION_VERSION,
 017               hasAnchorOutputs
 018                   ? SigHash.Single | SigHash.AnyoneCanPay
 019                   : SigHash.All,
 020               (htlcOutput.ToCoin(), new Sequence(hasAnchorOutputs ? 1 : 0)))
 21    {
 022        HtlcResolutionOutput = new HtlcResolutionOutput(revocationPubKey, localDelayedPubKey, toSelfDelay, amountMilliSa
 023    }
 24
 25    internal override void ConstructTransaction(LightningMoney currentFeePerKw)
 26    {
 27        // Calculate transaction fee
 028        CalculateTransactionFee(currentFeePerKw);
 29
 030        HtlcResolutionOutput.Amount -= CalculatedFee;
 31
 032        AddOrderedOutputsToTransaction();
 33
 034        HtlcResolutionOutput.TxId = TxId;
 035        HtlcResolutionOutput.Index = 0;
 036    }
 37
 38    public void AppendRemoteSignatureAndSign(ECDSASignature remoteSignature, PubKey remotePubKey)
 39    {
 040        AppendRemoteSignatureToTransaction(new TransactionSignature(remoteSignature), remotePubKey);
 041        SignTransactionWithExistingKeys();
 042    }
 43}