Skip to content

Commit eea8d76

Browse files
committed
Test new block connection API and update tests to new API
1 parent 8de65a3 commit eea8d76

File tree

2 files changed

+11
-16
lines changed

2 files changed

+11
-16
lines changed

src/test/java/org/ldk/HumanObjectPeerTest.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -353,10 +353,13 @@ TwoTuple<byte[], TwoTuple<Integer, TxOut>[]>[] connect_block(Block b, int height
353353
txn = new TwoTuple[]{txp};
354354
} else
355355
txn = new TwoTuple[0];
356-
chan_manager.as_Listen().block_connected(b.bitcoinSerialize(), height);
357356
if (chain_monitor != null) {
357+
chan_manager.as_Listen().block_connected(b.bitcoinSerialize(), height);
358358
chain_monitor.block_connected(header, txn, height);
359359
} else {
360+
chan_manager.transactions_confirmed(header, height, txn);
361+
chan_manager.update_best_block(header, height);
362+
// Connect manually if we aren't using a ChainMonitor and are implementing Watch ourselves
360363
synchronized (monitors) {
361364
assert monitors.size() == 1;
362365
for (ChannelMonitor mon : monitors.values()) {
@@ -530,13 +533,13 @@ TestState do_test_message_handler() throws InterruptedException {
530533
funding.getInputs().get(0).setWitness(new TransactionWitness(2)); // Make sure we don't complain about lack of witness
531534
funding.getInput(0).getWitness().setPush(0, new byte[]{0x1});
532535
funding.addOutput(Coin.SATOSHI.multiply(10000), new Script(funding_spk));
533-
peer1.chan_manager.funding_transaction_generated(chan_id, OutPoint.constructor_new(funding.getTxId().getReversedBytes(), (short) 0));
536+
Result_NoneAPIErrorZ funding_res = peer1.chan_manager.funding_transaction_generated(chan_id, funding.bitcoinSerialize(), (short) 0);
537+
assert funding_res instanceof Result_NoneAPIErrorZ.Result_NoneAPIErrorZ_OK;
534538
wait_events_processed(peer1, peer2);
535539

536-
events = peer1.chan_manager_events.get_and_clear_pending_events();
537-
assert events.length == 1;
538-
assert events[0] instanceof Event.FundingBroadcastSafe;
539-
assert ((Event.FundingBroadcastSafe) events[0]).user_channel_id == 42;
540+
assert peer1.broadcast_set.size() == 1;
541+
assert Arrays.equals(peer1.broadcast_set.get(0), funding.bitcoinSerialize());
542+
peer1.broadcast_set.clear();
540543

541544
Block b = new Block(bitcoinj_net, 2, Sha256Hash.ZERO_HASH, Sha256Hash.ZERO_HASH, 42, 0, 0, Arrays.asList(new Transaction[]{funding}));
542545
peer1.connect_block(b, 1, 0);
@@ -655,7 +658,7 @@ void do_test_message_handler_b(TestState state) {
655658
wait_events_processed(state.peer1, state.peer2);
656659

657660
assert state.peer1.broadcast_set.size() == 1;
658-
assert state.peer2.broadcast_set.size() == 0;
661+
assert state.peer2.broadcast_set.size() == 1;
659662

660663
NetworkParameters bitcoinj_net = NetworkParameters.fromID(NetworkParameters.ID_MAINNET);
661664
Transaction tx = new Transaction(bitcoinj_net, state.peer1.broadcast_set.getFirst());

src/test/java/org/ldk/PeerTest.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -238,21 +238,13 @@ public long send_data(byte[] data, boolean resume_read) {
238238
funding.getInputs().get(0).setWitness(new TransactionWitness(2)); // Make sure we don't complain about lack of witness
239239
funding.getInput(0).getWitness().setPush(0, new byte[] {0x1});
240240
funding.addOutput(Coin.SATOSHI.multiply(10000), new Script(funding_spk));
241-
long funding_txo = bindings.OutPoint_new(funding.getTxId().getReversedBytes(), (short) 0);
242-
bindings.ChannelManager_funding_transaction_generated(peer1.chan_manager, chan_id, funding_txo);
243-
bindings.OutPoint_free(funding_txo);
241+
bindings.ChannelManager_funding_transaction_generated(peer1.chan_manager, chan_id, funding.bitcoinSerialize(), (short)0);
244242

245243
bindings.PeerManager_process_events(peer1.peer_manager);
246244
while (!list.isEmpty()) { list.poll().join(); }
247245
bindings.PeerManager_process_events(peer2.peer_manager);
248246
while (!list.isEmpty()) { list.poll().join(); }
249247

250-
events = bindings.EventsProvider_get_and_clear_pending_events(peer1.chan_manager_events);
251-
assert events.length == 1;
252-
event = bindings.LDKEvent_ref_from_ptr(events[0]);
253-
assert event instanceof bindings.LDKEvent.FundingBroadcastSafe;
254-
bindings.CVec_EventZ_free(events);
255-
256248
Block b = new Block(NetworkParameters.fromID(NetworkParameters.ID_MAINNET), 2, Sha256Hash.ZERO_HASH, Sha256Hash.ZERO_HASH, 42, 0, 0, Arrays.asList(new Transaction[]{funding}));
257249
peer1.connect_block(b, funding, 1);
258250
peer2.connect_block(b, funding, 1);

0 commit comments

Comments
 (0)