public class PeerTest {
@Test
void test_message_handler() {
- long logger = bindings.LDKLogger_new((String arg)->{
- System.out.println(arg);
- });
- long chan_handler = bindings.LDKChannelMessageHandler_new(new bindings.LDKChannelMessageHandler() {
- @Override
- public void handle_open_channel(long their_node_id, long their_features, long msg) {
-
- }
-
- @Override
- public void handle_accept_channel(long their_node_id, long their_features, long msg) {
-
- }
-
- @Override
- public void handle_funding_created(long their_node_id, long msg) {
-
- }
-
- @Override
- public void handle_funding_signed(long their_node_id, long msg) {
-
- }
-
- @Override
- public void handle_funding_locked(long their_node_id, long msg) {
-
- }
-
- @Override
- public void handle_shutdown(long their_node_id, long msg) {
-
- }
-
- @Override
- public void handle_closing_signed(long their_node_id, long msg) {
-
- }
-
- @Override
- public void handle_update_add_htlc(long their_node_id, long msg) {
-
- }
+ long logger = bindings.LDKLogger_new((String arg)-> System.out.println(arg));
+ long fee_estimator = bindings.LDKFeeEstimator_new(new bindings.LDKFeeEstimator() {
@Override
- public void handle_update_fulfill_htlc(long their_node_id, long msg) {
-
- }
-
- @Override
- public void handle_update_fail_htlc(long their_node_id, long msg) {
-
+ public int get_est_sat_per_1000_weight(bindings.LDKConfirmationTarget confirmation_target) {
+ return 0;
}
-
+ });
+ long tx_broadcaster = bindings.LDKBroadcasterInterface_new(new bindings.LDKBroadcasterInterface() {
@Override
- public void handle_update_fail_malformed_htlc(long their_node_id, long msg) {
-
+ public void broadcast_transaction(long tx) {
+ // We should broadcast
}
-
+ });
+ long chain_monitor = bindings.LDKManyChannelMonitor_new(new bindings.LDKManyChannelMonitor() {
@Override
- public void handle_commitment_signed(long their_node_id, long msg) {
-
+ public long add_monitor(long funding_txo, long monitor) {
+ return 0;
}
@Override
- public void handle_revoke_and_ack(long their_node_id, long msg) {
-
+ public long update_monitor(long funding_txo, long monitor) {
+ return 0;
}
@Override
- public void handle_update_fee(long their_node_id, long msg) {
-
+ public long get_and_clear_pending_monitor_events() {
+ return 0;
}
+ });
+ byte[] key_seed = new byte[32];
+ for (byte i = 0; i < 32; i++) { key_seed[i] = i; }
+ long keys = bindings.KeysManager_new(key_seed, bindings.LDKNetwork.LDKNetwork_Bitcoin, System.currentTimeMillis() / 1000, (int)(System.currentTimeMillis() * 1000) & 0xffffffff);
+ long keys_interface = bindings.KeysManager_as_KeysInterface(keys);
+ long config = bindings.UserConfig_default();
+ long chan_manager = bindings.ChannelManager_new(bindings.LDKNetwork.LDKNetwork_Bitcoin, fee_estimator, chain_monitor, tx_broadcaster, logger, keys_interface, config, 1);
+ long chan_handler = bindings.ChannelManager_as_ChannelMessageHandler(chan_manager);
+ long chain_watch = bindings.LDKChainWatchInterface_new(new bindings.LDKChainWatchInterface() {
@Override
- public void handle_announcement_signatures(long their_node_id, long msg) {
+ public void install_watch_tx(byte[] txid, long script_pub_key) {
}
@Override
- public void peer_disconnected(long their_node_id, boolean no_connection_possible) {
+ public void install_watch_outpoint(long outpoint, long out_script) {
}
@Override
- public void peer_connected(long their_node_id, long msg) {
+ public void watch_all_txn() {
}
@Override
- public void handle_channel_reestablish(long their_node_id, long msg) {
-
+ public long get_chain_utxo(long genesis_hash, long unspent_tx_output_identifier) {
+ return 0;
}
@Override
- public void handle_error(long their_node_id, long msg) {
-
- }
- }, () -> 0);
- long route_handler = bindings.LDKRoutingMessageHandler_new(new bindings.LDKRoutingMessageHandler() {
- @Override public long handle_node_announcement(long msg) {
- return 0;
- }
- @Override public long handle_channel_announcement(long msg) {
+ public long filter_block(long block) {
return 0;
}
- @Override public long handle_channel_update(long msg) {
- return 0;
- }
- @Override public void handle_htlc_fail_channel_update(long update) {
- }
- @Override public long get_next_channel_announcements(long starting_point, byte batch_amount) {
- return 0;
- }
- @Override public long get_next_node_announcements(long starting_point, byte batch_amount) {
+ @Override
+ public long reentered() {
return 0;
}
- @Override public boolean should_request_full_sync(long node_id) {
- return false;
- }
});
+ long router = bindings.NetGraphMsgHandler_new(chain_watch, logger);
+ long route_handler = bindings.NetGraphMsgHandler_as_RoutingMessageHandler(router);
long message_handler = bindings.MessageHandler_new(chan_handler, route_handler);
long our_node_secret = bindings.LDKSecretKey_new(); //TODO: Need LDKSecretKey constructor
byte[] random_data = new byte[32];
// Note that we can't rely on finalizer order, so don't bother trying to rely on it here
bindings.Logger_free(logger);
+ bindings.FeeEstimator_free(fee_estimator);
+ bindings.BroadcasterInterface_free(tx_broadcaster);
+ bindings.ManyChannelMonitor_free(chain_monitor);
+ bindings.KeysManager_free(keys);
+ bindings.KeysInterface_free(keys_interface);
+ bindings.ChannelManager_free(chan_manager);
bindings.ChannelMessageHandler_free(chan_handler);
+ bindings.ChainWatchInterface_free(chain_watch);
+ bindings.NetGraphMsgHandler_free(router);
bindings.RoutingMessageHandler_free(route_handler);
//bindings.MessageHandler_free(message_handler);
bindings.PeerManager_free(peer_manager);