< Summary - Combined Code Coverage

Line coverage
0%
Covered lines: 0
Uncovered lines: 505
Coverable lines: 505
Total lines: 575
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.Postgres/Migrations/20250612173122_AddBlockchaisStateAndWatchedTransaction.cs

#LineLine coverage
 1using Microsoft.EntityFrameworkCore.Migrations;
 2
 3#nullable disable
 4
 5namespace NLightning.Infrastructure.Persistence.Postgres.Migrations
 6{
 7    /// <inheritdoc />
 8    public partial class AddBlockchaisStateAndWatchedTransaction : Migration
 9    {
 10        /// <inheritdoc />
 11        protected override void Up(MigrationBuilder migrationBuilder)
 12        {
 013            migrationBuilder.AlterColumn<int>(
 014                name: "funding_output_index",
 015                table: "channels",
 016                type: "integer",
 017                nullable: false,
 018                oldClrType: typeof(long),
 019                oldType: "bigint");
 20
 021            migrationBuilder.AddColumn<byte[]>(
 022                name: "peer_entity_node_id",
 023                table: "channels",
 024                type: "bytea",
 025                nullable: true);
 26
 027            migrationBuilder.CreateTable(
 028                name: "blockchain_states",
 029                columns: table => new
 030                {
 031                    id = table.Column<Guid>(type: "uuid", nullable: false),
 032                    last_processed_height = table.Column<long>(type: "bigint", nullable: false),
 033                    last_processed_block_hash = table.Column<byte[]>(type: "bytea", nullable: false),
 034                    last_processed_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
 035                },
 036                constraints: table =>
 037                {
 038                    table.PrimaryKey("pk_blockchain_states", x => x.id);
 039                });
 40
 041            migrationBuilder.CreateTable(
 042                name: "peers",
 043                columns: table => new
 044                {
 045                    node_id = table.Column<byte[]>(type: "bytea", nullable: false),
 046                    host = table.Column<string>(type: "text", nullable: false),
 047                    port = table.Column<long>(type: "bigint", nullable: false),
 048                    last_seen_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
 049                },
 050                constraints: table =>
 051                {
 052                    table.PrimaryKey("pk_peers", x => x.node_id);
 053                });
 54
 055            migrationBuilder.CreateTable(
 056                name: "watched_transactions",
 057                columns: table => new
 058                {
 059                    transaction_id = table.Column<byte[]>(type: "bytea", nullable: false),
 060                    channel_id = table.Column<byte[]>(type: "bytea", nullable: false),
 061                    required_depth = table.Column<long>(type: "bigint", nullable: false),
 062                    first_seen_at_height = table.Column<long>(type: "bigint", nullable: true),
 063                    transaction_index = table.Column<int>(type: "integer", nullable: true),
 064                    created_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
 065                    completed_at = table.Column<DateTime>(type: "timestamp with time zone", nullable: true)
 066                },
 067                constraints: table =>
 068                {
 069                    table.PrimaryKey("pk_watched_transactions", x => x.transaction_id);
 070                    table.ForeignKey(
 071                        name: "fk_watched_transactions_channels_channel_id",
 072                        column: x => x.channel_id,
 073                        principalTable: "channels",
 074                        principalColumn: "channel_id",
 075                        onDelete: ReferentialAction.Cascade);
 076                });
 77
 078            migrationBuilder.CreateIndex(
 079                name: "ix_channels_peer_entity_node_id",
 080                table: "channels",
 081                column: "peer_entity_node_id");
 82
 083            migrationBuilder.CreateIndex(
 084                name: "ix_watched_transactions_channel_id",
 085                table: "watched_transactions",
 086                column: "channel_id");
 87
 088            migrationBuilder.AddForeignKey(
 089                name: "fk_channels_peers_peer_entity_node_id",
 090                table: "channels",
 091                column: "peer_entity_node_id",
 092                principalTable: "peers",
 093                principalColumn: "node_id");
 094        }
 95
 96        /// <inheritdoc />
 97        protected override void Down(MigrationBuilder migrationBuilder)
 98        {
 099            migrationBuilder.DropForeignKey(
 0100                name: "fk_channels_peers_peer_entity_node_id",
 0101                table: "channels");
 102
 0103            migrationBuilder.DropTable(
 0104                name: "blockchain_states");
 105
 0106            migrationBuilder.DropTable(
 0107                name: "peers");
 108
 0109            migrationBuilder.DropTable(
 0110                name: "watched_transactions");
 111
 0112            migrationBuilder.DropIndex(
 0113                name: "ix_channels_peer_entity_node_id",
 0114                table: "channels");
 115
 0116            migrationBuilder.DropColumn(
 0117                name: "peer_entity_node_id",
 0118                table: "channels");
 119
 0120            migrationBuilder.AlterColumn<long>(
 0121                name: "funding_output_index",
 0122                table: "channels",
 0123                type: "bigint",
 0124                nullable: false,
 0125                oldClrType: typeof(int),
 0126                oldType: "integer");
 0127        }
 128    }
 129}

