From 9cd344b7ae804d17648f7a6bb746ee6d1d8711df Mon Sep 17 00:00:00 2001 From: Carsten Otto Date: Fri, 12 Nov 2021 18:13:19 +0100 Subject: [PATCH] get available remote balance --- .../controller/LegacyControllerIT.java | 8 ++++ .../controller/LegacyController.java | 7 +++- .../lndmanagej/service/BalanceService.java | 25 +++++------ .../controller/LegacyControllerTest.java | 11 ++++- .../service/BalanceServiceTest.java | 41 ++++++------------- .../service/ChannelServiceTest.java | 4 +- .../cotto/lndmanagej/grpc/GrpcChannels.java | 11 +++-- .../lndmanagej/model/BalanceInformation.java | 25 +++++++++++ .../cotto/lndmanagej/model/LocalChannel.java | 16 +++----- .../model/BalanceInformationTest.java | 32 +++++++++++++++ .../lndmanagej/model/LocalChannelTest.java | 29 ++++++++++--- .../model/BalanceInformationFixtures.java | 11 +++++ .../model/LocalChannelFixtures.java | 15 +++---- 13 files changed, 159 insertions(+), 76 deletions(-) create mode 100644 model/src/main/java/de/cotto/lndmanagej/model/BalanceInformation.java create mode 100644 model/src/test/java/de/cotto/lndmanagej/model/BalanceInformationTest.java create mode 100644 model/src/testFixtures/java/de/cotto/lndmanagej/model/BalanceInformationFixtures.java 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 cc42a047..d511470c 100644 --- a/application/src/integrationTest/java/de/cotto/lndmanagej/controller/LegacyControllerIT.java +++ b/application/src/integrationTest/java/de/cotto/lndmanagej/controller/LegacyControllerIT.java @@ -148,4 +148,12 @@ class LegacyControllerIT { mockMvc.perform(get(CHANNEL_BASE + "/available-local-balance")) .andExpect(content().string(String.valueOf(availableBalance.satoshis()))); } + + @Test + void getAvailableRemoteBalance() throws Exception { + Coins availableBalance = Coins.ofSatoshis(999); + when(balanceService.getAvailableRemoteBalance(CHANNEL_ID)).thenReturn(availableBalance); + mockMvc.perform(get(CHANNEL_BASE + "/available-remote-balance")) + .andExpect(content().string(String.valueOf(availableBalance.satoshis()))); + } } \ No newline at end of file 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 bb101c99..ea2dac13 100644 --- a/application/src/main/java/de/cotto/lndmanagej/controller/LegacyController.java +++ b/application/src/main/java/de/cotto/lndmanagej/controller/LegacyController.java @@ -120,10 +120,15 @@ public class LegacyController { } @GetMapping("/channel/{channelId}/available-local-balance") - public long getAvailableLocalBalance(ChannelId channelId) { + public long getAvailableLocalBalance(@PathVariable ChannelId channelId) { return balanceService.getAvailableLocalBalance(channelId).satoshis(); } + @GetMapping("/channel/{channelId}/available-remote-balance") + public long getAvailableRemoteBalance(@PathVariable ChannelId channelId) { + return balanceService.getAvailableRemoteBalance(channelId).satoshis(); + } + private Stream getOpenChannelIdsSorted() { return channelService.getOpenChannels().stream() .map(Channel::getId) diff --git a/application/src/main/java/de/cotto/lndmanagej/service/BalanceService.java b/application/src/main/java/de/cotto/lndmanagej/service/BalanceService.java index 5f48cff9..fab1aec0 100644 --- a/application/src/main/java/de/cotto/lndmanagej/service/BalanceService.java +++ b/application/src/main/java/de/cotto/lndmanagej/service/BalanceService.java @@ -1,6 +1,7 @@ package de.cotto.lndmanagej.service; import de.cotto.lndmanagej.grpc.GrpcChannels; +import de.cotto.lndmanagej.model.BalanceInformation; import de.cotto.lndmanagej.model.ChannelId; import de.cotto.lndmanagej.model.Coins; import de.cotto.lndmanagej.model.LocalChannel; @@ -14,21 +15,17 @@ public class BalanceService { this.grpcChannels = grpcChannels; } - public Coins getLocalBalance(ChannelId channelId) { - return grpcChannels.getChannel(channelId).map(LocalChannel::getLocalBalance).orElse(Coins.NONE); - } - - public Coins getLocalReserve(ChannelId channelId) { - return grpcChannels.getChannel(channelId).map(LocalChannel::getLocalReserve).orElse(Coins.NONE); - } - public Coins getAvailableLocalBalance(ChannelId channelId) { - Coins available = grpcChannels.getChannel(channelId) - .map(c -> c.getLocalBalance().subtract(c.getLocalReserve())) + return grpcChannels.getChannel(channelId) + .map(LocalChannel::getBalanceInformation) + .map(BalanceInformation::availableLocalBalance) + .orElse(Coins.NONE); + } + + public Coins getAvailableRemoteBalance(ChannelId channelId) { + return grpcChannels.getChannel(channelId) + .map(LocalChannel::getBalanceInformation) + .map(BalanceInformation::availableRemoteBalance) .orElse(Coins.NONE); - if (available.isNegative()) { - return Coins.NONE; - } - return available; } } 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 1ed54429..e4f3e697 100644 --- a/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java +++ b/application/src/test/java/de/cotto/lndmanagej/controller/LegacyControllerTest.java @@ -17,6 +17,7 @@ import org.mockito.junit.jupiter.MockitoExtension; import java.util.Set; +import static de.cotto.lndmanagej.model.BalanceInformationFixtures.BALANCE_INFORMATION; import static de.cotto.lndmanagej.model.ChannelFixtures.CAPACITY; import static de.cotto.lndmanagej.model.ChannelFixtures.CAPACITY_2; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID; @@ -137,7 +138,7 @@ class LegacyControllerTest { @Test void getPeerPubkeys() { Channel channel = ChannelFixtures.create(PUBKEY, PUBKEY_3, CHANNEL_ID_2); - LocalChannel channel2 = new LocalChannel(channel, PUBKEY, Coins.NONE, Coins.NONE); + LocalChannel channel2 = new LocalChannel(channel, PUBKEY, BALANCE_INFORMATION); when(channelService.getOpenChannels()).thenReturn(Set.of(LOCAL_CHANNEL, channel2)); assertThat(legacyController.getPeerPubkeys()).isEqualTo(PUBKEY_2 + "\n" + PUBKEY_3); } @@ -145,7 +146,7 @@ class LegacyControllerTest { @Test void getPeerPubkeys_sorted() { Channel channel = ChannelFixtures.create(PUBKEY, PUBKEY_3, CHANNEL_ID_2); - LocalChannel channel2 = new LocalChannel(channel, PUBKEY, Coins.NONE, Coins.NONE); + LocalChannel channel2 = new LocalChannel(channel, PUBKEY, BALANCE_INFORMATION); when(channelService.getOpenChannels()).thenReturn(Set.of(channel2, LOCAL_CHANNEL)); assertThat(legacyController.getPeerPubkeys()).isEqualTo(PUBKEY_2 + "\n" + PUBKEY_3); } @@ -185,4 +186,10 @@ class LegacyControllerTest { when(balanceService.getAvailableLocalBalance(CHANNEL_ID)).thenReturn(Coins.ofSatoshis(123L)); assertThat(legacyController.getAvailableLocalBalance(CHANNEL_ID)).isEqualTo(123); } + + @Test + void getAvailableRemoteBalance() { + when(balanceService.getAvailableRemoteBalance(CHANNEL_ID)).thenReturn(Coins.ofSatoshis(123L)); + assertThat(legacyController.getAvailableRemoteBalance(CHANNEL_ID)).isEqualTo(123); + } } \ No newline at end of file diff --git a/application/src/test/java/de/cotto/lndmanagej/service/BalanceServiceTest.java b/application/src/test/java/de/cotto/lndmanagej/service/BalanceServiceTest.java index b5c237d2..cc714dde 100644 --- a/application/src/test/java/de/cotto/lndmanagej/service/BalanceServiceTest.java +++ b/application/src/test/java/de/cotto/lndmanagej/service/BalanceServiceTest.java @@ -2,7 +2,6 @@ package de.cotto.lndmanagej.service; import de.cotto.lndmanagej.grpc.GrpcChannels; import de.cotto.lndmanagej.model.Coins; -import de.cotto.lndmanagej.model.LocalChannel; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.InjectMocks; @@ -11,12 +10,8 @@ import org.mockito.junit.jupiter.MockitoExtension; import java.util.Optional; -import static de.cotto.lndmanagej.model.ChannelFixtures.CHANNEL; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID; -import static de.cotto.lndmanagej.model.LocalChannelFixtures.LOCAL_BALANCE; import static de.cotto.lndmanagej.model.LocalChannelFixtures.LOCAL_CHANNEL; -import static de.cotto.lndmanagej.model.LocalChannelFixtures.RESERVE_LOCAL; -import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY; import static org.assertj.core.api.Assertions.assertThat; import static org.mockito.Mockito.when; @@ -28,35 +23,25 @@ class BalanceServiceTest { @Mock private GrpcChannels grpcChannels; - @Test - void getLocalBalance() { - when(grpcChannels.getChannel(CHANNEL_ID)).thenReturn(Optional.of(LOCAL_CHANNEL)); - assertThat(balanceService.getLocalBalance(CHANNEL_ID)).isEqualTo(LOCAL_BALANCE); - } - - @Test - void getLocalBalance_no_channel() { - when(grpcChannels.getChannel(CHANNEL_ID)).thenReturn(Optional.empty()); - assertThat(balanceService.getLocalBalance(CHANNEL_ID)).isEqualTo(Coins.NONE); - } - - @Test - void getLocalReserve() { - when(grpcChannels.getChannel(CHANNEL_ID)).thenReturn(Optional.of(LOCAL_CHANNEL)); - assertThat(balanceService.getLocalReserve(CHANNEL_ID)).isEqualTo(RESERVE_LOCAL); - } - @Test void getAvailableLocalBalance() { when(grpcChannels.getChannel(CHANNEL_ID)).thenReturn(Optional.of(LOCAL_CHANNEL)); - assertThat(balanceService.getAvailableLocalBalance(CHANNEL_ID)) - .isEqualTo(LOCAL_BALANCE.subtract(RESERVE_LOCAL)); + assertThat(balanceService.getAvailableLocalBalance(CHANNEL_ID)).isEqualTo(Coins.ofSatoshis(900)); } @Test - void getAvailableLocalBalance_negative() { - LocalChannel localChannel = new LocalChannel(CHANNEL, PUBKEY, Coins.ofSatoshis(99), Coins.ofSatoshis(100)); - when(grpcChannels.getChannel(CHANNEL_ID)).thenReturn(Optional.of(localChannel)); + void getAvailableLocalBalance_empty() { assertThat(balanceService.getAvailableLocalBalance(CHANNEL_ID)).isEqualTo(Coins.NONE); } + + @Test + void getAvailableRemoteBalance() { + when(grpcChannels.getChannel(CHANNEL_ID)).thenReturn(Optional.of(LOCAL_CHANNEL)); + assertThat(balanceService.getAvailableRemoteBalance(CHANNEL_ID)).isEqualTo(Coins.ofSatoshis(113)); + } + + @Test + void getAvailableRemoteBalance_empty() { + assertThat(balanceService.getAvailableRemoteBalance(CHANNEL_ID)).isEqualTo(Coins.NONE); + } } \ No newline at end of file diff --git a/application/src/test/java/de/cotto/lndmanagej/service/ChannelServiceTest.java b/application/src/test/java/de/cotto/lndmanagej/service/ChannelServiceTest.java index 5493239f..6e677ab5 100644 --- a/application/src/test/java/de/cotto/lndmanagej/service/ChannelServiceTest.java +++ b/application/src/test/java/de/cotto/lndmanagej/service/ChannelServiceTest.java @@ -3,7 +3,6 @@ package de.cotto.lndmanagej.service; import de.cotto.lndmanagej.grpc.GrpcChannels; import de.cotto.lndmanagej.model.Channel; import de.cotto.lndmanagej.model.ChannelFixtures; -import de.cotto.lndmanagej.model.Coins; import de.cotto.lndmanagej.model.LocalChannel; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -13,6 +12,7 @@ import org.mockito.junit.jupiter.MockitoExtension; import java.util.Set; +import static de.cotto.lndmanagej.model.BalanceInformationFixtures.BALANCE_INFORMATION; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID_2; import static de.cotto.lndmanagej.model.LocalChannelFixtures.LOCAL_CHANNEL; import static de.cotto.lndmanagej.model.LocalChannelFixtures.LOCAL_CHANNEL_3; @@ -40,7 +40,7 @@ class ChannelServiceTest { @Test void getOpenChannelsWith_ignores_channel_to_other_node() { Channel channel = ChannelFixtures.create(PUBKEY, PUBKEY_3, CHANNEL_ID_2); - LocalChannel localChannel2 = new LocalChannel(channel, PUBKEY, Coins.NONE, Coins.NONE); + LocalChannel localChannel2 = new LocalChannel(channel, PUBKEY, BALANCE_INFORMATION); when(grpcChannels.getChannels()).thenReturn(Set.of(LOCAL_CHANNEL, localChannel2, LOCAL_CHANNEL_3)); assertThat(channelService.getOpenChannelsWith(PUBKEY_2)) .containsExactlyInAnyOrder(LOCAL_CHANNEL, LOCAL_CHANNEL_3); diff --git a/grpc-adapter/src/main/java/de/cotto/lndmanagej/grpc/GrpcChannels.java b/grpc-adapter/src/main/java/de/cotto/lndmanagej/grpc/GrpcChannels.java index 6fbfcc4d..461c2840 100644 --- a/grpc-adapter/src/main/java/de/cotto/lndmanagej/grpc/GrpcChannels.java +++ b/grpc-adapter/src/main/java/de/cotto/lndmanagej/grpc/GrpcChannels.java @@ -1,5 +1,6 @@ package de.cotto.lndmanagej.grpc; +import de.cotto.lndmanagej.model.BalanceInformation; import de.cotto.lndmanagej.model.Channel; import de.cotto.lndmanagej.model.ChannelId; import de.cotto.lndmanagej.model.Coins; @@ -48,9 +49,13 @@ public class GrpcChannels { .withNode1(ownPubkey) .withNode2(Pubkey.create(lndChannel.getRemotePubkey())) .build(); - Coins localBalance = Coins.ofSatoshis(lndChannel.getLocalBalance()); - Coins localReserve = Coins.ofSatoshis(lndChannel.getLocalConstraints().getChanReserveSat()); - return new LocalChannel(channel, ownPubkey, localBalance, localReserve); + BalanceInformation balanceInformation = new BalanceInformation( + Coins.ofSatoshis(lndChannel.getLocalBalance()), + Coins.ofSatoshis(lndChannel.getLocalConstraints().getChanReserveSat()), + Coins.ofSatoshis(lndChannel.getRemoteBalance()), + Coins.ofSatoshis(lndChannel.getRemoteConstraints().getChanReserveSat()) + ); + return new LocalChannel(channel, ownPubkey, balanceInformation); } } diff --git a/model/src/main/java/de/cotto/lndmanagej/model/BalanceInformation.java b/model/src/main/java/de/cotto/lndmanagej/model/BalanceInformation.java new file mode 100644 index 00000000..203dcb10 --- /dev/null +++ b/model/src/main/java/de/cotto/lndmanagej/model/BalanceInformation.java @@ -0,0 +1,25 @@ +package de.cotto.lndmanagej.model; + +public record BalanceInformation( + Coins localBalance, + Coins localReserve, + Coins remoteBalance, + Coins remoteReserve +) { + + public Coins availableLocalBalance() { + Coins availableLocalBalance = localBalance().subtract(localReserve()); + if (availableLocalBalance.isNegative()) { + return Coins.NONE; + } + return availableLocalBalance; + } + + public Coins availableRemoteBalance() { + Coins availableRemoteBalance = remoteBalance().subtract(remoteReserve()); + if (availableRemoteBalance.isNegative()) { + return Coins.NONE; + } + return availableRemoteBalance; + } +} diff --git a/model/src/main/java/de/cotto/lndmanagej/model/LocalChannel.java b/model/src/main/java/de/cotto/lndmanagej/model/LocalChannel.java index 18d7e0e4..bf0f21be 100644 --- a/model/src/main/java/de/cotto/lndmanagej/model/LocalChannel.java +++ b/model/src/main/java/de/cotto/lndmanagej/model/LocalChannel.java @@ -4,13 +4,10 @@ import java.util.Set; public class LocalChannel extends Channel { private final Pubkey remotePubkey; - private final Coins localBalance; - private final Coins localReserve; + private final BalanceInformation balanceInformation; - public LocalChannel(Channel channel, Pubkey ownPubkey, Coins localBalance, Coins localReserve) { + public LocalChannel(Channel channel, Pubkey ownPubkey, BalanceInformation balanceInformation) { super(channel.getId(), channel.getCapacity(), channel.getPubkeys()); - this.localBalance = localBalance; - this.localReserve = localReserve; Set pubkeys = channel.getPubkeys(); remotePubkey = pubkeys.stream() .filter(pubkey -> !ownPubkey.equals(pubkey)) @@ -19,17 +16,14 @@ public class LocalChannel extends Channel { if (!pubkeys.contains(ownPubkey)) { throw new IllegalArgumentException("Channel must have given pubkey as peer"); } + this.balanceInformation = balanceInformation; } public Pubkey getRemotePubkey() { return remotePubkey; } - public Coins getLocalBalance() { - return localBalance; - } - - public Coins getLocalReserve() { - return localReserve; + public BalanceInformation getBalanceInformation() { + return balanceInformation; } } diff --git a/model/src/test/java/de/cotto/lndmanagej/model/BalanceInformationTest.java b/model/src/test/java/de/cotto/lndmanagej/model/BalanceInformationTest.java new file mode 100644 index 00000000..90339b66 --- /dev/null +++ b/model/src/test/java/de/cotto/lndmanagej/model/BalanceInformationTest.java @@ -0,0 +1,32 @@ +package de.cotto.lndmanagej.model; + +import org.junit.jupiter.api.Test; + +import static de.cotto.lndmanagej.model.BalanceInformationFixtures.BALANCE_INFORMATION; +import static org.assertj.core.api.Assertions.assertThat; + +class BalanceInformationTest { + @Test + void availableLocalBalance() { + assertThat(BALANCE_INFORMATION.availableLocalBalance()).isEqualTo(Coins.ofSatoshis(900)); + } + + @Test + void availableLocalBalance_negative() { + BalanceInformation balanceInformation = + new BalanceInformation(Coins.ofSatoshis(100), Coins.ofSatoshis(200), Coins.NONE, Coins.NONE); + assertThat(balanceInformation.availableLocalBalance()).isEqualTo(Coins.NONE); + } + + @Test + void availableRemoteBalance() { + assertThat(BALANCE_INFORMATION.availableRemoteBalance()).isEqualTo(Coins.ofSatoshis(113)); + } + + @Test + void availableRemoteBalance_negative() { + BalanceInformation balanceInformation = + new BalanceInformation(Coins.NONE, Coins.NONE, Coins.ofSatoshis(100), Coins.ofSatoshis(200)); + assertThat(balanceInformation.availableRemoteBalance()).isEqualTo(Coins.NONE); + } +} \ No newline at end of file diff --git a/model/src/test/java/de/cotto/lndmanagej/model/LocalChannelTest.java b/model/src/test/java/de/cotto/lndmanagej/model/LocalChannelTest.java index f1b2fc42..5c975e24 100644 --- a/model/src/test/java/de/cotto/lndmanagej/model/LocalChannelTest.java +++ b/model/src/test/java/de/cotto/lndmanagej/model/LocalChannelTest.java @@ -2,9 +2,13 @@ package de.cotto.lndmanagej.model; import org.junit.jupiter.api.Test; +import static de.cotto.lndmanagej.model.BalanceInformationFixtures.BALANCE_INFORMATION; +import static de.cotto.lndmanagej.model.BalanceInformationFixtures.LOCAL_BALANCE; +import static de.cotto.lndmanagej.model.BalanceInformationFixtures.LOCAL_RESERVE; +import static de.cotto.lndmanagej.model.BalanceInformationFixtures.REMOTE_BALANCE; +import static de.cotto.lndmanagej.model.BalanceInformationFixtures.REMOTE_RESERVE; import static de.cotto.lndmanagej.model.ChannelFixtures.CHANNEL_2; import static de.cotto.lndmanagej.model.ChannelIdFixtures.CHANNEL_ID; -import static de.cotto.lndmanagej.model.LocalChannelFixtures.LOCAL_BALANCE; import static de.cotto.lndmanagej.model.LocalChannelFixtures.LOCAL_CHANNEL; import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY; import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY_2; @@ -16,26 +20,41 @@ class LocalChannelTest { @Test void getRemotePubkey() { Channel channel = ChannelFixtures.create(PUBKEY_2, PUBKEY, CHANNEL_ID); - LocalChannel localChannel = new LocalChannel(channel, PUBKEY, Coins.NONE, Coins.NONE); + LocalChannel localChannel = new LocalChannel(channel, PUBKEY, BALANCE_INFORMATION); assertThat(localChannel.getRemotePubkey()).isEqualTo(PUBKEY_2); } @Test void getRemotePubkey_swapped() { Channel channel = ChannelFixtures.create(PUBKEY_3, PUBKEY_2, CHANNEL_ID); - LocalChannel localChannel = new LocalChannel(channel, PUBKEY_3, Coins.NONE, Coins.NONE); + LocalChannel localChannel = new LocalChannel(channel, PUBKEY_3, BALANCE_INFORMATION); assertThat(localChannel.getRemotePubkey()).isEqualTo(PUBKEY_2); } @Test void ownPubkey_not_in_pubkey_set() { assertThatIllegalArgumentException() - .isThrownBy(() -> new LocalChannel(CHANNEL_2, PUBKEY_3, Coins.NONE, Coins.NONE)) + .isThrownBy(() -> new LocalChannel(CHANNEL_2, PUBKEY_3, BALANCE_INFORMATION)) .withMessage("Channel must have given pubkey as peer"); } @Test void getLocalBalance() { - assertThat(LOCAL_CHANNEL.getLocalBalance()).isEqualTo(LOCAL_BALANCE); + assertThat(LOCAL_CHANNEL.getBalanceInformation().localBalance()).isEqualTo(LOCAL_BALANCE); + } + + @Test + void getLocalReserve() { + assertThat(LOCAL_CHANNEL.getBalanceInformation().localReserve()).isEqualTo(LOCAL_RESERVE); + } + + @Test + void getRemoteBalance() { + assertThat(LOCAL_CHANNEL.getBalanceInformation().remoteBalance()).isEqualTo(REMOTE_BALANCE); + } + + @Test + void getRemoteReserve() { + assertThat(LOCAL_CHANNEL.getBalanceInformation().remoteReserve()).isEqualTo(REMOTE_RESERVE); } } \ No newline at end of file diff --git a/model/src/testFixtures/java/de/cotto/lndmanagej/model/BalanceInformationFixtures.java b/model/src/testFixtures/java/de/cotto/lndmanagej/model/BalanceInformationFixtures.java new file mode 100644 index 00000000..6dcd4449 --- /dev/null +++ b/model/src/testFixtures/java/de/cotto/lndmanagej/model/BalanceInformationFixtures.java @@ -0,0 +1,11 @@ +package de.cotto.lndmanagej.model; + +public class BalanceInformationFixtures { + public static final Coins LOCAL_BALANCE = Coins.ofSatoshis(1_000); + public static final Coins REMOTE_BALANCE = Coins.ofSatoshis(123); + public static final Coins LOCAL_RESERVE = Coins.ofSatoshis(100); + public static final Coins REMOTE_RESERVE = Coins.ofSatoshis(10); + + public static final BalanceInformation BALANCE_INFORMATION = + new BalanceInformation(LOCAL_BALANCE, LOCAL_RESERVE, REMOTE_BALANCE, REMOTE_RESERVE); +} diff --git a/model/src/testFixtures/java/de/cotto/lndmanagej/model/LocalChannelFixtures.java b/model/src/testFixtures/java/de/cotto/lndmanagej/model/LocalChannelFixtures.java index b47f41ce..6cda7e82 100644 --- a/model/src/testFixtures/java/de/cotto/lndmanagej/model/LocalChannelFixtures.java +++ b/model/src/testFixtures/java/de/cotto/lndmanagej/model/LocalChannelFixtures.java @@ -1,5 +1,6 @@ package de.cotto.lndmanagej.model; +import static de.cotto.lndmanagej.model.BalanceInformationFixtures.BALANCE_INFORMATION; import static de.cotto.lndmanagej.model.ChannelFixtures.CHANNEL; import static de.cotto.lndmanagej.model.ChannelFixtures.CHANNEL_2; import static de.cotto.lndmanagej.model.ChannelFixtures.CHANNEL_3; @@ -7,15 +8,9 @@ import static de.cotto.lndmanagej.model.ChannelFixtures.CHANNEL_TO_NODE_3; import static de.cotto.lndmanagej.model.PubkeyFixtures.PUBKEY; public class LocalChannelFixtures { - public static final Coins LOCAL_BALANCE = Coins.ofSatoshis(1_000); - public static final Coins RESERVE_LOCAL = Coins.ofSatoshis(100); - - public static final LocalChannel LOCAL_CHANNEL = - new LocalChannel(CHANNEL, PUBKEY, LOCAL_BALANCE, RESERVE_LOCAL); - public static final LocalChannel LOCAL_CHANNEL_2 = - new LocalChannel(CHANNEL_2, PUBKEY, LOCAL_BALANCE, RESERVE_LOCAL); - public static final LocalChannel LOCAL_CHANNEL_3 = - new LocalChannel(CHANNEL_3, PUBKEY, LOCAL_BALANCE, RESERVE_LOCAL); + public static final LocalChannel LOCAL_CHANNEL = new LocalChannel(CHANNEL, PUBKEY, BALANCE_INFORMATION); + public static final LocalChannel LOCAL_CHANNEL_2 = new LocalChannel(CHANNEL_2, PUBKEY, BALANCE_INFORMATION); + public static final LocalChannel LOCAL_CHANNEL_3 = new LocalChannel(CHANNEL_3, PUBKEY, BALANCE_INFORMATION); public static final LocalChannel LOCAL_CHANNEL_TO_NODE_3 = - new LocalChannel(CHANNEL_TO_NODE_3, PUBKEY, LOCAL_BALANCE, RESERVE_LOCAL); + new LocalChannel(CHANNEL_TO_NODE_3, PUBKEY, BALANCE_INFORMATION); }