< Summary - Combined Code Coverage

Information
Class: NLightning.Domain.Channels.Validators.Parameters.ChannelOpenMandatoryValidationParameters
Assembly: NLightning.Domain
File(s): /home/runner/work/NLightning/NLightning/src/NLightning.Domain/Channels/Validators/Parameters/ChannelOpenMandatoryValidationParameters.cs
Tag: 57_24045730253
Line coverage
0%
Covered lines: 0
Uncovered lines: 37
Coverable lines: 37
Total lines: 61
Line coverage: 0%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

File(s)

/home/runner/work/NLightning/NLightning/src/NLightning.Domain/Channels/Validators/Parameters/ChannelOpenMandatoryValidationParameters.cs

#LineLine coverage
 1namespace NLightning.Domain.Channels.Validators.Parameters;
 2
 3using Money;
 4using Node.Options;
 5using Protocol.Payloads;
 6using Protocol.Tlv;
 7using Protocol.ValueObjects;
 8using ValueObjects;
 9
 10public sealed class ChannelOpenMandatoryValidationParameters
 11{
 012    public ChannelTypeTlv? ChannelTypeTlv { get; init; }
 013    public required LightningMoney CurrentFeeRatePerKw { get; init; }
 014    public required FeatureOptions NegotiatedFeatures { get; init; }
 015    public ChainHash? ChainHash { get; init; }
 016    public LightningMoney? PushAmount { get; init; }
 017    public LightningMoney? FundingAmount { get; init; }
 018    public ushort ToSelfDelay { get; init; }
 019    public uint MaxAcceptedHtlcs { get; init; }
 020    public LightningMoney? FeeRatePerKw { get; init; }
 021    public required LightningMoney DustLimitAmount { get; init; }
 022    public required LightningMoney ChannelReserveAmount { get; init; }
 023    public ChannelFlags? ChannelFlags { get; init; }
 24
 25    public static ChannelOpenMandatoryValidationParameters FromOpenChannel1Payload(
 26        ChannelTypeTlv? channelTypeTlv, LightningMoney currentFeeRatePerKw, FeatureOptions negotiatedFeatures,
 27        OpenChannel1Payload payload)
 28    {
 029        return new ChannelOpenMandatoryValidationParameters
 030        {
 031            ChannelTypeTlv = channelTypeTlv,
 032            CurrentFeeRatePerKw = currentFeeRatePerKw,
 033            NegotiatedFeatures = negotiatedFeatures,
 034            ChainHash = payload.ChainHash,
 035            PushAmount = payload.PushAmount,
 036            FundingAmount = payload.FundingAmount,
 037            ToSelfDelay = payload.ToSelfDelay,
 038            MaxAcceptedHtlcs = payload.MaxAcceptedHtlcs,
 039            FeeRatePerKw = payload.FeeRatePerKw,
 040            DustLimitAmount = payload.DustLimitAmount,
 041            ChannelReserveAmount = payload.ChannelReserveAmount,
 042            ChannelFlags = payload.ChannelFlags,
 043        };
 44    }
 45
 46    public static ChannelOpenMandatoryValidationParameters FromAcceptChannel1Payload(
 47        ChannelTypeTlv? channelTypeTlv, LightningMoney feeRateAmountPerKw,
 48        FeatureOptions negotiatedFeatures, AcceptChannel1Payload payload)
 49    {
 050        return new ChannelOpenMandatoryValidationParameters
 051        {
 052            ChannelTypeTlv = channelTypeTlv,
 053            CurrentFeeRatePerKw = feeRateAmountPerKw,
 054            NegotiatedFeatures = negotiatedFeatures,
 055            ToSelfDelay = payload.ToSelfDelay,
 056            MaxAcceptedHtlcs = payload.MaxAcceptedHtlcs,
 057            DustLimitAmount = payload.DustLimitAmount,
 058            ChannelReserveAmount = payload.ChannelReserveAmount
 059        };
 60    }
 61}