From 786c2bf96486a96fe46405571f53296660fe1594 Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Mon, 7 Jun 2021 03:19:07 +0000 Subject: [PATCH] Update tests and Constructor to new APIs --- .../batteries/ChannelManagerConstructor.java | 6 +-- .../java/org/ldk/HumanObjectPeerTest.java | 39 +++++++++---------- .../org/ldk/ManualMsgHandlingPeerTest.java | 2 +- src/test/java/org/ldk/PeerTest.java | 4 +- 4 files changed, 24 insertions(+), 27 deletions(-) diff --git a/src/main/java/org/ldk/batteries/ChannelManagerConstructor.java b/src/main/java/org/ldk/batteries/ChannelManagerConstructor.java index 7a8ce06e..d5585408 100644 --- a/src/main/java/org/ldk/batteries/ChannelManagerConstructor.java +++ b/src/main/java/org/ldk/batteries/ChannelManagerConstructor.java @@ -1,7 +1,7 @@ package org.ldk.batteries; import org.jetbrains.annotations.Nullable; -import org.ldk.enums.LDKNetwork; +import org.ldk.enums.Network; import org.ldk.structs.*; import org.ldk.util.TwoTuple; @@ -100,10 +100,10 @@ public class ChannelManagerConstructor { /** * Constructs a channel manager from the given interface implementations */ - public ChannelManagerConstructor(LDKNetwork network, UserConfig config, byte[] current_blockchain_tip_hash, int current_blockchain_tip_height, + public ChannelManagerConstructor(Network network, UserConfig config, byte[] current_blockchain_tip_hash, int current_blockchain_tip_height, KeysInterface keys_interface, FeeEstimator fee_estimator, ChainMonitor chain_monitor, @Nullable NetGraphMsgHandler router, - BroadcasterInterface tx_broadcaster, Logger logger) throws InvalidSerializedDataException { + BroadcasterInterface tx_broadcaster, Logger logger) { channel_monitors = new TwoTuple[0]; channel_manager_latest_block_hash = null; this.chain_monitor = chain_monitor; diff --git a/src/test/java/org/ldk/HumanObjectPeerTest.java b/src/test/java/org/ldk/HumanObjectPeerTest.java index 2de30584..576f6d33 100644 --- a/src/test/java/org/ldk/HumanObjectPeerTest.java +++ b/src/test/java/org/ldk/HumanObjectPeerTest.java @@ -5,8 +5,8 @@ import org.bitcoinj.script.Script; import org.junit.jupiter.api.Test; import org.ldk.batteries.ChannelManagerConstructor; import org.ldk.batteries.NioPeerHandler; -import org.ldk.enums.LDKCurrency; -import org.ldk.enums.LDKNetwork; +import org.ldk.enums.Currency; +import org.ldk.enums.Network; import org.ldk.impl.bindings; import org.ldk.structs.*; import org.ldk.util.TwoTuple; @@ -287,26 +287,22 @@ class HumanObjectPeerTestInstance { Peer(byte seed) { this(null, seed); if (use_chan_manager_constructor) { - try { - this.constructor = new ChannelManagerConstructor(LDKNetwork.LDKNetwork_Bitcoin, UserConfig.with_default(), new byte[32], 0, - this.keys_interface, this.fee_estimator, this.chain_monitor, this.router, this.tx_broadcaster, this.logger); - constructor.chain_sync_completed(new ChannelManagerConstructor.ChannelManagerPersister() { - @Override public void handle_event(Event event) { - synchronized (pending_manager_events) { - pending_manager_events.add(event); - pending_manager_events.notifyAll(); - } + this.constructor = new ChannelManagerConstructor(Network.LDKNetwork_Bitcoin, UserConfig.with_default(), new byte[32], 0, + this.keys_interface, this.fee_estimator, this.chain_monitor, this.router, this.tx_broadcaster, this.logger); + constructor.chain_sync_completed(new ChannelManagerConstructor.ChannelManagerPersister() { + @Override public void handle_event(Event event) { + synchronized (pending_manager_events) { + pending_manager_events.add(event); + pending_manager_events.notifyAll(); } - @Override public void persist_manager(byte[] channel_manager_bytes) { } - }); - this.chan_manager = constructor.channel_manager; - this.peer_manager = constructor.peer_manager; - must_free_objs.add(new WeakReference<>(this.chan_manager)); - } catch (ChannelManagerConstructor.InvalidSerializedDataException e) { - assert false; - } + } + @Override public void persist_manager(byte[] channel_manager_bytes) { } + }); + this.chan_manager = constructor.channel_manager; + this.peer_manager = constructor.peer_manager; + must_free_objs.add(new WeakReference<>(this.chan_manager)); } else { - ChainParameters params = ChainParameters.of(LDKNetwork.LDKNetwork_Bitcoin, BestBlock.of(new byte[32], 0)); + ChainParameters params = ChainParameters.of(Network.LDKNetwork_Bitcoin, BestBlock.of(new byte[32], 0)); this.chan_manager = ChannelManager.of(this.fee_estimator, chain_watch, tx_broadcaster, logger, this.keys_interface, UserConfig.with_default(), params); byte[] random_data = keys_interface.get_secure_random_bytes(); this.peer_manager = PeerManager.of(chan_manager.as_ChannelMessageHandler(), router.as_RoutingMessageHandler(), keys_interface.get_node_secret(), random_data, logger); @@ -653,9 +649,10 @@ class HumanObjectPeerTestInstance { assert Arrays.equals(peer1_chans[0].get_channel_id(), funding.getTxId().getReversedBytes()); assert Arrays.equals(peer2_chans[0].get_channel_id(), funding.getTxId().getReversedBytes()); - Result_InvoiceSignOrCreationErrorZ invoice = UtilMethods.invoice_from_channelmanager(peer2.chan_manager, peer2.keys_interface, LDKCurrency.LDKCurrency_Bitcoin, Option_u64Z.none(), "Invoice Description"); + Result_InvoiceSignOrCreationErrorZ invoice = UtilMethods.create_invoice_from_channelmanager(peer2.chan_manager, peer2.keys_interface, Currency.LDKCurrency_Bitcoin, Option_u64Z.none(), "Invoice Description"); assert invoice instanceof Result_InvoiceSignOrCreationErrorZ.Result_InvoiceSignOrCreationErrorZ_OK; System.out.println("Got invoice: " + ((Result_InvoiceSignOrCreationErrorZ.Result_InvoiceSignOrCreationErrorZ_OK) invoice).res.to_str()); + Result_InvoiceNoneZ parsed_invoice = Invoice.from_str(((Result_InvoiceSignOrCreationErrorZ.Result_InvoiceSignOrCreationErrorZ_OK) invoice).res.to_str()); assert parsed_invoice instanceof Result_InvoiceNoneZ.Result_InvoiceNoneZ_OK; assert Arrays.equals(((Result_InvoiceNoneZ.Result_InvoiceNoneZ_OK) parsed_invoice).res.payment_hash(), ((Result_InvoiceSignOrCreationErrorZ.Result_InvoiceSignOrCreationErrorZ_OK) invoice).res.payment_hash()); diff --git a/src/test/java/org/ldk/ManualMsgHandlingPeerTest.java b/src/test/java/org/ldk/ManualMsgHandlingPeerTest.java index 12fa620e..091186b8 100644 --- a/src/test/java/org/ldk/ManualMsgHandlingPeerTest.java +++ b/src/test/java/org/ldk/ManualMsgHandlingPeerTest.java @@ -164,7 +164,7 @@ public class ManualMsgHandlingPeerTest { long peer_manager = bindings.PeerManager_new(message_handler, our_node_secret, random_data, logger); // Test Level_max() since its the only place we create a java object from a Rust-returned enum. - assert bindings.Level_max() == LDKLevel.LDKLevel_Trace; + assert bindings.Level_max() == Level.LDKLevel_Trace; // Note that we can't rely on finalizer order, so don't bother trying to rely on it here bindings.Logger_free(logger); diff --git a/src/test/java/org/ldk/PeerTest.java b/src/test/java/org/ldk/PeerTest.java index e992e533..60041991 100644 --- a/src/test/java/org/ldk/PeerTest.java +++ b/src/test/java/org/ldk/PeerTest.java @@ -3,7 +3,7 @@ package org.ldk; import org.bitcoinj.core.*; import org.bitcoinj.script.Script; import org.junit.jupiter.api.Test; -import org.ldk.enums.LDKNetwork; +import org.ldk.enums.Network; import org.ldk.impl.bindings; import java.util.ArrayList; @@ -92,7 +92,7 @@ public class PeerTest { this.keys = bindings.KeysManager_new(key_seed, System.currentTimeMillis() / 1000, (int)(System.currentTimeMillis() * 1000) & 0xffffffff); this.keys_interface = bindings.KeysManager_as_KeysInterface(keys); this.config = bindings.UserConfig_default(); - long params = bindings.ChainParameters_new(LDKNetwork.LDKNetwork_Bitcoin, bindings.BestBlock_new(new byte[32], 0)); + long params = bindings.ChainParameters_new(Network.LDKNetwork_Bitcoin, bindings.BestBlock_new(new byte[32], 0)); this.chan_manager = bindings.ChannelManager_new(fee_estimator, chain_monitor, tx_broadcaster, logger, keys_interface, config, params); this.node_id = bindings.ChannelManager_get_our_node_id(chan_manager); this.chan_manager_events = bindings.ChannelManager_as_EventsProvider(chan_manager); -- 2.30.2