diff --git a/application/src/integrationTest/java/de/cotto/lndmanagej/controller/LegacyControllerIT.java b/application/src/integrationTest/java/de/cotto/lndmanagej/controller/LegacyControllerIT.java index 8647397d..0b6c2fdd 100644 --- a/application/src/integrationTest/java/de/cotto/lndmanagej/controller/LegacyControllerIT.java +++ b/application/src/integrationTest/java/de/cotto/lndmanagej/controller/LegacyControllerIT.java @@ -16,8 +16,6 @@ import java.util.Set; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_3; -import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_COMPACT; -import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_COMPACT_3; import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL; import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL_3; import static de.cotto.lndmanagej.model.ForceClosingChannelFixtures.FORCE_CLOSING_CHANNEL; @@ -74,13 +72,6 @@ class LegacyControllerIT { .andExpect(content().string(CHANNEL_ID + "\n" + CHANNEL_ID_3)); } - @Test - void getOpenChannelIdsCompact() throws Exception { - when(channelService.getOpenChannels()).thenReturn(Set.of(LOCAL_OPEN_CHANNEL, LOCAL_OPEN_CHANNEL_3)); - mockMvc.perform(get("/legacy/open-channels/compact")) - .andExpect(content().string(CHANNEL_ID_COMPACT + "\n" + CHANNEL_ID_COMPACT_3)); - } - @Test void getOpenChannelIdsPretty() throws Exception { when(channelService.getOpenChannels()).thenReturn(Set.of(LOCAL_OPEN_CHANNEL, LOCAL_OPEN_CHANNEL_3)); diff --git a/application/src/main/java/de/cotto/lndmanagej/controller/LegacyController.java b/application/src/main/java/de/cotto/lndmanagej/controller/LegacyController.java index 7f26c521..5a9992b7 100644 --- a/application/src/main/java/de/cotto/lndmanagej/controller/LegacyController.java +++ b/application/src/main/java/de/cotto/lndmanagej/controller/LegacyController.java @@ -61,14 +61,6 @@ public class LegacyController { .collect(Collectors.joining(NEWLINE)); } - @GetMapping("/open-channels/compact") - public String getOpenChannelIdsCompact() { - mark("getOpenChannelIdsCompact"); - return getOpenChannelIdsSorted() - .map(ChannelId::getCompactForm) - .collect(Collectors.joining(NEWLINE)); - } - @GetMapping("/open-channels/pretty") public String getOpenChannelIdsPretty() { mark("getOpenChannelIdsPretty"); diff --git a/application/src/main/java/de/cotto/lndmanagej/controller/dto/ChannelDetailsDto.java b/application/src/main/java/de/cotto/lndmanagej/controller/dto/ChannelDetailsDto.java index 6a572c6c..d12c7a8e 100644 --- a/application/src/main/java/de/cotto/lndmanagej/controller/dto/ChannelDetailsDto.java +++ b/application/src/main/java/de/cotto/lndmanagej/controller/dto/ChannelDetailsDto.java @@ -6,8 +6,20 @@ import de.cotto.lndmanagej.model.Pubkey; public record ChannelDetailsDto( ChannelId channelId, + String channelIdCompact, + String channelIdCompactLnd, Pubkey remotePubkey, String remoteAlias, @JsonProperty("private") boolean privateChannel ) { + public ChannelDetailsDto(ChannelId channelId, Pubkey remotePubkey, String remoteAlias, boolean privateChannel) { + this( + channelId, + channelId.getCompactForm(), + channelId.getCompactFormLnd(), + remotePubkey, + remoteAlias, + privateChannel + ); + } } diff --git a/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java b/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java index 7633a566..2b4736a6 100644 --- a/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java +++ b/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java @@ -19,7 +19,6 @@ import static de.cotto.lndmanagej.model.ChannelFixtures.CAPACITY_2; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_3; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_COMPACT; -import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_COMPACT_3; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_COMPACT_4; import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL; import static de.cotto.lndmanagej.model.CoopClosedChannelFixtures.CLOSED_CHANNEL_3; @@ -93,15 +92,6 @@ class LegacyControllerTest { ); } - @Test - void getOpenChannelIdsCompact() { - when(channelService.getOpenChannels()).thenReturn(Set.of(LOCAL_OPEN_CHANNEL, LOCAL_OPEN_CHANNEL_3)); - assertThat(legacyController.getOpenChannelIdsCompact()).isEqualTo( - CHANNEL_ID_COMPACT + "\n" + CHANNEL_ID_COMPACT_3 - ); - verify(metrics).mark(argThat(name -> name.endsWith(".getOpenChannelIdsCompact"))); - } - @Test void getOpenChannelIdsPretty() { when(nodeService.getAlias(PUBKEY_2)).thenReturn(ALIAS_2); diff --git a/model/src/main/java/de/cotto/lndmanagej/model/ChannelId.java b/model/src/main/java/de/cotto/lndmanagej/model/ChannelId.java index 37327691..38d9a60a 100644 --- a/model/src/main/java/de/cotto/lndmanagej/model/ChannelId.java +++ b/model/src/main/java/de/cotto/lndmanagej/model/ChannelId.java @@ -4,10 +4,11 @@ import javax.annotation.Nonnull; import java.util.Objects; public final class ChannelId implements Comparable { - private final long shortChannelId; private static final int EXPECTED_NUMBER_OF_SEGMENTS = 3; private static final long NOT_BEFORE = 430_103_660_018_532_352L; // January 1st 2016 + private final long shortChannelId; + private ChannelId(long shortChannelId) { this.shortChannelId = shortChannelId; } @@ -33,10 +34,11 @@ public final class ChannelId implements Comparable { } public String getCompactForm() { - long block = shortChannelId >> 40; - long transaction = shortChannelId >> 16 & 0xFFFFFF; - long output = shortChannelId & 0xFFFF; - return block + ":" + transaction + ":" + output; + return getCompactFormWithDelimiter("x"); + } + + public String getCompactFormLnd() { + return getCompactFormWithDelimiter(":"); } public long getShortChannelId() { @@ -69,4 +71,11 @@ public final class ChannelId implements Comparable { public int compareTo(@Nonnull ChannelId other) { return Long.compare(shortChannelId, other.shortChannelId); } + + private String getCompactFormWithDelimiter(String delimiter) { + long block = shortChannelId >> 40; + long transaction = shortChannelId >> 16 & 0xFFFFFF; + long output = shortChannelId & 0xFFFF; + return block + delimiter + transaction + delimiter + output; + } } diff --git a/model/src/test/java/de/cotto/lndmanagej/model/ChannelIdTest.java b/model/src/test/java/de/cotto/lndmanagej/model/ChannelIdTest.java index ca781942..54995b2f 100644 --- a/model/src/test/java/de/cotto/lndmanagej/model/ChannelIdTest.java +++ b/model/src/test/java/de/cotto/lndmanagej/model/ChannelIdTest.java @@ -132,6 +132,11 @@ class ChannelIdTest { assertThat(CHANNEL_ID.getCompactForm()).isEqualTo(CHANNEL_ID_COMPACT); } + @Test + void getCompactFormLnd() { + assertThat(CHANNEL_ID.getCompactFormLnd()).isEqualTo("712345:123:1"); + } + @Test void testEquals() { EqualsVerifier.forClass(ChannelId.class).verify(); diff --git a/model/src/testFixtures/java/de/cotto/lndmanagej/model/ChannelIdFixtures.java b/model/src/testFixtures/java/de/cotto/lndmanagej/model/ChannelIdFixtures.java index 326b0868..07bc68dc 100644 --- a/model/src/testFixtures/java/de/cotto/lndmanagej/model/ChannelIdFixtures.java +++ b/model/src/testFixtures/java/de/cotto/lndmanagej/model/ChannelIdFixtures.java @@ -1,10 +1,10 @@ package de.cotto.lndmanagej.model; public class ChannelIdFixtures { - public static final String CHANNEL_ID_COMPACT = "712345:123:1"; - public static final String CHANNEL_ID_COMPACT_2 = "799999:456:2"; - public static final String CHANNEL_ID_COMPACT_3 = "799999:456:3"; - public static final String CHANNEL_ID_COMPACT_4 = "799999:456:4"; + public static final String CHANNEL_ID_COMPACT = "712345x123x1"; + public static final String CHANNEL_ID_COMPACT_2 = "799999x456x2"; + public static final String CHANNEL_ID_COMPACT_3 = "799999x456x3"; + public static final String CHANNEL_ID_COMPACT_4 = "799999x456x4"; public static final ChannelId CHANNEL_ID = ChannelId.fromCompactForm(CHANNEL_ID_COMPACT); public static final ChannelId CHANNEL_ID_2 = ChannelId.fromCompactForm(CHANNEL_ID_COMPACT_2); public static final ChannelId CHANNEL_ID_3 = ChannelId.fromCompactForm(CHANNEL_ID_COMPACT_3);