diff --git a/model/src/testFixtures/java/de/cotto/lndmanagej/model/LocalOpenChannelFixtures.java b/model/src/testFixtures/java/de/cotto/lndmanagej/model/LocalOpenChannelFixtures.java index dad40730..a03d126e 100644 --- a/model/src/testFixtures/java/de/cotto/lndmanagej/model/LocalOpenChannelFixtures.java +++ b/model/src/testFixtures/java/de/cotto/lndmanagej/model/LocalOpenChannelFixtures.java @@ -17,7 +17,7 @@ import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY_2; import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY_3; public class LocalOpenChannelFixtures { - public static final long NUM_UPDATES = 99_999L; + public static final long NUM_UPDATES = 100_200_300_400L; public static final Coins TOTAL_SENT = Coins.ofSatoshis(1_001); public static final Coins TOTAL_SENT_2 = Coins.ofSatoshis(101); diff --git a/web/src/integrationTest/java/de/cotto/lndmanagej/controller/ChannelControllerIT.java b/web/src/integrationTest/java/de/cotto/lndmanagej/controller/ChannelControllerIT.java index 2b40f769..27473c22 100644 --- a/web/src/integrationTest/java/de/cotto/lndmanagej/controller/ChannelControllerIT.java +++ b/web/src/integrationTest/java/de/cotto/lndmanagej/controller/ChannelControllerIT.java @@ -30,6 +30,7 @@ import static de.cotto.lndmanagej.model.ForceClosedChannelFixtures.FORCE_CLOSED_ import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL; import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL_2; import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL_PRIVATE; +import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.NUM_UPDATES; import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.TOTAL_RECEIVED; import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.TOTAL_RECEIVED_2; import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.TOTAL_SENT; @@ -99,7 +100,8 @@ class ChannelControllerIT { .andExpect(jsonPath("$.status.private", is(false))) .andExpect(jsonPath("$.status.active", is(false))) .andExpect(jsonPath("$.status.closed", is(false))) - .andExpect(jsonPath("$.status.openClosed", is("OPEN"))); + .andExpect(jsonPath("$.status.openClosed", is("OPEN"))) + .andExpect(jsonPath("$.numUpdates", is(NUM_UPDATES))); } @Test @@ -140,6 +142,7 @@ class ChannelControllerIT { .andExpect(jsonPath("$.status.active", is(true))) .andExpect(jsonPath("$.status.closed", is(false))) .andExpect(jsonPath("$.status.openClosed", is("OPEN"))) + .andExpect(jsonPath("$.numUpdates", is(NUM_UPDATES))) .andExpect(jsonPath("$.onChainCosts.openCosts", is("1000"))) .andExpect(jsonPath("$.onChainCosts.closeCosts", is("2000"))) .andExpect(jsonPath("$.onChainCosts.sweepCosts", is("3000"))) diff --git a/web/src/main/java/de/cotto/lndmanagej/controller/dto/ChannelDetailsDto.java b/web/src/main/java/de/cotto/lndmanagej/controller/dto/ChannelDetailsDto.java index ad6aba22..5af62a10 100644 --- a/web/src/main/java/de/cotto/lndmanagej/controller/dto/ChannelDetailsDto.java +++ b/web/src/main/java/de/cotto/lndmanagej/controller/dto/ChannelDetailsDto.java @@ -31,7 +31,8 @@ public record ChannelDetailsDto( ClosedChannelDetailsDto closeDetails, FeeReportDto feeReport, FlowReportDto flowReport, - RebalanceReportDto rebalanceReport + RebalanceReportDto rebalanceReport, + long numUpdates ) { public ChannelDetailsDto( ChannelDto channelDto, @@ -62,7 +63,8 @@ public record ChannelDetailsDto( channelDto.closeDetails(), FeeReportDto.createFromModel(feeReport), FlowReportDto.createFromModel(flowReport), - RebalanceReportDto.createFromModel(rebalanceReport) + RebalanceReportDto.createFromModel(rebalanceReport), + channelDto.numUpdates() ); } diff --git a/web/src/main/java/de/cotto/lndmanagej/controller/dto/ChannelDto.java b/web/src/main/java/de/cotto/lndmanagej/controller/dto/ChannelDto.java index c716fbc4..d25df189 100644 --- a/web/src/main/java/de/cotto/lndmanagej/controller/dto/ChannelDto.java +++ b/web/src/main/java/de/cotto/lndmanagej/controller/dto/ChannelDto.java @@ -2,6 +2,7 @@ package de.cotto.lndmanagej.controller.dto; import de.cotto.lndmanagej.model.ChannelPoint; import de.cotto.lndmanagej.model.LocalChannel; +import de.cotto.lndmanagej.model.LocalOpenChannel; import de.cotto.lndmanagej.model.OpenInitiator; import de.cotto.lndmanagej.model.Pubkey; @@ -17,7 +18,8 @@ public record ChannelDto( String totalReceived, ChannelStatusDto status, OpenInitiator openInitiator, - ClosedChannelDetailsDto closeDetails + ClosedChannelDetailsDto closeDetails, + long numUpdates ) { public ChannelDto(LocalChannel localChannel) { this( @@ -32,7 +34,8 @@ public record ChannelDto( String.valueOf(localChannel.getTotalReceived().satoshis()), ChannelStatusDto.createFromModel(localChannel.getStatus()), localChannel.getOpenInitiator(), - ClosedChannelDetailsDto.createFromModel(localChannel) + ClosedChannelDetailsDto.createFromModel(localChannel), + localChannel instanceof LocalOpenChannel localOpenChannel ? localOpenChannel.getNumUpdates() : 0L ); } }