import org.ldk.util.*;
import java.util.Arrays;
+/**
+ * An interface to send a transaction to the Bitcoin network.
+ */
@SuppressWarnings("unchecked") // We correctly assign various generic arrays
public class BroadcasterInterface extends CommonBase {
final bindings.LDKBroadcasterInterface bindings_instance;
}
public static interface BroadcasterInterfaceInterface {
- void broadcast_transaction(Transaction tx);
+ /**
+ * Sends a transaction out to (hopefully) be mined.
+ */
+ void broadcast_transaction(byte[] tx);
}
- public BroadcasterInterface(BroadcasterInterfaceInterface arg) {
- this(new bindings.LDKBroadcasterInterface() {
- @Override public void broadcast_transaction(long tx) {
- Transaction tx_conv = new Transaction(null, tx);
- arg.broadcast_transaction(tx_conv);
+ private static class LDKBroadcasterInterfaceHolder { BroadcasterInterface held; }
+ public static BroadcasterInterface new_impl(BroadcasterInterfaceInterface arg) {
+ final LDKBroadcasterInterfaceHolder impl_holder = new LDKBroadcasterInterfaceHolder();
+ impl_holder.held = new BroadcasterInterface(new bindings.LDKBroadcasterInterface() {
+ @Override public void broadcast_transaction(byte[] tx) {
+ arg.broadcast_transaction(tx);
}
});
+ return impl_holder.held;
}
- // Skipped BroadcasterInterface_broadcast_transaction
+ /**
+ * Sends a transaction out to (hopefully) be mined.
+ */
+ public void broadcast_transaction(byte[] tx) {
+ bindings.BroadcasterInterface_broadcast_transaction(this.ptr, tx);
+ }
+
}