< Summary - Combined Code Coverage

Line coverage
0%
Covered lines: 0
Uncovered lines: 546
Coverable lines: 546
Total lines: 627
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

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
File 1: Up(...)100%210%
File 1: Down(...)100%210%
File 2: BuildTargetModel(...)100%210%

File(s)

/home/runner/work/NLightning/NLightning/src/NLightning.Infrastructure.Persistence.SqlServer/Migrations/20251106194300_AddFieldsForChannelOpen.cs

#LineLine coverage
 1using Microsoft.EntityFrameworkCore.Migrations;
 2
 3#nullable disable
 4
 5namespace NLightning.Infrastructure.Persistence.SqlServer.Migrations
 6{
 7    /// <inheritdoc />
 8    public partial class AddFieldsForChannelOpen : Migration
 9    {
 10        /// <inheritdoc />
 11        protected override void Up(MigrationBuilder migrationBuilder)
 12        {
 013            migrationBuilder.AddColumn<string>(
 014                name: "Type",
 015                table: "Peers",
 016                type: "nvarchar(max)",
 017                nullable: false,
 018                defaultValue: "");
 19
 020            migrationBuilder.AddColumn<byte>(
 021                name: "ChangeAddressAddressType",
 022                table: "Channels",
 023                type: "tinyint",
 024                nullable: true);
 25
 026            migrationBuilder.AddColumn<long>(
 027                name: "ChangeAddressIndex",
 028                table: "Channels",
 029                type: "bigint",
 030                nullable: true);
 31
 032            migrationBuilder.AddColumn<bool>(
 033                name: "ChangeAddressIsChange",
 034                table: "Channels",
 035                type: "bit",
 036                nullable: true);
 37
 038            migrationBuilder.AddColumn<byte>(
 039                name: "ChangeAddressType",
 040                table: "Channels",
 041                type: "tinyint",
 042                nullable: true);
 43
 044            migrationBuilder.CreateTable(
 045                name: "WalletAddresses",
 046                columns: table => new
 047                {
 048                    Index = table.Column<long>(type: "bigint", nullable: false),
 049                    IsChange = table.Column<bool>(type: "bit", nullable: false),
 050                    AddressType = table.Column<byte>(type: "tinyint", nullable: false),
 051                    Address = table.Column<string>(type: "nvarchar(max)", nullable: false)
 052                },
 053                constraints: table =>
 054                {
 055                    table.PrimaryKey("PK_WalletAddresses", x => new { x.Index, x.IsChange, x.AddressType });
 056                });
 57
 058            migrationBuilder.CreateTable(
 059                name: "Utxos",
 060                columns: table => new
 061                {
 062                    TransactionId = table.Column<byte[]>(type: "varbinary(32)", nullable: false),
 063                    Index = table.Column<long>(type: "bigint", nullable: false),
 064                    AmountSats = table.Column<long>(type: "bigint", nullable: false),
 065                    BlockHeight = table.Column<long>(type: "bigint", nullable: false),
 066                    AddressIndex = table.Column<long>(type: "bigint", nullable: false),
 067                    IsAddressChange = table.Column<bool>(type: "bit", nullable: false),
 068                    AddressType = table.Column<byte>(type: "tinyint", nullable: false),
 069                    LockedToChannelId = table.Column<byte[]>(type: "varbinary(32)", nullable: true),
 070                    UsedInTransactionId = table.Column<byte[]>(type: "varbinary(900)", nullable: true)
 071                },
 072                constraints: table =>
 073                {
 074                    table.PrimaryKey("PK_Utxos", x => new { x.TransactionId, x.Index });
 075                    table.ForeignKey(
 076                        name: "FK_Utxos_WalletAddresses_AddressIndex_IsAddressChange_AddressType",
 077                        columns: x => new { x.AddressIndex, x.IsAddressChange, x.AddressType },
 078                        principalTable: "WalletAddresses",
 079                        principalColumns: new[] { "Index", "IsChange", "AddressType" },
 080                        onDelete: ReferentialAction.Cascade);
 081                });
 82
 083            migrationBuilder.CreateIndex(
 084                name: "IX_Channels_ChangeAddressIndex_ChangeAddressIsChange_ChangeAddressAddressType",
 085                table: "Channels",
 086                columns: new[] { "ChangeAddressIndex", "ChangeAddressIsChange", "ChangeAddressAddressType" });
 87
 088            migrationBuilder.CreateIndex(
 089                name: "IX_Utxos_AddressIndex_IsAddressChange_AddressType",
 090                table: "Utxos",
 091                columns: new[] { "AddressIndex", "IsAddressChange", "AddressType" })
 092                .Annotation("SqlServer:Online", true);
 93
 094            migrationBuilder.CreateIndex(
 095                name: "IX_Utxos_AddressType",
 096                table: "Utxos",
 097                column: "AddressType")
 098                .Annotation("SqlServer:Online", true);
 99
 0100            migrationBuilder.CreateIndex(
 0101                name: "IX_Utxos_LockedToChannelId",
 0102                table: "Utxos",
 0103                column: "LockedToChannelId")
 0104                .Annotation("SqlServer:Online", true);
 105
 0106            migrationBuilder.CreateIndex(
 0107                name: "IX_Utxos_UsedInTransactionId",
 0108                table: "Utxos",
 0109                column: "UsedInTransactionId")
 0110                .Annotation("SqlServer:Online", true);
 111
 0112            migrationBuilder.AddForeignKey(
 0113                name: "FK_Channels_WalletAddresses_ChangeAddressIndex_ChangeAddressIsChange_ChangeAddressAddressType",
 0114                table: "Channels",
 0115                columns: new[] { "ChangeAddressIndex", "ChangeAddressIsChange", "ChangeAddressAddressType" },
 0116                principalTable: "WalletAddresses",
 0117                principalColumns: new[] { "Index", "IsChange", "AddressType" });
 0118        }
 119
 120        /// <inheritdoc />
 121        protected override void Down(MigrationBuilder migrationBuilder)
 122        {
 0123            migrationBuilder.DropForeignKey(
 0124                name: "FK_Channels_WalletAddresses_ChangeAddressIndex_ChangeAddressIsChange_ChangeAddressAddressType",
 0125                table: "Channels");
 126
 0127            migrationBuilder.DropTable(
 0128                name: "Utxos");
 129
 0130            migrationBuilder.DropTable(
 0131                name: "WalletAddresses");
 132
 0133            migrationBuilder.DropIndex(
 0134                name: "IX_Channels_ChangeAddressIndex_ChangeAddressIsChange_ChangeAddressAddressType",
 0135                table: "Channels");
 136
 0137            migrationBuilder.DropColumn(
 0138                name: "Type",
 0139                table: "Peers");
 140
 0141            migrationBuilder.DropColumn(
 0142                name: "ChangeAddressAddressType",
 0143                table: "Channels");
 144
 0145            migrationBuilder.DropColumn(
 0146                name: "ChangeAddressIndex",
 0147                table: "Channels");
 148
 0149            migrationBuilder.DropColumn(
 0150                name: "ChangeAddressIsChange",
 0151                table: "Channels");
 152
 0153            migrationBuilder.DropColumn(
 0154                name: "ChangeAddressType",
 0155                table: "Channels");
 0156        }
 157    }
 158}