/home/runner/work/nlightning/nlightning/src/NLightning.Infrastructure.Persistence.Postgres/Migrations/20250612173122_AddBlockchaisStateAndWatchedTransaction.Designer.cs

#LineLine coverage
 1// <auto-generated />
 2using System;
 3using Microsoft.EntityFrameworkCore;
 4using Microsoft.EntityFrameworkCore.Infrastructure;
 5using Microsoft.EntityFrameworkCore.Migrations;
 6using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 7using NLightning.Infrastructure.Persistence.Contexts;
 8using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
 9
 10#nullable disable
 11
 12namespace NLightning.Infrastructure.Persistence.Postgres.Migrations
 13{
 14    [DbContext(typeof(NLightningDbContext))]
 15    [Migration("20250612173122_AddBlockchaisStateAndWatchedTransaction")]
 16    partial class AddBlockchaisStateAndWatchedTransaction
 17    {
 18        /// <inheritdoc />
 19        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 20        {
 21#pragma warning disable 612, 618
 022            modelBuilder
 023                .HasAnnotation("ProductVersion", "8.0.12")
 024                .HasAnnotation("Relational:MaxIdentifierLength", 63);
 25
 026            NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
 27
 028            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Bitcoin.BlockchainStateEntity", b =>
 029                {
 030                    b.Property<Guid>("Id")
 031                        .ValueGeneratedOnAdd()
 032                        .HasColumnType("uuid")
 033                        .HasColumnName("id");
 034
 035                    b.Property<DateTime>("LastProcessedAt")
 036                        .HasColumnType("timestamp with time zone")
 037                        .HasColumnName("last_processed_at");
 038
 039                    b.Property<byte[]>("LastProcessedBlockHash")
 040                        .IsRequired()
 041                        .HasColumnType("bytea")
 042                        .HasColumnName("last_processed_block_hash");
 043
 044                    b.Property<long>("LastProcessedHeight")
 045                        .HasColumnType("bigint")
 046                        .HasColumnName("last_processed_height");
 047
 048                    b.HasKey("Id")
 049                        .HasName("pk_blockchain_states");
 050
 051                    b.ToTable("blockchain_states", (string)null);
 052                });
 53
 054            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Bitcoin.WatchedTransactionEntity", b =>
 055                {
 056                    b.Property<byte[]>("TransactionId")
 057                        .HasColumnType("bytea")
 058                        .HasColumnName("transaction_id");
 059
 060                    b.Property<byte[]>("ChannelId")
 061                        .IsRequired()
 062                        .HasColumnType("bytea")
 063                        .HasColumnName("channel_id");
 064
 065                    b.Property<DateTime?>("CompletedAt")
 066                        .HasColumnType("timestamp with time zone")
 067                        .HasColumnName("completed_at");
 068
 069                    b.Property<DateTime>("CreatedAt")
 070                        .HasColumnType("timestamp with time zone")
 071                        .HasColumnName("created_at");
 072
 073                    b.Property<long?>("FirstSeenAtHeight")
 074                        .HasColumnType("bigint")
 075                        .HasColumnName("first_seen_at_height");
 076
 077                    b.Property<long>("RequiredDepth")
 078                        .HasColumnType("bigint")
 079                        .HasColumnName("required_depth");
 080
 081                    b.Property<int?>("TransactionIndex")
 082                        .HasColumnType("integer")
 083                        .HasColumnName("transaction_index");
 084
 085                    b.HasKey("TransactionId")
 086                        .HasName("pk_watched_transactions");
 087
 088                    b.HasIndex("ChannelId")
 089                        .HasDatabaseName("ix_watched_transactions_channel_id");
 090
 091                    b.ToTable("watched_transactions", (string)null);
 092                });
 93
 094            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelConfigEntity", b =>
 095                {
 096                    b.Property<byte[]>("ChannelId")
 097                        .HasColumnType("bytea")
 098                        .HasColumnName("channel_id");
 099
 0100                    b.Property<long?>("ChannelReserveAmountSats")
 0101                        .HasColumnType("bigint")
 0102                        .HasColumnName("channel_reserve_amount_sats");
 0103
 0104                    b.Property<long>("FeeRatePerKwSatoshis")
 0105                        .HasColumnType("bigint")
 0106                        .HasColumnName("fee_rate_per_kw_satoshis");
 0107
 0108                    b.Property<decimal>("HtlcMinimumMsat")
 0109                        .HasColumnType("numeric(20,0)")
 0110                        .HasColumnName("htlc_minimum_msat");
 0111
 0112                    b.Property<long>("LocalDustLimitAmountSats")
 0113                        .HasColumnType("bigint")
 0114                        .HasColumnName("local_dust_limit_amount_sats");
 0115
 0116                    b.Property<byte[]>("LocalUpfrontShutdownScript")
 0117                        .HasColumnType("bytea")
 0118                        .HasColumnName("local_upfront_shutdown_script");
 0119
 0120                    b.Property<int>("MaxAcceptedHtlcs")
 0121                        .HasColumnType("integer")
 0122                        .HasColumnName("max_accepted_htlcs");
 0123
 0124                    b.Property<decimal>("MaxHtlcAmountInFlight")
 0125                        .HasColumnType("numeric(20,0)")
 0126                        .HasColumnName("max_htlc_amount_in_flight");
 0127
 0128                    b.Property<long>("MinimumDepth")
 0129                        .HasColumnType("bigint")
 0130                        .HasColumnName("minimum_depth");
 0131
 0132                    b.Property<bool>("OptionAnchorOutputs")
 0133                        .HasColumnType("boolean")
 0134                        .HasColumnName("option_anchor_outputs");
 0135
 0136                    b.Property<long>("RemoteDustLimitAmountSats")
 0137                        .HasColumnType("bigint")
 0138                        .HasColumnName("remote_dust_limit_amount_sats");
 0139
 0140                    b.Property<byte[]>("RemoteUpfrontShutdownScript")
 0141                        .HasColumnType("bytea")
 0142                        .HasColumnName("remote_upfront_shutdown_script");
 0143
 0144                    b.Property<int>("ToSelfDelay")
 0145                        .HasColumnType("integer")
 0146                        .HasColumnName("to_self_delay");
 0147
 0148                    b.Property<byte>("UseScidAlias")
 0149                        .HasColumnType("smallint")
 0150                        .HasColumnName("use_scid_alias");
 0151
 0152                    b.HasKey("ChannelId")
 0153                        .HasName("pk_channel_configs");
 0154
 0155                    b.ToTable("channel_configs", (string)null);
 0156                });
 157
 0158            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", b =>
 0159                {
 0160                    b.Property<byte[]>("ChannelId")
 0161                        .HasColumnType("bytea")
 0162                        .HasColumnName("channel_id");
 0163
 0164                    b.Property<long>("FundingAmountSatoshis")
 0165                        .HasColumnType("bigint")
 0166                        .HasColumnName("funding_amount_satoshis");
 0167
 0168                    b.Property<long>("FundingCreatedAtBlockHeight")
 0169                        .HasColumnType("bigint")
 0170                        .HasColumnName("funding_created_at_block_height");
 0171
 0172                    b.Property<int>("FundingOutputIndex")
 0173                        .HasColumnType("integer")
 0174                        .HasColumnName("funding_output_index");
 0175
 0176                    b.Property<byte[]>("FundingTxId")
 0177                        .IsRequired()
 0178                        .HasColumnType("bytea")
 0179                        .HasColumnName("funding_tx_id");
 0180
 0181                    b.Property<bool>("IsInitiator")
 0182                        .HasColumnType("boolean")
 0183                        .HasColumnName("is_initiator");
 0184
 0185                    b.Property<byte[]>("LastReceivedSignature")
 0186                        .HasColumnType("bytea")
 0187                        .HasColumnName("last_received_signature");
 0188
 0189                    b.Property<byte[]>("LastSentSignature")
 0190                        .HasColumnType("bytea")
 0191                        .HasColumnName("last_sent_signature");
 0192
 0193                    b.Property<decimal>("LocalBalanceSatoshis")
 0194                        .HasColumnType("numeric")
 0195                        .HasColumnName("local_balance_satoshis");
 0196
 0197                    b.Property<decimal>("LocalNextHtlcId")
 0198                        .HasColumnType("numeric(20,0)")
 0199                        .HasColumnName("local_next_htlc_id");
 0200
 0201                    b.Property<decimal>("LocalRevocationNumber")
 0202                        .HasColumnType("numeric(20,0)")
 0203                        .HasColumnName("local_revocation_number");
 0204
 0205                    b.Property<byte[]>("PeerEntityNodeId")
 0206                        .HasColumnType("bytea")
 0207                        .HasColumnName("peer_entity_node_id");
 0208
 0209                    b.Property<decimal>("RemoteBalanceSatoshis")
 0210                        .HasColumnType("numeric")
 0211                        .HasColumnName("remote_balance_satoshis");
 0212
 0213                    b.Property<decimal>("RemoteNextHtlcId")
 0214                        .HasColumnType("numeric(20,0)")
 0215                        .HasColumnName("remote_next_htlc_id");
 0216
 0217                    b.Property<byte[]>("RemoteNodeId")
 0218                        .IsRequired()
 0219                        .HasColumnType("bytea")
 0220                        .HasColumnName("remote_node_id");
 0221
 0222                    b.Property<decimal>("RemoteRevocationNumber")
 0223                        .HasColumnType("numeric(20,0)")
 0224                        .HasColumnName("remote_revocation_number");
 0225
 0226                    b.Property<byte>("State")
 0227                        .HasColumnType("smallint")
 0228                        .HasColumnName("state");
 0229
 0230                    b.Property<byte>("Version")
 0231                        .HasColumnType("smallint")
 0232                        .HasColumnName("version");
 0233
 0234                    b.HasKey("ChannelId")
 0235                        .HasName("pk_channels");
 0236
 0237                    b.HasIndex("PeerEntityNodeId")
 0238                        .HasDatabaseName("ix_channels_peer_entity_node_id");
 0239
 0240                    b.ToTable("channels", (string)null);
 0241                });
 242
 0243            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelKeySetEntity", b =>
 0244                {
 0245                    b.Property<byte[]>("ChannelId")
 0246                        .HasColumnType("bytea")
 0247                        .HasColumnName("channel_id");
 0248
 0249                    b.Property<bool>("IsLocal")
 0250                        .HasColumnType("boolean")
 0251                        .HasColumnName("is_local");
 0252
 0253                    b.Property<decimal>("CurrentPerCommitmentIndex")
 0254                        .HasColumnType("numeric(20,0)")
 0255                        .HasColumnName("current_per_commitment_index");
 0256
 0257                    b.Property<byte[]>("CurrentPerCommitmentPoint")
 0258                        .IsRequired()
 0259                        .HasColumnType("bytea")
 0260                        .HasColumnName("current_per_commitment_point");
 0261
 0262                    b.Property<byte[]>("DelayedPaymentBasepoint")
 0263                        .IsRequired()
 0264                        .HasColumnType("bytea")
 0265                        .HasColumnName("delayed_payment_basepoint");
 0266
 0267                    b.Property<byte[]>("FundingPubKey")
 0268                        .IsRequired()
 0269                        .HasColumnType("bytea")
 0270                        .HasColumnName("funding_pub_key");
 0271
 0272                    b.Property<byte[]>("HtlcBasepoint")
 0273                        .IsRequired()
 0274                        .HasColumnType("bytea")
 0275                        .HasColumnName("htlc_basepoint");
 0276
 0277                    b.Property<long>("KeyIndex")
 0278                        .HasColumnType("bigint")
 0279                        .HasColumnName("key_index");
 0280
 0281                    b.Property<byte[]>("LastRevealedPerCommitmentSecret")
 0282                        .HasColumnType("bytea")
 0283                        .HasColumnName("last_revealed_per_commitment_secret");
 0284
 0285                    b.Property<byte[]>("PaymentBasepoint")
 0286                        .IsRequired()
 0287                        .HasColumnType("bytea")
 0288                        .HasColumnName("payment_basepoint");
 0289
 0290                    b.Property<byte[]>("RevocationBasepoint")
 0291                        .IsRequired()
 0292                        .HasColumnType("bytea")
 0293                        .HasColumnName("revocation_basepoint");
 0294
 0295                    b.HasKey("ChannelId", "IsLocal")
 0296                        .HasName("pk_channel_key_sets");
 0297
 0298                    b.ToTable("channel_key_sets", (string)null);
 0299                });
 300
 0301            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.HtlcEntity", b =>
 0302                {
 0303                    b.Property<byte[]>("ChannelId")
 0304                        .HasColumnType("bytea")
 0305                        .HasColumnName("channel_id");
 0306
 0307                    b.Property<decimal>("HtlcId")
 0308                        .HasColumnType("numeric(20,0)")
 0309                        .HasColumnName("htlc_id");
 0310
 0311                    b.Property<byte>("Direction")
 0312                        .HasColumnType("smallint")
 0313                        .HasColumnName("direction");
 0314
 0315                    b.Property<byte[]>("AddMessageBytes")
 0316                        .IsRequired()
 0317                        .HasColumnType("bytea")
 0318                        .HasColumnName("add_message_bytes");
 0319
 0320                    b.Property<decimal>("AmountMsat")
 0321                        .HasColumnType("numeric(20,0)")
 0322                        .HasColumnName("amount_msat");
 0323
 0324                    b.Property<long>("CltvExpiry")
 0325                        .HasColumnType("bigint")
 0326                        .HasColumnName("cltv_expiry");
 0327
 0328                    b.Property<decimal>("ObscuredCommitmentNumber")
 0329                        .HasColumnType("numeric(20,0)")
 0330                        .HasColumnName("obscured_commitment_number");
 0331
 0332                    b.Property<byte[]>("PaymentHash")
 0333                        .IsRequired()
 0334                        .HasColumnType("bytea")
 0335                        .HasColumnName("payment_hash");
 0336
 0337                    b.Property<byte[]>("PaymentPreimage")
 0338                        .HasColumnType("bytea")
 0339                        .HasColumnName("payment_preimage");
 0340
 0341                    b.Property<byte[]>("Signature")
 0342                        .HasColumnType("bytea")
 0343                        .HasColumnName("signature");
 0344
 0345                    b.Property<byte>("State")
 0346                        .HasColumnType("smallint")
 0347                        .HasColumnName("state");
 0348
 0349                    b.HasKey("ChannelId", "HtlcId", "Direction")
 0350                        .HasName("pk_htlcs");
 0351
 0352                    b.ToTable("htlcs", (string)null);
 0353                });
 354
 0355            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Node.PeerEntity", b =>
 0356                {
 0357                    b.Property<byte[]>("NodeId")
 0358                        .HasColumnType("bytea")
 0359                        .HasColumnName("node_id");
 0360
 0361                    b.Property<string>("Host")
 0362                        .IsRequired()
 0363                        .HasColumnType("text")
 0364                        .HasColumnName("host");
 0365
 0366                    b.Property<DateTime>("LastSeenAt")
 0367                        .HasColumnType("timestamp with time zone")
 0368                        .HasColumnName("last_seen_at");
 0369
 0370                    b.Property<long>("Port")
 0371                        .HasColumnType("bigint")
 0372                        .HasColumnName("port");
 0373
 0374                    b.HasKey("NodeId")
 0375                        .HasName("pk_peers");
 0376
 0377                    b.ToTable("peers", (string)null);
 0378                });
 379
 0380            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Bitcoin.WatchedTransactionEntity", b =>
 0381                {
 0382                    b.HasOne("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", null)
 0383                        .WithMany("WatchedTransactions")
 0384                        .HasForeignKey("ChannelId")
 0385                        .OnDelete(DeleteBehavior.Cascade)
 0386                        .IsRequired()
 0387                        .HasConstraintName("fk_watched_transactions_channels_channel_id");
 0388                });
 389
 0390            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelConfigEntity", b =>
 0391                {
 0392                    b.HasOne("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", null)
 0393                        .WithOne("Config")
 0394                        .HasForeignKey("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelConfigEntity", "Ch
 0395                        .OnDelete(DeleteBehavior.Cascade)
 0396                        .IsRequired()
 0397                        .HasConstraintName("fk_channel_configs_channels_channel_id");
 0398                });
 399
 0400            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", b =>
 0401                {
 0402                    b.HasOne("NLightning.Infrastructure.Persistence.Entities.Node.PeerEntity", null)
 0403                        .WithMany("Channels")
 0404                        .HasForeignKey("PeerEntityNodeId")
 0405                        .HasConstraintName("fk_channels_peers_peer_entity_node_id");
 0406                });
 407
 0408            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelKeySetEntity", b =>
 0409                {
 0410                    b.HasOne("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", null)
 0411                        .WithMany("KeySets")
 0412                        .HasForeignKey("ChannelId")
 0413                        .OnDelete(DeleteBehavior.Cascade)
 0414                        .IsRequired()
 0415                        .HasConstraintName("fk_channel_key_sets_channels_channel_id");
 0416                });
 417
 0418            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.HtlcEntity", b =>
 0419                {
 0420                    b.HasOne("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", null)
 0421                        .WithMany("Htlcs")
 0422                        .HasForeignKey("ChannelId")
 0423                        .OnDelete(DeleteBehavior.Cascade)
 0424                        .IsRequired()
 0425                        .HasConstraintName("fk_htlcs_channels_channel_id");
 0426                });
 427
 0428            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Channel.ChannelEntity", b =>
 0429                {
 0430                    b.Navigation("Config");
 0431
 0432                    b.Navigation("Htlcs");
 0433
 0434                    b.Navigation("KeySets");
 0435
 0436                    b.Navigation("WatchedTransactions");
 0437                });
 438
 0439            modelBuilder.Entity("NLightning.Infrastructure.Persistence.Entities.Node.PeerEntity", b =>
 0440                {
 0441                    b.Navigation("Channels");
 0442                });
 443#pragma warning restore 612, 618
 0444        }
 445    }
 446}