X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FFilter.java;h=648823106a4e607e1f169366b3259b9ed73fea89;hb=b2b0222f51397c5d7e0b3bf0cad6439edde3c1f3;hp=6ec794e6479b99070ba00eef14f95b9f3130c6a9;hpb=4fd49e2371dbec8f26732bd14af0d5c7aa3c1fdd;p=ldk-java diff --git a/src/main/java/org/ldk/structs/Filter.java b/src/main/java/org/ldk/structs/Filter.java index 6ec794e6..64882310 100644 --- a/src/main/java/org/ldk/structs/Filter.java +++ b/src/main/java/org/ldk/structs/Filter.java @@ -23,8 +23,10 @@ public class Filter extends CommonBase { void register_tx(byte[] txid, byte[] script_pubkey); void register_output(OutPoint outpoint, byte[] script_pubkey); } - public Filter(FilterInterface arg) { - this(new bindings.LDKFilter() { + private static class LDKFilterHolder { Filter held; } + public static Filter new_impl(FilterInterface arg) { + final LDKFilterHolder impl_holder = new LDKFilterHolder(); + impl_holder.held = new Filter(new bindings.LDKFilter() { @Override public void register_tx(byte[] txid, byte[] script_pubkey) { arg.register_tx(txid, script_pubkey); } @@ -33,6 +35,7 @@ public class Filter extends CommonBase { arg.register_output(outpoint_hu_conv, script_pubkey); } }); + return impl_holder.held; } public void register_tx(byte[] txid, byte[] script_pubkey) { bindings.Filter_register_tx(this.ptr, txid, script_pubkey);