1 package org.ldk.structs;
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
6 import java.util.Arrays;
10 * Struct used to return values from revoke_and_ack messages, containing a bunch of commitment
11 * transaction updates if they were pending.
13 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
14 public class CommitmentUpdate extends CommonBase {
15 CommitmentUpdate(Object _dummy, long ptr) { super(ptr); }
16 @Override @SuppressWarnings("deprecation")
17 protected void finalize() throws Throwable {
19 if (ptr != 0) { bindings.CommitmentUpdate_free(ptr); }
23 * update_add_htlc messages which should be sent
25 public void set_update_add_htlcs(UpdateAddHTLC[] val) {
26 bindings.CommitmentUpdate_set_update_add_htlcs(this.ptr, Arrays.stream(val).mapToLong(val_conv_15 -> val_conv_15 == null ? 0 : val_conv_15.ptr & ~1).toArray());
27 /* TODO 2 UpdateAddHTLC */;
31 * update_fulfill_htlc messages which should be sent
33 public void set_update_fulfill_htlcs(UpdateFulfillHTLC[] val) {
34 bindings.CommitmentUpdate_set_update_fulfill_htlcs(this.ptr, Arrays.stream(val).mapToLong(val_conv_19 -> val_conv_19 == null ? 0 : val_conv_19.ptr & ~1).toArray());
35 /* TODO 2 UpdateFulfillHTLC */;
39 * update_fail_htlc messages which should be sent
41 public void set_update_fail_htlcs(UpdateFailHTLC[] val) {
42 bindings.CommitmentUpdate_set_update_fail_htlcs(this.ptr, Arrays.stream(val).mapToLong(val_conv_16 -> val_conv_16 == null ? 0 : val_conv_16.ptr & ~1).toArray());
43 /* TODO 2 UpdateFailHTLC */;
47 * update_fail_malformed_htlc messages which should be sent
49 public void set_update_fail_malformed_htlcs(UpdateFailMalformedHTLC[] val) {
50 bindings.CommitmentUpdate_set_update_fail_malformed_htlcs(this.ptr, Arrays.stream(val).mapToLong(val_conv_25 -> val_conv_25 == null ? 0 : val_conv_25.ptr & ~1).toArray());
51 /* TODO 2 UpdateFailMalformedHTLC */;
55 * An update_fee message which should be sent
57 public UpdateFee get_update_fee() {
58 long ret = bindings.CommitmentUpdate_get_update_fee(this.ptr);
59 UpdateFee ret_hu_conv = new UpdateFee(null, ret);
60 ret_hu_conv.ptrs_to.add(this);
65 * An update_fee message which should be sent
67 public void set_update_fee(UpdateFee val) {
68 bindings.CommitmentUpdate_set_update_fee(this.ptr, val == null ? 0 : val.ptr & ~1);
69 this.ptrs_to.add(val);
73 * Finally, the commitment_signed message which should be sent
75 public CommitmentSigned get_commitment_signed() {
76 long ret = bindings.CommitmentUpdate_get_commitment_signed(this.ptr);
77 CommitmentSigned ret_hu_conv = new CommitmentSigned(null, ret);
78 ret_hu_conv.ptrs_to.add(this);
83 * Finally, the commitment_signed message which should be sent
85 public void set_commitment_signed(CommitmentSigned val) {
86 bindings.CommitmentUpdate_set_commitment_signed(this.ptr, val == null ? 0 : val.ptr & ~1);
87 this.ptrs_to.add(val);
91 * Constructs a new CommitmentUpdate given each field
93 public static CommitmentUpdate of(UpdateAddHTLC[] update_add_htlcs_arg, UpdateFulfillHTLC[] update_fulfill_htlcs_arg, UpdateFailHTLC[] update_fail_htlcs_arg, UpdateFailMalformedHTLC[] update_fail_malformed_htlcs_arg, UpdateFee update_fee_arg, CommitmentSigned commitment_signed_arg) {
94 long ret = bindings.CommitmentUpdate_new(Arrays.stream(update_add_htlcs_arg).mapToLong(update_add_htlcs_arg_conv_15 -> update_add_htlcs_arg_conv_15 == null ? 0 : update_add_htlcs_arg_conv_15.ptr & ~1).toArray(), Arrays.stream(update_fulfill_htlcs_arg).mapToLong(update_fulfill_htlcs_arg_conv_19 -> update_fulfill_htlcs_arg_conv_19 == null ? 0 : update_fulfill_htlcs_arg_conv_19.ptr & ~1).toArray(), Arrays.stream(update_fail_htlcs_arg).mapToLong(update_fail_htlcs_arg_conv_16 -> update_fail_htlcs_arg_conv_16 == null ? 0 : update_fail_htlcs_arg_conv_16.ptr & ~1).toArray(), Arrays.stream(update_fail_malformed_htlcs_arg).mapToLong(update_fail_malformed_htlcs_arg_conv_25 -> update_fail_malformed_htlcs_arg_conv_25 == null ? 0 : update_fail_malformed_htlcs_arg_conv_25.ptr & ~1).toArray(), update_fee_arg == null ? 0 : update_fee_arg.ptr & ~1, commitment_signed_arg == null ? 0 : commitment_signed_arg.ptr & ~1);
95 CommitmentUpdate ret_hu_conv = new CommitmentUpdate(null, ret);
96 ret_hu_conv.ptrs_to.add(ret_hu_conv);
97 /* TODO 2 UpdateAddHTLC */;
98 /* TODO 2 UpdateFulfillHTLC */;
99 /* TODO 2 UpdateFailHTLC */;
100 /* TODO 2 UpdateFailMalformedHTLC */;
101 ret_hu_conv.ptrs_to.add(update_fee_arg);
102 ret_hu_conv.ptrs_to.add(commitment_signed_arg);
107 * Creates a copy of the CommitmentUpdate
109 public CommitmentUpdate clone() {
110 long ret = bindings.CommitmentUpdate_clone(this.ptr);
111 CommitmentUpdate ret_hu_conv = new CommitmentUpdate(null, ret);
112 ret_hu_conv.ptrs_to.add(this);