import org.ldk.enums.*;
import org.ldk.util.*;
import java.util.Arrays;
+import java.lang.ref.Reference;
import javax.annotation.Nullable;
}
public final static class SegWitProgram extends Fallback {
- public final UInt5 version;
+ public final org.ldk.util.UInt5 version;
public final byte[] program;
private SegWitProgram(long ptr, bindings.LDKFallback.SegWitProgram obj) {
super(null, ptr);
this.script_hash = obj.script_hash;
}
}
+ long clone_ptr() {
+ long ret = bindings.Fallback_clone_ptr(this.ptr);
+ Reference.reachabilityFence(this);
+ return ret;
+ }
+
/**
* Creates a copy of the Fallback
*/
public Fallback clone() {
long ret = bindings.Fallback_clone(this.ptr);
- if (ret < 1024) { return null; }
- Fallback ret_hu_conv = Fallback.constr_from_ptr(ret);
- ret_hu_conv.ptrs_to.add(this);
+ Reference.reachabilityFence(this);
+ if (ret >= 0 && ret <= 4096) { return null; }
+ org.ldk.structs.Fallback ret_hu_conv = org.ldk.structs.Fallback.constr_from_ptr(ret);
+ if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(this); };
return ret_hu_conv;
}
*/
public static Fallback seg_wit_program(UInt5 version, byte[] program) {
long ret = bindings.Fallback_seg_wit_program(version.getVal(), program);
- if (ret < 1024) { return null; }
- Fallback ret_hu_conv = Fallback.constr_from_ptr(ret);
- ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ Reference.reachabilityFence(version);
+ Reference.reachabilityFence(program);
+ if (ret >= 0 && ret <= 4096) { return null; }
+ org.ldk.structs.Fallback ret_hu_conv = org.ldk.structs.Fallback.constr_from_ptr(ret);
+ if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); };
return ret_hu_conv;
}
* Utility method to constructs a new PubKeyHash-variant Fallback
*/
public static Fallback pub_key_hash(byte[] a) {
- long ret = bindings.Fallback_pub_key_hash(a);
- if (ret < 1024) { return null; }
- Fallback ret_hu_conv = Fallback.constr_from_ptr(ret);
- ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ long ret = bindings.Fallback_pub_key_hash(InternalUtils.check_arr_len(a, 20));
+ Reference.reachabilityFence(a);
+ if (ret >= 0 && ret <= 4096) { return null; }
+ org.ldk.structs.Fallback ret_hu_conv = org.ldk.structs.Fallback.constr_from_ptr(ret);
+ if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); };
return ret_hu_conv;
}
* Utility method to constructs a new ScriptHash-variant Fallback
*/
public static Fallback script_hash(byte[] a) {
- long ret = bindings.Fallback_script_hash(a);
- if (ret < 1024) { return null; }
- Fallback ret_hu_conv = Fallback.constr_from_ptr(ret);
- ret_hu_conv.ptrs_to.add(ret_hu_conv);
+ long ret = bindings.Fallback_script_hash(InternalUtils.check_arr_len(a, 20));
+ Reference.reachabilityFence(a);
+ if (ret >= 0 && ret <= 4096) { return null; }
+ org.ldk.structs.Fallback ret_hu_conv = org.ldk.structs.Fallback.constr_from_ptr(ret);
+ if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(ret_hu_conv); };
return ret_hu_conv;
}
*/
public long hash() {
long ret = bindings.Fallback_hash(this.ptr);
+ Reference.reachabilityFence(this);
return ret;
}
+ @Override public int hashCode() {
+ return (int)this.hash();
+ }
/**
* Checks if two Fallbacks contain equal inner contents.
* This ignores pointers and is_owned flags and looks at the values in fields.
*/
public boolean eq(Fallback b) {
- boolean ret = bindings.Fallback_eq(this.ptr, b == null ? 0 : b.ptr & ~1);
- this.ptrs_to.add(b);
+ boolean ret = bindings.Fallback_eq(this.ptr, b == null ? 0 : b.ptr);
+ Reference.reachabilityFence(this);
+ Reference.reachabilityFence(b);
return ret;
}
+ @Override public boolean equals(Object o) {
+ if (!(o instanceof Fallback)) return false;
+ return this.eq((Fallback)o);
+ }
}