+ // void ChannelDerivationParameters_free(struct LDKChannelDerivationParameters this_obj);
+ public static native void ChannelDerivationParameters_free(long this_obj);
+ // uint64_t ChannelDerivationParameters_get_value_satoshis(const struct LDKChannelDerivationParameters *NONNULL_PTR this_ptr);
+ public static native long ChannelDerivationParameters_get_value_satoshis(long this_ptr);
+ // void ChannelDerivationParameters_set_value_satoshis(struct LDKChannelDerivationParameters *NONNULL_PTR this_ptr, uint64_t val);
+ public static native void ChannelDerivationParameters_set_value_satoshis(long this_ptr, long val);
+ // const uint8_t (*ChannelDerivationParameters_get_keys_id(const struct LDKChannelDerivationParameters *NONNULL_PTR this_ptr))[32];
+ public static native byte[] ChannelDerivationParameters_get_keys_id(long this_ptr);
+ // void ChannelDerivationParameters_set_keys_id(struct LDKChannelDerivationParameters *NONNULL_PTR this_ptr, struct LDKThirtyTwoBytes val);
+ public static native void ChannelDerivationParameters_set_keys_id(long this_ptr, byte[] val);
+ // struct LDKChannelTransactionParameters ChannelDerivationParameters_get_transaction_parameters(const struct LDKChannelDerivationParameters *NONNULL_PTR this_ptr);
+ public static native long ChannelDerivationParameters_get_transaction_parameters(long this_ptr);
+ // void ChannelDerivationParameters_set_transaction_parameters(struct LDKChannelDerivationParameters *NONNULL_PTR this_ptr, struct LDKChannelTransactionParameters val);
+ public static native void ChannelDerivationParameters_set_transaction_parameters(long this_ptr, long val);
+ // MUST_USE_RES struct LDKChannelDerivationParameters ChannelDerivationParameters_new(uint64_t value_satoshis_arg, struct LDKThirtyTwoBytes keys_id_arg, struct LDKChannelTransactionParameters transaction_parameters_arg);
+ public static native long ChannelDerivationParameters_new(long value_satoshis_arg, byte[] keys_id_arg, long transaction_parameters_arg);
+ // uint64_t ChannelDerivationParameters_clone_ptr(LDKChannelDerivationParameters *NONNULL_PTR arg);
+ public static native long ChannelDerivationParameters_clone_ptr(long arg);
+ // struct LDKChannelDerivationParameters ChannelDerivationParameters_clone(const struct LDKChannelDerivationParameters *NONNULL_PTR orig);
+ public static native long ChannelDerivationParameters_clone(long orig);
+ // bool ChannelDerivationParameters_eq(const struct LDKChannelDerivationParameters *NONNULL_PTR a, const struct LDKChannelDerivationParameters *NONNULL_PTR b);
+ public static native boolean ChannelDerivationParameters_eq(long a, long b);
+ // struct LDKCVec_u8Z ChannelDerivationParameters_write(const struct LDKChannelDerivationParameters *NONNULL_PTR obj);
+ public static native byte[] ChannelDerivationParameters_write(long obj);
+ // struct LDKCResult_ChannelDerivationParametersDecodeErrorZ ChannelDerivationParameters_read(struct LDKu8slice ser);
+ public static native long ChannelDerivationParameters_read(byte[] ser);
+ // void HTLCDescriptor_free(struct LDKHTLCDescriptor this_obj);
+ public static native void HTLCDescriptor_free(long this_obj);
+ // struct LDKChannelDerivationParameters HTLCDescriptor_get_channel_derivation_parameters(const struct LDKHTLCDescriptor *NONNULL_PTR this_ptr);
+ public static native long HTLCDescriptor_get_channel_derivation_parameters(long this_ptr);
+ // void HTLCDescriptor_set_channel_derivation_parameters(struct LDKHTLCDescriptor *NONNULL_PTR this_ptr, struct LDKChannelDerivationParameters val);
+ public static native void HTLCDescriptor_set_channel_derivation_parameters(long this_ptr, long val);
+ // uint64_t HTLCDescriptor_get_per_commitment_number(const struct LDKHTLCDescriptor *NONNULL_PTR this_ptr);
+ public static native long HTLCDescriptor_get_per_commitment_number(long this_ptr);
+ // void HTLCDescriptor_set_per_commitment_number(struct LDKHTLCDescriptor *NONNULL_PTR this_ptr, uint64_t val);
+ public static native void HTLCDescriptor_set_per_commitment_number(long this_ptr, long val);
+ // struct LDKPublicKey HTLCDescriptor_get_per_commitment_point(const struct LDKHTLCDescriptor *NONNULL_PTR this_ptr);
+ public static native byte[] HTLCDescriptor_get_per_commitment_point(long this_ptr);
+ // void HTLCDescriptor_set_per_commitment_point(struct LDKHTLCDescriptor *NONNULL_PTR this_ptr, struct LDKPublicKey val);
+ public static native void HTLCDescriptor_set_per_commitment_point(long this_ptr, byte[] val);
+ // uint32_t HTLCDescriptor_get_feerate_per_kw(const struct LDKHTLCDescriptor *NONNULL_PTR this_ptr);
+ public static native int HTLCDescriptor_get_feerate_per_kw(long this_ptr);
+ // void HTLCDescriptor_set_feerate_per_kw(struct LDKHTLCDescriptor *NONNULL_PTR this_ptr, uint32_t val);
+ public static native void HTLCDescriptor_set_feerate_per_kw(long this_ptr, int val);
+ // struct LDKHTLCOutputInCommitment HTLCDescriptor_get_htlc(const struct LDKHTLCDescriptor *NONNULL_PTR this_ptr);
+ public static native long HTLCDescriptor_get_htlc(long this_ptr);
+ // void HTLCDescriptor_set_htlc(struct LDKHTLCDescriptor *NONNULL_PTR this_ptr, struct LDKHTLCOutputInCommitment val);
+ public static native void HTLCDescriptor_set_htlc(long this_ptr, long val);
+ // struct LDKCOption_ThirtyTwoBytesZ HTLCDescriptor_get_preimage(const struct LDKHTLCDescriptor *NONNULL_PTR this_ptr);
+ public static native long HTLCDescriptor_get_preimage(long this_ptr);
+ // void HTLCDescriptor_set_preimage(struct LDKHTLCDescriptor *NONNULL_PTR this_ptr, struct LDKCOption_ThirtyTwoBytesZ val);
+ public static native void HTLCDescriptor_set_preimage(long this_ptr, long val);
+ // struct LDKECDSASignature HTLCDescriptor_get_counterparty_sig(const struct LDKHTLCDescriptor *NONNULL_PTR this_ptr);
+ public static native byte[] HTLCDescriptor_get_counterparty_sig(long this_ptr);
+ // void HTLCDescriptor_set_counterparty_sig(struct LDKHTLCDescriptor *NONNULL_PTR this_ptr, struct LDKECDSASignature val);
+ public static native void HTLCDescriptor_set_counterparty_sig(long this_ptr, byte[] val);
+ // uint64_t HTLCDescriptor_clone_ptr(LDKHTLCDescriptor *NONNULL_PTR arg);
+ public static native long HTLCDescriptor_clone_ptr(long arg);
+ // struct LDKHTLCDescriptor HTLCDescriptor_clone(const struct LDKHTLCDescriptor *NONNULL_PTR orig);
+ public static native long HTLCDescriptor_clone(long orig);
+ // bool HTLCDescriptor_eq(const struct LDKHTLCDescriptor *NONNULL_PTR a, const struct LDKHTLCDescriptor *NONNULL_PTR b);
+ public static native boolean HTLCDescriptor_eq(long a, long b);
+ // struct LDKCVec_u8Z HTLCDescriptor_write(const struct LDKHTLCDescriptor *NONNULL_PTR obj);
+ public static native byte[] HTLCDescriptor_write(long obj);
+ // struct LDKCResult_HTLCDescriptorDecodeErrorZ HTLCDescriptor_read(struct LDKu8slice ser);
+ public static native long HTLCDescriptor_read(byte[] ser);
+ // MUST_USE_RES struct LDKOutPoint HTLCDescriptor_outpoint(const struct LDKHTLCDescriptor *NONNULL_PTR this_arg);
+ public static native long HTLCDescriptor_outpoint(long this_arg);
+ // MUST_USE_RES struct LDKTxOut HTLCDescriptor_previous_utxo(const struct LDKHTLCDescriptor *NONNULL_PTR this_arg);
+ public static native long HTLCDescriptor_previous_utxo(long this_arg);
+ // MUST_USE_RES struct LDKTxIn HTLCDescriptor_unsigned_tx_input(const struct LDKHTLCDescriptor *NONNULL_PTR this_arg);
+ public static native long HTLCDescriptor_unsigned_tx_input(long this_arg);
+ // MUST_USE_RES struct LDKTxOut HTLCDescriptor_tx_output(const struct LDKHTLCDescriptor *NONNULL_PTR this_arg);
+ public static native long HTLCDescriptor_tx_output(long this_arg);
+ // MUST_USE_RES struct LDKCVec_u8Z HTLCDescriptor_witness_script(const struct LDKHTLCDescriptor *NONNULL_PTR this_arg);
+ public static native byte[] HTLCDescriptor_witness_script(long this_arg);
+ // MUST_USE_RES struct LDKWitness HTLCDescriptor_tx_input_witness(const struct LDKHTLCDescriptor *NONNULL_PTR this_arg, struct LDKECDSASignature signature, struct LDKu8slice witness_script);
+ public static native byte[] HTLCDescriptor_tx_input_witness(long this_arg, byte[] signature, byte[] witness_script);
+ // MUST_USE_RES struct LDKWriteableEcdsaChannelSigner HTLCDescriptor_derive_channel_signer(const struct LDKHTLCDescriptor *NONNULL_PTR this_arg, const struct LDKSignerProvider *NONNULL_PTR signer_provider);
+ public static native long HTLCDescriptor_derive_channel_signer(long this_arg, long signer_provider);