Skip to content

Commit 842e005

Browse files
committed
Test new block connection API and update tests to new API
1 parent aa34fef commit 842e005

File tree

2 files changed

+10
-16
lines changed

2 files changed

+10
-16
lines changed

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

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -352,10 +352,13 @@ TwoTuple<byte[], TwoTuple<Integer, TxOut>[]>[] connect_block(Block b, int height
352352
txn = new TwoTuple[]{txp};
353353
} else
354354
txn = new TwoTuple[0];
355-
chan_manager.as_Listen().block_connected(b.bitcoinSerialize(), height);
356355
if (chain_monitor != null) {
356+
chan_manager.as_Listen().block_connected(b.bitcoinSerialize(), height);
357357
chain_monitor.block_connected(header, txn, height);
358358
} else {
359+
chan_manager.transactions_confirmed(header, height, txn);
360+
chan_manager.update_best_block(header, height);
361+
// Connect manually if we aren't using a ChainMonitor and are implementing Watch ourselves
359362
synchronized (monitors) {
360363
assert monitors.size() == 1;
361364
for (ChannelMonitor mon : monitors.values()) {
@@ -529,13 +532,12 @@ TestState do_test_message_handler() throws InterruptedException {
529532
funding.getInputs().get(0).setWitness(new TransactionWitness(2)); // Make sure we don't complain about lack of witness
530533
funding.getInput(0).getWitness().setPush(0, new byte[]{0x1});
531534
funding.addOutput(Coin.SATOSHI.multiply(10000), new Script(funding_spk));
532-
peer1.chan_manager.funding_transaction_generated(chan_id, OutPoint.constructor_new(funding.getTxId().getReversedBytes(), (short) 0));
535+
peer1.chan_manager.funding_transaction_generated(chan_id, funding.bitcoinSerialize(), (short) 0);
533536
wait_events_processed(peer1, peer2);
534537

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

540542
Block b = new Block(bitcoinj_net, 2, Sha256Hash.ZERO_HASH, Sha256Hash.ZERO_HASH, 42, 0, 0, Arrays.asList(new Transaction[]{funding}));
541543
peer1.connect_block(b, 1, 0);
@@ -651,7 +653,7 @@ void do_test_message_handler_b(TestState state) {
651653
wait_events_processed(state.peer1, state.peer2);
652654

653655
assert state.peer1.broadcast_set.size() == 1;
654-
assert state.peer2.broadcast_set.size() == 0;
656+
assert state.peer2.broadcast_set.size() == 1;
655657

656658
NetworkParameters bitcoinj_net = NetworkParameters.fromID(NetworkParameters.ID_MAINNET);
657659
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)