Map Transactions as byte[] instead of trying to keep a ptr
[ldk-java] / src / main / java / org / ldk / structs / BroadcasterInterface.java
index 2af8bc66510bfb991ba61eb2059eb0ffc944aafc..df6b6493e5a5542ddd48fad004929397a06e3c8e 100644 (file)
@@ -20,15 +20,20 @@ public class BroadcasterInterface extends CommonBase {
        }
 
        public static interface BroadcasterInterfaceInterface {
-               void broadcast_transaction(Transaction tx);
+               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
+       public void broadcast_transaction(byte[] tx) {
+               bindings.BroadcasterInterface_broadcast_transaction(this.ptr, tx);
+       }
+
 }