X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Ftest%2Fjava%2Forg%2Fldk%2FHumanObjectPeerTest.java;fp=src%2Ftest%2Fjava%2Forg%2Fldk%2FHumanObjectPeerTest.java;h=cb79ff664310b7e934d88e4b63ee203129903fa8;hb=246459dcbc3be28c38b4951140a5933f4b3aa024;hp=807b33074b138b8e47adbe099615c2d5c9b7f6c6;hpb=b52dde859c138f9257499496749d1eb89f9f6f43;p=ldk-java diff --git a/src/test/java/org/ldk/HumanObjectPeerTest.java b/src/test/java/org/ldk/HumanObjectPeerTest.java index 807b3307..cb79ff66 100644 --- a/src/test/java/org/ldk/HumanObjectPeerTest.java +++ b/src/test/java/org/ldk/HumanObjectPeerTest.java @@ -42,9 +42,9 @@ class HumanObjectPeerTestInstance { @Override public byte[] get_shutdown_pubkey() { return underlying_if.get_shutdown_pubkey(); } @Override - public ChannelKeys get_channel_keys(boolean inbound, long channel_value_satoshis) { - ChannelKeys underlying_ck = underlying_if.get_channel_keys(inbound, channel_value_satoshis); - ChannelKeys.ChannelKeysInterface cki = new ChannelKeys.ChannelKeysInterface() { + public Sign get_channel_signer(boolean inbound, long channel_value_satoshis) { + Sign underlying_ck = underlying_if.get_channel_signer(inbound, channel_value_satoshis); + Sign.SignInterface si = new Sign.SignInterface() { @Override public byte[] get_per_commitment_point(long idx) { return underlying_ck.get_per_commitment_point(idx); @@ -56,8 +56,8 @@ class HumanObjectPeerTestInstance { } @Override - public TwoTuple key_derivation_params() { - return new TwoTuple((long)0, (long)1); + public byte[] channel_keys_id() { + return new byte[32]; } @Override @@ -100,8 +100,8 @@ class HumanObjectPeerTestInstance { return underlying_ck.write(); } }; - ChannelKeys resp = ChannelKeys.new_impl(cki, underlying_ck.get_pubkeys()); - must_free_objs.add(new WeakReference<>(cki)); + Sign resp = Sign.new_impl(si, underlying_ck.get_pubkeys()); + must_free_objs.add(new WeakReference<>(si)); must_free_objs.add(new WeakReference<>(resp)); must_free_objs.add(new WeakReference<>(underlying_ck)); return resp; @@ -113,7 +113,7 @@ class HumanObjectPeerTestInstance { } @Override - public Result_ChanKeySignerDecodeErrorZ read_chan_signer(byte[] reader) { + public Result_SignDecodeErrorZ read_chan_signer(byte[] reader) { return underlying_if.read_chan_signer(reader); } }); @@ -228,7 +228,7 @@ class HumanObjectPeerTestInstance { for (byte i = 0; i < 32; i++) { key_seed[i] = (byte) (i ^ seed); } - KeysManager keys = KeysManager.constructor_new(key_seed, LDKNetwork.LDKNetwork_Bitcoin, System.currentTimeMillis() / 1000, (int) (System.currentTimeMillis() * 1000)); + KeysManager keys = KeysManager.constructor_new(key_seed, System.currentTimeMillis() / 1000, (int) (System.currentTimeMillis() * 1000)); if (use_km_wrapper) { this.keys_interface = manual_keysif(keys.as_KeysInterface()); } else { @@ -249,7 +249,7 @@ class HumanObjectPeerTestInstance { } Peer(byte seed) { this(null, seed); - this.chan_manager = ChannelManager.constructor_new(LDKNetwork.LDKNetwork_Bitcoin, FeeEstimator.new_impl(confirmation_target -> 0), chain_watch, tx_broadcaster, logger, this.keys_interface, UserConfig.constructor_default(), 1); + this.chan_manager = ChannelManager.constructor_new(FeeEstimator.new_impl(confirmation_target -> 0), chain_watch, tx_broadcaster, logger, this.keys_interface, UserConfig.constructor_default(), LDKNetwork.LDKNetwork_Bitcoin, new byte[32], 1); this.node_id = chan_manager.get_our_node_id(); this.chan_manager_events = chan_manager.as_EventsProvider(); @@ -333,6 +333,20 @@ class HumanObjectPeerTestInstance { return null; } + Event[] get_monitor_events() { + if (chain_monitor != null) { + return chain_monitor.as_EventsProvider().get_and_clear_pending_events(); + } else { + synchronized (monitors) { + assert monitors.size() == 1; + for (ChannelMonitor mon : monitors.values()) { + return mon.get_and_clear_pending_events(); + } + return null; + } + } + } + Route get_route(byte[] dest_node, ChannelDetails[] our_chans) { try (LockedNetworkGraph netgraph = this.router.read_locked_graph()) { NetworkGraph graph = netgraph.graph(); @@ -517,6 +531,18 @@ class HumanObjectPeerTestInstance { assert payment_res instanceof Result_NonePaymentSendFailureZ.Result_NonePaymentSendFailureZ_OK; wait_events_processed(peer1, peer2); + RouteHop[][] hops = new RouteHop[1][1]; + byte[] hop_pubkey = new byte[33]; + hop_pubkey[0] = 3; + hop_pubkey[1] = 42; + hops[0][0] = RouteHop.constructor_new(hop_pubkey, NodeFeatures.constructor_known(), 42, ChannelFeatures.constructor_known(), 100, 0); + Route r2 = Route.constructor_new(hops); + payment_res = peer1.chan_manager.send_payment(r2, payment_hash, new byte[32]); + assert payment_res instanceof Result_NonePaymentSendFailureZ.Result_NonePaymentSendFailureZ_Err; + + assert peer1.get_monitor_events().length == 0; + assert peer2.get_monitor_events().length == 0; + if (reload_peers) { if (use_nio_peer_handler) { peer1.nio_peer_handler.interrupt(); @@ -617,6 +643,9 @@ class HumanObjectPeerTestInstance { state.peer1.nio_peer_handler.interrupt(); state.peer2.nio_peer_handler.interrupt(); } + + assert state.peer1.get_monitor_events().length == 0; + assert state.peer2.get_monitor_events().length == 0; } java.util.LinkedList> must_free_objs = new java.util.LinkedList();