[C#] Update auto-generated bindings to LDK 0.0.123
[ldk-java] / c_sharp / src / org / ldk / structs / Sha256.cs
index 5ec61e2f218090caa2806d4cd570d9430e4c3759..6c8a415b397c79303695f4d22aeea891c3d43467 100644 (file)
@@ -34,7 +34,7 @@ public class Sha256 : CommonBase {
        }
 
        /**
-        * Checks if two Sha256s contain equal inner contents.
+        * Generates a non-cryptographic 64-bit hash of the Sha256.
         */
        public long hash() {
                long ret = bindings.Sha256_hash(this.ptr);
@@ -51,7 +51,7 @@ public class Sha256 : CommonBase {
         * Two objects with NULL inner values will be considered "equal" here.
         */
        public bool eq(org.ldk.structs.Sha256 b) {
-               bool ret = bindings.Sha256_eq(this.ptr, b == null ? 0 : b.ptr);
+               bool ret = bindings.Sha256_eq(this.ptr, b.ptr);
                GC.KeepAlive(this);
                GC.KeepAlive(b);
                if (this != null) { this.ptrs_to.AddLast(b); };
@@ -62,5 +62,18 @@ public class Sha256 : CommonBase {
                if (!(o is Sha256)) return false;
                return this.eq((Sha256)o);
        }
+       /**
+        * Constructs a new [`Sha256`] from the given bytes, which are assumed to be the output of a
+        * single sha256 hash.
+        */
+       public static Sha256 from_bytes(byte[] bytes) {
+               long ret = bindings.Sha256_from_bytes(InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(bytes, 32)));
+               GC.KeepAlive(bytes);
+               if (ret >= 0 && ret <= 4096) { return null; }
+               org.ldk.structs.Sha256 ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.Sha256(null, ret); }
+               if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
+               return ret_hu_conv;
+       }
+
 }
 } } }