/home/runner/work/NLightning/NLightning/src/NLightning.Infrastructure.Persistence.SqlServer/Migrations/20251106194300_AddFieldsForChannelOpen.Designer.cs

#LineLine coverage
 1// <auto-generated />
 2using System;
 3using Microsoft.EntityFrameworkCore;
 4using Microsoft.EntityFrameworkCore.Infrastructure;
 5using Microsoft.EntityFrameworkCore.Metadata;
 6using Microsoft.EntityFrameworkCore.Migrations;
 7using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 8using NLightning.Infrastructure.Persistence.Contexts;
 9
 10#nullable disable
 11
 12namespace NLightning.Infrastructure.Persistence.SqlServer.Migrations
 13{
 14    [DbContext(typeof(NLightningDbContext))]
 15    [Migration("20251106194300_AddFieldsForChannelOpen")]
 16    partial class AddFieldsForChannelOpen
 17    {
 18        /// <inheritdoc />
 19        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 20        {
 21#pragma warning disable 612, 618
 022            modelBuilder
 023                .HasAnnotation("ProductVersion", "9.0.9")
 024                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 25
 026            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 27
 028            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Bitcoin.BlockchainStateEntity", b =>
 029                {
 030                    b.Property<Guid>("Id")
 031                        .ValueGeneratedOnAdd()
 032                        .HasColumnType("uniqueidentifier");
 033
 034                    b.Property<DateTime>("LastProcessedAt")
 035                        .HasColumnType("datetime2");
 036
 037                    b.Property<byte[]>("LastProcessedBlockHash")
 038                        .IsRequired()
 039                        .HasColumnType("varbinary(32)");
 040
 041                    b.Property<long>("LastProcessedHeight")
 042                        .HasColumnType("bigint");
 043
 044                    b.HasKey("Id");
 045
 046                    b.ToTable("BlockchainStates");
 047                });
 48
 049            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Bitcoin.UtxoEntity", b =>
 050                {
 051                    b.Property<byte[]>("TransactionId")
 052                        .HasColumnType("varbinary(32)");
 053
 054                    b.Property<long>("Index")
 055                        .HasColumnType("bigint");
 056
 057                    b.Property<long>("AddressIndex")
 058                        .HasColumnType("bigint");
 059
 060                    b.Property<byte>("AddressType")
 061                        .HasColumnType("tinyint");
 062
 063                    b.Property<long>("AmountSats")
 064                        .HasColumnType("bigint");
 065
 066                    b.Property<long>("BlockHeight")
 067                        .HasColumnType("bigint");
 068
 069                    b.Property<bool>("IsAddressChange")
 070                        .HasColumnType("bit");
 071
 072                    b.Property<byte[]>("LockedToChannelId")
 073                        .HasColumnType("varbinary(32)");
 074
 075                    b.Property<byte[]>("UsedInTransactionId")
 076                        .HasColumnType("varbinary(900)");
 077
 078                    b.HasKey("TransactionId", "Index");
 079
 080                    b.HasIndex("AddressType")
 081                        .HasAnnotation("SqlServer:Online", true);
 082
 083                    b.HasIndex("LockedToChannelId")
 084                        .HasAnnotation("SqlServer:Online", true);
 085
 086                    b.HasIndex("UsedInTransactionId")
 087                        .HasAnnotation("SqlServer:Online", true);
 088
 089                    b.HasIndex("AddressIndex", "IsAddressChange", "AddressType")
 090                        .HasAnnotation("SqlServer:Online", true);
 091
 092                    b.ToTable("Utxos");
 093                });
 94
 095            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Bitcoin.WalletAddressEntity", b =>
 096                {
 097                    b.Property<long>("Index")
 098                        .HasColumnType("bigint");
 099
 0100                    b.Property<bool>("IsChange")
 0101                        .HasColumnType("bit");
 0102
 0103                    b.Property<byte>("AddressType")
 0104                        .HasColumnType("tinyint");
 0105
 0106                    b.Property<string>("Address")
 0107                        .IsRequired()
 0108                        .HasColumnType("nvarchar(max)");
 0109
 0110                    b.HasKey("Index", "IsChange", "AddressType");
 0111
 0112                    b.ToTable("WalletAddresses");
 0113                });
 114
 0115            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Bitcoin.WatchedTransactionEntity", b =>
 0116                {
 0117                    b.Property<byte[]>("TransactionId")
 0118                        .HasColumnType("varbinary(32)");
 0119
 0120                    b.Property<byte[]>("ChannelId")
 0121                        .IsRequired()
 0122                        .HasColumnType("varbinary(32)");
 0123
 0124                    b.Property<DateTime?>("CompletedAt")
 0125                        .HasColumnType("datetime2");
 0126
 0127                    b.Property<DateTime>("CreatedAt")
 0128                        .HasColumnType("datetime2");
 0129
 0130                    b.Property<long?>("FirstSeenAtHeight")
 0131                        .HasColumnType("bigint");
 0132
 0133                    b.Property<long>("RequiredDepth")
 0134                        .HasColumnType("bigint");
 0135
 0136                    b.Property<int?>("TransactionIndex")
 0137                        .HasColumnType("int");
 0138
 0139                    b.HasKey("TransactionId");
 0140
 0141                    b.HasIndex("ChannelId");
 0142
 0143                    b.ToTable("WatchedTransactions");
 0144                });
 145
 0146            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelConfigEntity", b =>
 0147                {
 0148                    b.Property<byte[]>("ChannelId")
 0149                        .HasColumnType("varbinary(32)");
 0150
 0151                    b.Property<long?>("ChannelReserveAmountSats")
 0152                        .HasColumnType("bigint");
 0153
 0154                    b.Property<long>("FeeRatePerKwSatoshis")
 0155                        .HasColumnType("bigint");
 0156
 0157                    b.Property<decimal>("HtlcMinimumMsat")
 0158                        .HasColumnType("decimal(20,0)");
 0159
 0160                    b.Property<long>("LocalDustLimitAmountSats")
 0161                        .HasColumnType("bigint");
 0162
 0163                    b.Property<byte[]>("LocalUpfrontShutdownScript")
 0164                        .HasColumnType("varbinary(max)");
 0165
 0166                    b.Property<int>("MaxAcceptedHtlcs")
 0167                        .HasColumnType("int");
 0168
 0169                    b.Property<decimal>("MaxHtlcAmountInFlight")
 0170                        .HasColumnType("decimal(20,0)");
 0171
 0172                    b.Property<long>("MinimumDepth")
 0173                        .HasColumnType("bigint");
 0174
 0175                    b.Property<bool>("OptionAnchorOutputs")
 0176                        .HasColumnType("bit");
 0177
 0178                    b.Property<long>("RemoteDustLimitAmountSats")
 0179                        .HasColumnType("bigint");
 0180
 0181                    b.Property<byte[]>("RemoteUpfrontShutdownScript")
 0182                        .HasColumnType("varbinary(max)");
 0183
 0184                    b.Property<int>("ToSelfDelay")
 0185                        .HasColumnType("int");
 0186
 0187                    b.Property<byte>("UseScidAlias")
 0188                        .HasColumnType("tinyint");
 0189
 0190                    b.HasKey("ChannelId");
 0191
 0192                    b.ToTable("ChannelConfigs");
 0193                });
 194
 0195            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", b =>
 0196                {
 0197                    b.Property<byte[]>("ChannelId")
 0198                        .HasColumnType("varbinary(32)");
 0199
 0200                    b.Property<byte?>("ChangeAddressAddressType")
 0201                        .HasColumnType("tinyint");
 0202
 0203                    b.Property<long?>("ChangeAddressIndex")
 0204                        .HasColumnType("bigint");
 0205
 0206                    b.Property<bool?>("ChangeAddressIsChange")
 0207                        .HasColumnType("bit");
 0208
 0209                    b.Property<byte?>("ChangeAddressType")
 0210                        .HasColumnType("tinyint");
 0211
 0212                    b.Property<long>("FundingAmountSatoshis")
 0213                        .HasColumnType("bigint");
 0214
 0215                    b.Property<long>("FundingCreatedAtBlockHeight")
 0216                        .HasColumnType("bigint");
 0217
 0218                    b.Property<int>("FundingOutputIndex")
 0219                        .HasColumnType("int");
 0220
 0221                    b.Property<byte[]>("FundingTxId")
 0222                        .IsRequired()
 0223                        .HasColumnType("varbinary(32)");
 0224
 0225                    b.Property<bool>("IsInitiator")
 0226                        .HasColumnType("bit");
 0227
 0228                    b.Property<byte[]>("LastReceivedSignature")
 0229                        .HasColumnType("varbinary(64)");
 0230
 0231                    b.Property<byte[]>("LastSentSignature")
 0232                        .HasColumnType("varbinary(64)");
 0233
 0234                    b.Property<long>("LocalBalanceSatoshis")
 0235                        .HasColumnType("bigint");
 0236
 0237                    b.Property<decimal>("LocalNextHtlcId")
 0238                        .HasColumnType("decimal(20,0)");
 0239
 0240                    b.Property<decimal>("LocalRevocationNumber")
 0241                        .HasColumnType("decimal(20,0)");
 0242
 0243                    b.Property<byte[]>("PeerEntityNodeId")
 0244                        .HasColumnType("varbinary(33)");
 0245
 0246                    b.Property<long>("RemoteBalanceSatoshis")
 0247                        .HasColumnType("bigint");
 0248
 0249                    b.Property<decimal>("RemoteNextHtlcId")
 0250                        .HasColumnType("decimal(20,0)");
 0251
 0252                    b.Property<byte[]>("RemoteNodeId")
 0253                        .IsRequired()
 0254                        .HasColumnType("varbinary(32)");
 0255
 0256                    b.Property<decimal>("RemoteRevocationNumber")
 0257                        .HasColumnType("decimal(20,0)");
 0258
 0259                    b.Property<byte>("State")
 0260                        .HasColumnType("tinyint");
 0261
 0262                    b.Property<byte>("Version")
 0263                        .HasColumnType("tinyint");
 0264
 0265                    b.HasKey("ChannelId");
 0266
 0267                    b.HasIndex("PeerEntityNodeId");
 0268
 0269                    b.HasIndex("ChangeAddressIndex", "ChangeAddressIsChange", "ChangeAddressAddressType");
 0270
 0271                    b.ToTable("Channels");
 0272                });
 273
 0274            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelKeySetEntity", b =>
 0275                {
 0276                    b.Property<byte[]>("ChannelId")
 0277                        .HasColumnType("varbinary(32)");
 0278
 0279                    b.Property<bool>("IsLocal")
 0280                        .HasColumnType("bit");
 0281
 0282                    b.Property<decimal>("CurrentPerCommitmentIndex")
 0283                        .HasColumnType("decimal(20,0)");
 0284
 0285                    b.Property<byte[]>("CurrentPerCommitmentPoint")
 0286                        .IsRequired()
 0287                        .HasColumnType("varbinary(33)");
 0288
 0289                    b.Property<byte[]>("DelayedPaymentBasepoint")
 0290                        .IsRequired()
 0291                        .HasColumnType("varbinary(33)");
 0292
 0293                    b.Property<byte[]>("FundingPubKey")
 0294                        .IsRequired()
 0295                        .HasColumnType("varbinary(33)");
 0296
 0297                    b.Property<byte[]>("HtlcBasepoint")
 0298                        .IsRequired()
 0299                        .HasColumnType("varbinary(33)");
 0300
 0301                    b.Property<long>("KeyIndex")
 0302                        .HasColumnType("bigint");
 0303
 0304                    b.Property<byte[]>("LastRevealedPerCommitmentSecret")
 0305                        .HasColumnType("varbinary(max)");
 0306
 0307                    b.Property<byte[]>("PaymentBasepoint")
 0308                        .IsRequired()
 0309                        .HasColumnType("varbinary(33)");
 0310
 0311                    b.Property<byte[]>("RevocationBasepoint")
 0312                        .IsRequired()
 0313                        .HasColumnType("varbinary(33)");
 0314
 0315                    b.HasKey("ChannelId", "IsLocal");
 0316
 0317                    b.ToTable("ChannelKeySets");
 0318                });
 319
 0320            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.HtlcEntity", b =>
 0321                {
 0322                    b.Property<byte[]>("ChannelId")
 0323                        .HasColumnType("varbinary(32)");
 0324
 0325                    b.Property<decimal>("HtlcId")
 0326                        .HasColumnType("decimal(20,0)");
 0327
 0328                    b.Property<byte>("Direction")
 0329                        .HasColumnType("tinyint");
 0330
 0331                    b.Property<byte[]>("AddMessageBytes")
 0332                        .IsRequired()
 0333                        .HasColumnType("varbinary(max)");
 0334
 0335                    b.Property<decimal>("AmountMsat")
 0336                        .HasColumnType("decimal(20,0)");
 0337
 0338                    b.Property<long>("CltvExpiry")
 0339                        .HasColumnType("bigint");
 0340
 0341                    b.Property<decimal>("ObscuredCommitmentNumber")
 0342                        .HasColumnType("decimal(20,0)");
 0343
 0344                    b.Property<byte[]>("PaymentHash")
 0345                        .IsRequired()
 0346                        .HasColumnType("varbinary(32)");
 0347
 0348                    b.Property<byte[]>("PaymentPreimage")
 0349                        .HasColumnType("varbinary(32)");
 0350
 0351                    b.Property<byte[]>("Signature")
 0352                        .HasColumnType("varbinary(max)");
 0353
 0354                    b.Property<byte>("State")
 0355                        .HasColumnType("tinyint");
 0356
 0357                    b.HasKey("ChannelId", "HtlcId", "Direction");
 0358
 0359                    b.ToTable("Htlcs");
 0360                });
 361
 0362            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Node.PeerEntity", b =>
 0363                {
 0364                    b.Property<byte[]>("NodeId")
 0365                        .HasColumnType("varbinary(33)");
 0366
 0367                    b.Property<string>("Host")
 0368                        .IsRequired()
 0369                        .HasColumnType("nvarchar(max)");
 0370
 0371                    b.Property<DateTime>("LastSeenAt")
 0372                        .HasColumnType("datetime2");
 0373
 0374                    b.Property<long>("Port")
 0375                        .HasColumnType("bigint");
 0376
 0377                    b.Property<string>("Type")
 0378                        .IsRequired()
 0379                        .HasColumnType("nvarchar(max)");
 0380
 0381                    b.HasKey("NodeId");
 0382
 0383                    b.ToTable("Peers");
 0384                });
 385
 0386            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Bitcoin.UtxoEntity", b =>
 0387                {
 0388                    b.HasOne("NLightning.Infrastructure.Persistence.Entities.Bitcoin.WalletAddressEntity", "WalletAddres
 0389                        .WithMany("Utxos")
 0390                        .HasForeignKey("AddressIndex", "IsAddressChange", "AddressType")
 0391                        .OnDelete(DeleteBehavior.Cascade)
 0392                        .IsRequired();
 0393
 0394                    b.Navigation("WalletAddress");
 0395                });
 396
 0397            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Bitcoin.WatchedTransactionEntity", b =>
 0398                {
 0399                    b.HasOne("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", null)
 0400                        .WithMany("WatchedTransactions")
 0401                        .HasForeignKey("ChannelId")
 0402                        .OnDelete(DeleteBehavior.Cascade)
 0403                        .IsRequired();
 0404                });
 405
 0406            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelConfigEntity", b =>
 0407                {
 0408                    b.HasOne("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", null)
 0409                        .WithOne("Config")
 0410                        .HasForeignKey("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelConfigEntity", "Ch
 0411                        .OnDelete(DeleteBehavior.Cascade)
 0412                        .IsRequired();
 0413                });
 414
 0415            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", b =>
 0416                {
 0417                    b.HasOne("NLightning.Infrastructure.Persistence.Entities.Node.PeerEntity", null)
 0418                        .WithMany("Channels")
 0419                        .HasForeignKey("PeerEntityNodeId");
 0420
 0421                    b.HasOne("NLightning.Infrastructure.Persistence.Entities.Bitcoin.WalletAddressEntity", "ChangeAddres
 0422                        .WithMany()
 0423                        .HasForeignKey("ChangeAddressIndex", "ChangeAddressIsChange", "ChangeAddressAddressType");
 0424
 0425                    b.Navigation("ChangeAddress");
 0426                });
 427
 0428            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelKeySetEntity", b =>
 0429                {
 0430                    b.HasOne("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", null)
 0431                        .WithMany("KeySets")
 0432                        .HasForeignKey("ChannelId")
 0433                        .OnDelete(DeleteBehavior.Cascade)
 0434                        .IsRequired();
 0435                });
 436
 0437            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.HtlcEntity", b =>
 0438                {
 0439                    b.HasOne("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", null)
 0440                        .WithMany("Htlcs")
 0441                        .HasForeignKey("ChannelId")
 0442                        .OnDelete(DeleteBehavior.Cascade)
 0443                        .IsRequired();
 0444                });
 445
 0446            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Bitcoin.WalletAddressEntity", b =>
 0447                {
 0448                    b.Navigation("Utxos");
 0449                });
 450
 0451            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", b =>
 0452                {
 0453                    b.Navigation("Config");
 0454
 0455                    b.Navigation("Htlcs");
 0456
 0457                    b.Navigation("KeySets");
 0458
 0459                    b.Navigation("WatchedTransactions");
 0460                });
 461
 0462            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Node.PeerEntity", b =>
 0463                {
 0464                    b.Navigation("Channels");
 0465                });
 466#pragma warning restore 612, 618
 0467        }
 468    }
 469}