Skip to content

Commit d671343

Browse files
committed
Test new block connection API and update tests to new API
1 parent 6f84978 commit d671343

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
@@ -342,10 +342,13 @@ TwoTuple<byte[], TwoTuple<Integer, TxOut>[]>[] connect_block(Block b, int height
342342
txn = new TwoTuple[]{txp};
343343
} else
344344
txn = new TwoTuple[0];
345-
chan_manager.as_Listen().block_connected(b.bitcoinSerialize(), height);
346345
if (chain_monitor != null) {
346+
chan_manager.as_Listen().block_connected(b.bitcoinSerialize(), height);
347347
chain_monitor.block_connected(header, txn, height);
348348
} else {
349+
chan_manager.transactions_confirmed(header, height, txn);
350+
chan_manager.update_best_block(header, height);
351+
// Connect manually if we aren't using a ChainMonitor and are implementing Watch ourselves
349352
synchronized (monitors) {
350353
assert monitors.size() == 1;
351354
for (ChannelMonitor mon : monitors.values()) {
@@ -519,13 +522,13 @@ TestState do_test_message_handler() throws InterruptedException {
519522
funding.getInputs().get(0).setWitness(new TransactionWitness(2)); // Make sure we don't complain about lack of witness
520523
funding.getInput(0).getWitness().setPush(0, new byte[]{0x1});
521524
funding.addOutput(Coin.SATOSHI.multiply(10000), new Script(funding_spk));
522-
peer1.chan_manager.funding_transaction_generated(chan_id, OutPoint.constructor_new(funding.getTxId().getReversedBytes(), (short) 0));
525+
Result_NoneAPIErrorZ funding_res = peer1.chan_manager.funding_transaction_generated(chan_id, funding.bitcoinSerialize(), (short) 0);
526+
assert funding_res instanceof Result_NoneAPIErrorZ.Result_NoneAPIErrorZ_OK;
523527
wait_events_processed(peer1, peer2);
524528

525-
events = peer1.chan_manager_events.get_and_clear_pending_events();
526-
assert events.length == 1;
527-
assert events[0] instanceof Event.FundingBroadcastSafe;
528-
assert ((Event.FundingBroadcastSafe) events[0]).user_channel_id == 42;
529+
assert peer1.broadcast_set.size() == 1;
530+
assert Arrays.equals(peer1.broadcast_set.get(0), funding.bitcoinSerialize());
531+
peer1.broadcast_set.clear();
529532

530533
Block b = new Block(bitcoinj_net, 2, Sha256Hash.ZERO_HASH, Sha256Hash.ZERO_HASH, 42, 0, 0, Arrays.asList(new Transaction[]{funding}));
531534
peer1.connect_block(b, 1, 0);
@@ -644,7 +647,7 @@ void do_test_message_handler_b(TestState state) {
644647
wait_events_processed(state.peer1, state.peer2);
645648

646649
assert state.peer1.broadcast_set.size() == 1;
647-
assert state.peer2.broadcast_set.size() == 0;
650+
assert state.peer2.broadcast_set.size() == 1;
648651

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