+ /**
+ * Validate the counterparty's revocation.
+ *
+ * This is required in order for the signer to make sure that the state has moved
+ * forward and it is safe to sign the next counterparty commitment.
+ */
+ public Result_NoneNoneZ validate_counterparty_revocation(long idx, byte[] secret) {
+ long ret = bindings.ChannelSigner_validate_counterparty_revocation(this.ptr, idx, InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(secret, 32)));
+ GC.KeepAlive(this);
+ GC.KeepAlive(idx);
+ GC.KeepAlive(secret);
+ if (ret >= 0 && ret <= 4096) { return null; }
+ Result_NoneNoneZ ret_hu_conv = Result_NoneNoneZ.constr_from_ptr(ret);
+ return ret_hu_conv;
+ }
+