< Summary - Combined Code Coverage

Information
Class: NLightning.Domain.Channels.Validators.Parameters.ChannelOpenOptionalValidationParameters
Assembly: NLightning.Domain
File(s): /home/runner/work/NLightning/NLightning/src/NLightning.Domain/Channels/Validators/Parameters/ChannelOpenOptionalValidationParameters.cs
Tag: 57_24045730253
Line coverage
0%
Covered lines: 0
Uncovered lines: 34
Coverable lines: 34
Total lines: 56
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/ChannelOpenOptionalValidationParameters.cs

#LineLine coverage
 1namespace NLightning.Domain.Channels.Validators.Parameters;
 2
 3using Money;
 4using Protocol.Payloads;
 5using Protocol.ValueObjects;
 6
 7public sealed class ChannelOpenOptionalValidationParameters
 8{
 09    public ChainHash? ChainHash { get; init; }
 010    public LightningMoney? FundingAmount { get; init; }
 011    public LightningMoney? PushAmount { get; init; }
 012    public required LightningMoney HtlcMinimumAmount { get; init; }
 013    public LightningMoney? MaxHtlcValueInFlight { get; init; }
 014    public required LightningMoney ChannelReserveAmount { get; init; }
 015    public required LightningMoney OurChannelReserveAmount { get; init; }
 016    public required ushort MaxAcceptedHtlcs { get; init; }
 017    public required LightningMoney DustLimitAmount { get; init; }
 018    public required ushort ToSelfDelay { get; init; }
 019    public LightningMoney? FeeRatePerKw { get; init; }
 20
 21    /// <summary>
 22    /// Creates validation parameters from an incoming OpenChannel1Payload.
 23    /// </summary>
 24    public static ChannelOpenOptionalValidationParameters FromOpenChannel1Payload(
 25        OpenChannel1Payload payload, LightningMoney ourChannelReserveAmount)
 26    {
 027        return new ChannelOpenOptionalValidationParameters
 028        {
 029            ChainHash = payload.ChainHash,
 030            FundingAmount = payload.FundingAmount,
 031            PushAmount = payload.PushAmount,
 032            HtlcMinimumAmount = payload.HtlcMinimumAmount,
 033            MaxHtlcValueInFlight = payload.MaxHtlcValueInFlight,
 034            ChannelReserveAmount = payload.ChannelReserveAmount,
 035            OurChannelReserveAmount = ourChannelReserveAmount,
 036            MaxAcceptedHtlcs = payload.MaxAcceptedHtlcs,
 037            DustLimitAmount = payload.DustLimitAmount,
 038            ToSelfDelay = payload.ToSelfDelay,
 039            FeeRatePerKw = payload.FeeRatePerKw
 040        };
 41    }
 42
 43    public static ChannelOpenOptionalValidationParameters FromAcceptChannel1Payload(
 44        AcceptChannel1Payload payload, LightningMoney ourChannelReserveAmount)
 45    {
 046        return new ChannelOpenOptionalValidationParameters
 047        {
 048            HtlcMinimumAmount = payload.HtlcMinimumAmount,
 049            ChannelReserveAmount = payload.ChannelReserveAmount,
 050            OurChannelReserveAmount = ourChannelReserveAmount,
 051            MaxAcceptedHtlcs = payload.MaxAcceptedHtlcs,
 052            DustLimitAmount = payload.DustLimitAmount,
 053            ToSelfDelay = payload.ToSelfDelay
 054        };
 55    }
 56}