From a82cb13ef798aaa3829b0e8d87be94f243a92f6f Mon Sep 17 00:00:00 2001 From: Carsten Otto Date: Mon, 22 Nov 2021 19:10:21 +0100 Subject: [PATCH] default to compact form, add channel point to channel details --- .../lndmanagej/controller/ChannelDetailsControllerIT.java | 6 +++++- .../lndmanagej/controller/dto/ChannelDetailsDto.java | 8 +++++--- .../controller/dto/ObjectMapperConfiguration.java | 2 ++ .../main/java/de/cotto/lndmanagej/model/ChannelId.java | 2 +- .../java/de/cotto/lndmanagej/model/ChannelIdTest.java | 3 +-- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/application/src/integrationTest/java/de/cotto/lndmanagej/controller/ChannelDetailsControllerIT.java b/application/src/integrationTest/java/de/cotto/lndmanagej/controller/ChannelDetailsControllerIT.java index a9cf5c1d..7aa56504 100644 --- a/application/src/integrationTest/java/de/cotto/lndmanagej/controller/ChannelDetailsControllerIT.java +++ b/application/src/integrationTest/java/de/cotto/lndmanagej/controller/ChannelDetailsControllerIT.java @@ -16,6 +16,7 @@ import java.util.Optional; import static de.cotto.lndmanagej.model.BalanceInformationFixtures.BALANCE_INFORMATION_2; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID; +import static de.cotto.lndmanagej.model.ChannelPointFixtures.CHANNEL_POINT; import static de.cotto.lndmanagej.model.LocalOpenChannelFixtures.LOCAL_OPEN_CHANNEL_PRIVATE; import static de.cotto.lndmanagej.model.NodeFixtures.ALIAS_2; import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY_2; @@ -62,7 +63,10 @@ class ChannelDetailsControllerIT { when(onChainCostService.getCloseCosts(CHANNEL_ID)).thenReturn(Optional.of(Coins.ofSatoshis(2000))); when(balanceService.getBalanceInformation(CHANNEL_ID)).thenReturn(Optional.of(BALANCE_INFORMATION_2)); mockMvc.perform(get(CHANNEL_PREFIX + "/details")) - .andExpect(jsonPath("$.channelId", is(CHANNEL_ID.toString()))) + .andExpect(jsonPath("$.channelIdShort", is(String.valueOf(CHANNEL_ID.getShortChannelId())))) + .andExpect(jsonPath("$.channelIdCompact", is(CHANNEL_ID.getCompactForm()))) + .andExpect(jsonPath("$.channelIdCompactLnd", is(CHANNEL_ID.getCompactFormLnd()))) + .andExpect(jsonPath("$.channelPoint", is(CHANNEL_POINT.toString()))) .andExpect(jsonPath("$.remotePubkey", is(PUBKEY_2.toString()))) .andExpect(jsonPath("$.remoteAlias", is(ALIAS_2))) .andExpect(jsonPath("$.private", is(true))) 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 8315cea9..7750353a 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 @@ -2,14 +2,15 @@ package de.cotto.lndmanagej.controller.dto; import com.fasterxml.jackson.annotation.JsonProperty; import de.cotto.lndmanagej.model.BalanceInformation; -import de.cotto.lndmanagej.model.ChannelId; +import de.cotto.lndmanagej.model.ChannelPoint; import de.cotto.lndmanagej.model.LocalChannel; import de.cotto.lndmanagej.model.Pubkey; public record ChannelDetailsDto( - ChannelId channelId, + String channelIdShort, String channelIdCompact, String channelIdCompactLnd, + ChannelPoint channelPoint, Pubkey remotePubkey, String remoteAlias, @JsonProperty("private") boolean privateChannel, @@ -23,9 +24,10 @@ public record ChannelDetailsDto( OnChainCostsDto onChainCosts ) { this( - localChannel.getId(), + String.valueOf(localChannel.getId().getShortChannelId()), localChannel.getId().getCompactForm(), localChannel.getId().getCompactFormLnd(), + localChannel.getChannelPoint(), localChannel.getRemotePubkey(), remoteAlias, localChannel.isPrivateChannel(), diff --git a/application/src/main/java/de/cotto/lndmanagej/controller/dto/ObjectMapperConfiguration.java b/application/src/main/java/de/cotto/lndmanagej/controller/dto/ObjectMapperConfiguration.java index 424cc886..799e08a5 100644 --- a/application/src/main/java/de/cotto/lndmanagej/controller/dto/ObjectMapperConfiguration.java +++ b/application/src/main/java/de/cotto/lndmanagej/controller/dto/ObjectMapperConfiguration.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import de.cotto.lndmanagej.model.ChannelId; +import de.cotto.lndmanagej.model.ChannelPoint; import de.cotto.lndmanagej.model.Pubkey; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -21,6 +22,7 @@ public class ObjectMapperConfiguration { SimpleModule module = new SimpleModule("SimpleModule"); module.addSerializer(Pubkey.class, new ToStringSerializer()); module.addSerializer(ChannelId.class, new ToStringSerializer()); + module.addSerializer(ChannelPoint.class, new ToStringSerializer()); return new ObjectMapper().registerModule(module); } } 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 38d9a60a..85c83b44 100644 --- a/model/src/main/java/de/cotto/lndmanagej/model/ChannelId.java +++ b/model/src/main/java/de/cotto/lndmanagej/model/ChannelId.java @@ -64,7 +64,7 @@ public final class ChannelId implements Comparable { @Override public String toString() { - return String.valueOf(shortChannelId); + return getCompactForm(); } @Override 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 54995b2f..593f5219 100644 --- a/model/src/test/java/de/cotto/lndmanagej/model/ChannelIdTest.java +++ b/model/src/test/java/de/cotto/lndmanagej/model/ChannelIdTest.java @@ -144,7 +144,6 @@ class ChannelIdTest { @Test void testToString() { - String expectedString = String.valueOf(CHANNEL_ID.getShortChannelId()); - assertThat(CHANNEL_ID).hasToString(expectedString); + assertThat(CHANNEL_ID).hasToString(CHANNEL_ID.getCompactForm()); } } \ No newline at end of file