return ret_ref;
}
+static inline struct LDKProbabilisticScoringParameters C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_get_a(LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ *NONNULL_PTR owner){
+ return ProbabilisticScoringParameters_clone(&owner->a);
+}
+uint32_t __attribute__((export_name("TS_C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_get_a"))) TS_C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_get_a(uint32_t owner) {
+ LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ* owner_conv = (LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ*)(owner & ~1);
+ LDKProbabilisticScoringParameters ret_var = C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_get_a(owner_conv);
+ uint32_t ret_ref = 0;
+ CHECK((((uintptr_t)ret_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
+ CHECK((((uintptr_t)&ret_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(ret_var);
+ ret_ref = (uintptr_t)ret_var.inner;
+ if (ret_var.is_owned) {
+ ret_ref |= 1;
+ }
+ return ret_ref;
+}
+
+static inline struct LDKNetworkGraph C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_get_b(LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ *NONNULL_PTR owner){
+ return NetworkGraph_clone(&owner->b);
+}
+uint32_t __attribute__((export_name("TS_C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_get_b"))) TS_C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_get_b(uint32_t owner) {
+ LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ* owner_conv = (LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ*)(owner & ~1);
+ LDKNetworkGraph ret_var = C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_get_b(owner_conv);
+ uint32_t ret_ref = 0;
+ CHECK((((uintptr_t)ret_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
+ CHECK((((uintptr_t)&ret_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(ret_var);
+ ret_ref = (uintptr_t)ret_var.inner;
+ if (ret_var.is_owned) {
+ ret_ref |= 1;
+ }
+ return ret_ref;
+}
+
+static inline struct LDKProbabilisticScorer *CResult_ProbabilisticScorerDecodeErrorZ_get_ok(LDKCResult_ProbabilisticScorerDecodeErrorZ *NONNULL_PTR owner){
+CHECK(owner->result_ok);
+ return &*owner->contents.result;
+}
+uint32_t __attribute__((export_name("TS_CResult_ProbabilisticScorerDecodeErrorZ_get_ok"))) TS_CResult_ProbabilisticScorerDecodeErrorZ_get_ok(uint32_t owner) {
+ LDKCResult_ProbabilisticScorerDecodeErrorZ* owner_conv = (LDKCResult_ProbabilisticScorerDecodeErrorZ*)(owner & ~1);
+ LDKProbabilisticScorer ret_var = *CResult_ProbabilisticScorerDecodeErrorZ_get_ok(owner_conv);
+ uint32_t ret_ref = 0;
+ CHECK((((uintptr_t)ret_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
+ CHECK((((uintptr_t)&ret_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(ret_var);
+ ret_ref = (uintptr_t)ret_var.inner & ~1;
+ return ret_ref;
+}
+
+static inline struct LDKDecodeError CResult_ProbabilisticScorerDecodeErrorZ_get_err(LDKCResult_ProbabilisticScorerDecodeErrorZ *NONNULL_PTR owner){
+CHECK(!owner->result_ok);
+ return DecodeError_clone(&*owner->contents.err);
+}
+uint32_t __attribute__((export_name("TS_CResult_ProbabilisticScorerDecodeErrorZ_get_err"))) TS_CResult_ProbabilisticScorerDecodeErrorZ_get_err(uint32_t owner) {
+ LDKCResult_ProbabilisticScorerDecodeErrorZ* owner_conv = (LDKCResult_ProbabilisticScorerDecodeErrorZ*)(owner & ~1);
+ LDKDecodeError ret_var = CResult_ProbabilisticScorerDecodeErrorZ_get_err(owner_conv);
+ uint32_t ret_ref = 0;
+ CHECK((((uintptr_t)ret_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
+ CHECK((((uintptr_t)&ret_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(ret_var);
+ ret_ref = (uintptr_t)ret_var.inner;
+ if (ret_var.is_owned) {
+ ret_ref |= 1;
+ }
+ return ret_ref;
+}
+
static inline struct LDKInitFeatures CResult_InitFeaturesDecodeErrorZ_get_ok(LDKCResult_InitFeaturesDecodeErrorZ *NONNULL_PTR owner){
CHECK(owner->result_ok);
return InitFeatures_clone(&*owner->contents.result);
LDKBaseSign_JCalls *j_calls = (LDKBaseSign_JCalls*) this_arg;
LDKHolderCommitmentTransaction holder_tx_var = *holder_tx;
uint32_t holder_tx_ref = 0;
- holder_tx_var = HolderCommitmentTransaction_clone(holder_tx);
+ holder_tx_var = HolderCommitmentTransaction_clone(&holder_tx_var);
CHECK((((uintptr_t)holder_tx_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&holder_tx_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(holder_tx_var);
LDKBaseSign_JCalls *j_calls = (LDKBaseSign_JCalls*) this_arg;
LDKCommitmentTransaction commitment_tx_var = *commitment_tx;
uint32_t commitment_tx_ref = 0;
- commitment_tx_var = CommitmentTransaction_clone(commitment_tx);
+ commitment_tx_var = CommitmentTransaction_clone(&commitment_tx_var);
CHECK((((uintptr_t)commitment_tx_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&commitment_tx_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(commitment_tx_var);
LDKBaseSign_JCalls *j_calls = (LDKBaseSign_JCalls*) this_arg;
LDKHolderCommitmentTransaction commitment_tx_var = *commitment_tx;
uint32_t commitment_tx_ref = 0;
- commitment_tx_var = HolderCommitmentTransaction_clone(commitment_tx);
+ commitment_tx_var = HolderCommitmentTransaction_clone(&commitment_tx_var);
CHECK((((uintptr_t)commitment_tx_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&commitment_tx_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(commitment_tx_var);
memcpy(per_commitment_key_arr->elems, *per_commitment_key, 32);
LDKHTLCOutputInCommitment htlc_var = *htlc;
uint32_t htlc_ref = 0;
- htlc_var = HTLCOutputInCommitment_clone(htlc);
+ htlc_var = HTLCOutputInCommitment_clone(&htlc_var);
CHECK((((uintptr_t)htlc_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&htlc_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(htlc_var);
memcpy(per_commitment_point_arr->elems, per_commitment_point.compressed_form, 33);
LDKHTLCOutputInCommitment htlc_var = *htlc;
uint32_t htlc_ref = 0;
- htlc_var = HTLCOutputInCommitment_clone(htlc);
+ htlc_var = HTLCOutputInCommitment_clone(&htlc_var);
CHECK((((uintptr_t)htlc_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&htlc_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(htlc_var);
LDKBaseSign_JCalls *j_calls = (LDKBaseSign_JCalls*) this_arg;
LDKClosingTransaction closing_tx_var = *closing_tx;
uint32_t closing_tx_ref = 0;
- closing_tx_var = ClosingTransaction_clone(closing_tx);
+ closing_tx_var = ClosingTransaction_clone(&closing_tx_var);
CHECK((((uintptr_t)closing_tx_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&closing_tx_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(closing_tx_var);
LDKBaseSign_JCalls *j_calls = (LDKBaseSign_JCalls*) this_arg;
LDKUnsignedChannelAnnouncement msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = UnsignedChannelAnnouncement_clone(msg);
+ msg_var = UnsignedChannelAnnouncement_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
LDKBaseSign_JCalls *j_calls = (LDKBaseSign_JCalls*) this_arg;
LDKChannelTransactionParameters channel_parameters_var = *channel_parameters;
uint32_t channel_parameters_ref = 0;
- channel_parameters_var = ChannelTransactionParameters_clone(channel_parameters);
+ channel_parameters_var = ChannelTransactionParameters_clone(&channel_parameters_var);
CHECK((((uintptr_t)channel_parameters_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&channel_parameters_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(channel_parameters_var);
LDKLogger_JCalls *j_calls = (LDKLogger_JCalls*) this_arg;
LDKRecord record_var = *record;
uint32_t record_ref = 0;
- record_var = Record_clone(record);
+ record_var = Record_clone(&record_var);
CHECK((((uintptr_t)record_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&record_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(record_var);
}
LDKChannelMonitor data_var = *data;
uint32_t data_ref = 0;
- data_var = ChannelMonitor_clone(data);
+ data_var = ChannelMonitor_clone(&data_var);
CHECK((((uintptr_t)data_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&data_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(data_var);
LDKChannelMonitorUpdate update_var = *update;
uint32_t update_ref = 0;
if ((uintptr_t)update_var.inner > 4096) {
- update_var = ChannelMonitorUpdate_clone(update);
+ update_var = ChannelMonitorUpdate_clone(&update_var);
CHECK((((uintptr_t)update_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&update_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(update_var);
}
LDKChannelMonitor data_var = *data;
uint32_t data_ref = 0;
- data_var = ChannelMonitor_clone(data);
+ data_var = ChannelMonitor_clone(&data_var);
CHECK((((uintptr_t)data_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&data_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(data_var);
}
LDKOpenChannel msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = OpenChannel_clone(msg);
+ msg_var = OpenChannel_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
}
LDKAcceptChannel msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = AcceptChannel_clone(msg);
+ msg_var = AcceptChannel_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKFundingCreated msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = FundingCreated_clone(msg);
+ msg_var = FundingCreated_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKFundingSigned msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = FundingSigned_clone(msg);
+ msg_var = FundingSigned_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKFundingLocked msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = FundingLocked_clone(msg);
+ msg_var = FundingLocked_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKInitFeatures their_features_var = *their_features;
uint32_t their_features_ref = 0;
- their_features_var = InitFeatures_clone(their_features);
+ their_features_var = InitFeatures_clone(&their_features_var);
CHECK((((uintptr_t)their_features_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&their_features_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(their_features_var);
}
LDKShutdown msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = Shutdown_clone(msg);
+ msg_var = Shutdown_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKClosingSigned msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = ClosingSigned_clone(msg);
+ msg_var = ClosingSigned_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKUpdateAddHTLC msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = UpdateAddHTLC_clone(msg);
+ msg_var = UpdateAddHTLC_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKUpdateFulfillHTLC msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = UpdateFulfillHTLC_clone(msg);
+ msg_var = UpdateFulfillHTLC_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKUpdateFailHTLC msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = UpdateFailHTLC_clone(msg);
+ msg_var = UpdateFailHTLC_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKUpdateFailMalformedHTLC msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = UpdateFailMalformedHTLC_clone(msg);
+ msg_var = UpdateFailMalformedHTLC_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKCommitmentSigned msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = CommitmentSigned_clone(msg);
+ msg_var = CommitmentSigned_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKRevokeAndACK msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = RevokeAndACK_clone(msg);
+ msg_var = RevokeAndACK_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKUpdateFee msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = UpdateFee_clone(msg);
+ msg_var = UpdateFee_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKAnnouncementSignatures msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = AnnouncementSignatures_clone(msg);
+ msg_var = AnnouncementSignatures_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKInit msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = Init_clone(msg);
+ msg_var = Init_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKChannelReestablish msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = ChannelReestablish_clone(msg);
+ msg_var = ChannelReestablish_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKChannelUpdate msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = ChannelUpdate_clone(msg);
+ msg_var = ChannelUpdate_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKErrorMessage msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = ErrorMessage_clone(msg);
+ msg_var = ErrorMessage_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
LDKRoutingMessageHandler_JCalls *j_calls = (LDKRoutingMessageHandler_JCalls*) this_arg;
LDKNodeAnnouncement msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = NodeAnnouncement_clone(msg);
+ msg_var = NodeAnnouncement_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
LDKRoutingMessageHandler_JCalls *j_calls = (LDKRoutingMessageHandler_JCalls*) this_arg;
LDKChannelAnnouncement msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = ChannelAnnouncement_clone(msg);
+ msg_var = ChannelAnnouncement_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
LDKRoutingMessageHandler_JCalls *j_calls = (LDKRoutingMessageHandler_JCalls*) this_arg;
LDKChannelUpdate msg_var = *msg;
uint32_t msg_ref = 0;
- msg_var = ChannelUpdate_clone(msg);
+ msg_var = ChannelUpdate_clone(&msg_var);
CHECK((((uintptr_t)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(msg_var);
memcpy(their_node_id_arr->elems, their_node_id.compressed_form, 33);
LDKInit init_var = *init;
uint32_t init_ref = 0;
- init_var = Init_clone(init);
+ init_var = Init_clone(&init_var);
CHECK((((uintptr_t)init_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&init_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(init_var);
LDKScore_JCalls *j_calls = (LDKScore_JCalls*) this_arg;
LDKNodeId source_var = *source;
uint32_t source_ref = 0;
- source_var = NodeId_clone(source);
+ source_var = NodeId_clone(&source_var);
CHECK((((uintptr_t)source_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&source_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(source_var);
}
LDKNodeId target_var = *target;
uint32_t target_ref = 0;
- target_var = NodeId_clone(target);
+ target_var = NodeId_clone(&target_var);
CHECK((((uintptr_t)target_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&target_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(target_var);
LDKPayer_JCalls *j_calls = (LDKPayer_JCalls*) this_arg;
LDKRoute route_var = *route;
uint32_t route_ref = 0;
- route_var = Route_clone(route);
+ route_var = Route_clone(&route_var);
CHECK((((uintptr_t)route_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&route_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(route_var);
LDKPayer_JCalls *j_calls = (LDKPayer_JCalls*) this_arg;
LDKRoute route_var = *route;
uint32_t route_ref = 0;
- route_var = Route_clone(route);
+ route_var = Route_clone(&route_var);
CHECK((((uintptr_t)route_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&route_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(route_var);
LDKPayer_JCalls *j_calls = (LDKPayer_JCalls*) this_arg;
LDKRoute route_var = *route;
uint32_t route_ref = 0;
- route_var = Route_clone(route);
+ route_var = Route_clone(&route_var);
CHECK((((uintptr_t)route_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&route_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(route_var);
memcpy(payer_arr->elems, payer.compressed_form, 33);
LDKRouteParameters route_params_var = *route_params;
uint32_t route_params_ref = 0;
- route_params_var = RouteParameters_clone(route_params);
+ route_params_var = RouteParameters_clone(&route_params_var);
CHECK((((uintptr_t)route_params_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
CHECK((((uintptr_t)&route_params_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
CHECK_INNER_FIELD_ACCESS_OR_NULL(route_params_var);
return (uint32_t)ret_conv;
}
+static inline uintptr_t C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_clone_ptr(LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ *NONNULL_PTR arg) {
+ LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ* ret_conv = MALLOC(sizeof(LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ), "LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ");
+ *ret_conv = C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_clone(arg);
+ return ((uint32_t)ret_conv);
+}
+uint32_t __attribute__((export_name("TS_C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_clone_ptr"))) TS_C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_clone_ptr(uint32_t arg) {
+ LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ* arg_conv = (LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ*)(arg & ~1);
+ uint32_t ret_val = C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_clone_ptr(arg_conv);
+ return ret_val;
+}
+
+uint32_t __attribute__((export_name("TS_C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_clone"))) TS_C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_clone(uint32_t orig) {
+ LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ* orig_conv = (LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ*)(orig & ~1);
+ LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ* ret_conv = MALLOC(sizeof(LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ), "LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ");
+ *ret_conv = C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_clone(orig_conv);
+ return ((uint32_t)ret_conv);
+}
+
+uint32_t __attribute__((export_name("TS_C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_new"))) TS_C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_new(uint32_t a, uint32_t b) {
+ LDKProbabilisticScoringParameters a_conv;
+ a_conv.inner = (void*)(a & (~1));
+ a_conv.is_owned = (a & 1) || (a == 0);
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(a_conv);
+ a_conv = ProbabilisticScoringParameters_clone(&a_conv);
+ LDKNetworkGraph b_conv;
+ b_conv.inner = (void*)(b & (~1));
+ b_conv.is_owned = false;
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(b_conv);
+ LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ* ret_conv = MALLOC(sizeof(LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ), "LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ");
+ *ret_conv = C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_new(a_conv, &b_conv);
+ return ((uint32_t)ret_conv);
+}
+
+void __attribute__((export_name("TS_C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_free"))) TS_C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_free(uint32_t _res) {
+ if ((_res & 1) != 0) return;
+ void* _res_ptr = (void*)(((uintptr_t)_res) & ~1);
+ CHECK_ACCESS(_res_ptr);
+ LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ _res_conv = *(LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ*)(_res_ptr);
+ FREE((void*)_res);
+ C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_free(_res_conv);
+}
+
+uint32_t __attribute__((export_name("TS_CResult_ProbabilisticScorerDecodeErrorZ_ok"))) TS_CResult_ProbabilisticScorerDecodeErrorZ_ok(uint32_t o) {
+ LDKProbabilisticScorer o_conv;
+ o_conv.inner = (void*)(o & (~1));
+ o_conv.is_owned = (o & 1) || (o == 0);
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(o_conv);
+ // WARNING: we need a move here but no clone is available for LDKProbabilisticScorer
+ LDKCResult_ProbabilisticScorerDecodeErrorZ* ret_conv = MALLOC(sizeof(LDKCResult_ProbabilisticScorerDecodeErrorZ), "LDKCResult_ProbabilisticScorerDecodeErrorZ");
+ *ret_conv = CResult_ProbabilisticScorerDecodeErrorZ_ok(o_conv);
+ return (uint32_t)ret_conv;
+}
+
+uint32_t __attribute__((export_name("TS_CResult_ProbabilisticScorerDecodeErrorZ_err"))) TS_CResult_ProbabilisticScorerDecodeErrorZ_err(uint32_t e) {
+ LDKDecodeError e_conv;
+ e_conv.inner = (void*)(e & (~1));
+ e_conv.is_owned = (e & 1) || (e == 0);
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(e_conv);
+ e_conv = DecodeError_clone(&e_conv);
+ LDKCResult_ProbabilisticScorerDecodeErrorZ* ret_conv = MALLOC(sizeof(LDKCResult_ProbabilisticScorerDecodeErrorZ), "LDKCResult_ProbabilisticScorerDecodeErrorZ");
+ *ret_conv = CResult_ProbabilisticScorerDecodeErrorZ_err(e_conv);
+ return (uint32_t)ret_conv;
+}
+
+jboolean __attribute__((export_name("TS_CResult_ProbabilisticScorerDecodeErrorZ_is_ok"))) TS_CResult_ProbabilisticScorerDecodeErrorZ_is_ok(uint32_t o) {
+ LDKCResult_ProbabilisticScorerDecodeErrorZ* o_conv = (LDKCResult_ProbabilisticScorerDecodeErrorZ*)(o & ~1);
+ jboolean ret_val = CResult_ProbabilisticScorerDecodeErrorZ_is_ok(o_conv);
+ return ret_val;
+}
+
+void __attribute__((export_name("TS_CResult_ProbabilisticScorerDecodeErrorZ_free"))) TS_CResult_ProbabilisticScorerDecodeErrorZ_free(uint32_t _res) {
+ if ((_res & 1) != 0) return;
+ void* _res_ptr = (void*)(((uintptr_t)_res) & ~1);
+ CHECK_ACCESS(_res_ptr);
+ LDKCResult_ProbabilisticScorerDecodeErrorZ _res_conv = *(LDKCResult_ProbabilisticScorerDecodeErrorZ*)(_res_ptr);
+ FREE((void*)_res);
+ CResult_ProbabilisticScorerDecodeErrorZ_free(_res_conv);
+}
+
uint32_t __attribute__((export_name("TS_CResult_InitFeaturesDecodeErrorZ_ok"))) TS_CResult_InitFeaturesDecodeErrorZ_ok(uint32_t o) {
LDKInitFeatures o_conv;
o_conv.inner = (void*)(o & (~1));
return (uint32_t)ret_conv;
}
+void __attribute__((export_name("TS_ProbabilisticScorer_free"))) TS_ProbabilisticScorer_free(uint32_t this_obj) {
+ LDKProbabilisticScorer this_obj_conv;
+ this_obj_conv.inner = (void*)(this_obj & (~1));
+ this_obj_conv.is_owned = (this_obj & 1) || (this_obj == 0);
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(this_obj_conv);
+ ProbabilisticScorer_free(this_obj_conv);
+}
+
void __attribute__((export_name("TS_ProbabilisticScoringParameters_free"))) TS_ProbabilisticScoringParameters_free(uint32_t this_obj) {
LDKProbabilisticScoringParameters this_obj_conv;
this_obj_conv.inner = (void*)(this_obj & (~1));
return (uint32_t)ret_conv;
}
+uint32_t __attribute__((export_name("TS_ProbabilisticScorer_new"))) TS_ProbabilisticScorer_new(uint32_t params, uint32_t network_graph) {
+ LDKProbabilisticScoringParameters params_conv;
+ params_conv.inner = (void*)(params & (~1));
+ params_conv.is_owned = (params & 1) || (params == 0);
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(params_conv);
+ params_conv = ProbabilisticScoringParameters_clone(¶ms_conv);
+ LDKNetworkGraph network_graph_conv;
+ network_graph_conv.inner = (void*)(network_graph & (~1));
+ network_graph_conv.is_owned = false;
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(network_graph_conv);
+ LDKProbabilisticScorer ret_var = ProbabilisticScorer_new(params_conv, &network_graph_conv);
+ uint32_t ret_ref = 0;
+ CHECK((((uintptr_t)ret_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
+ CHECK((((uintptr_t)&ret_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(ret_var);
+ ret_ref = (uintptr_t)ret_var.inner;
+ if (ret_var.is_owned) {
+ ret_ref |= 1;
+ }
+ return ret_ref;
+}
+
uint32_t __attribute__((export_name("TS_ProbabilisticScoringParameters_default"))) TS_ProbabilisticScoringParameters_default() {
LDKProbabilisticScoringParameters ret_var = ProbabilisticScoringParameters_default();
uint32_t ret_ref = 0;
return ret_ref;
}
+uint32_t __attribute__((export_name("TS_ProbabilisticScorer_as_Score"))) TS_ProbabilisticScorer_as_Score(uint32_t this_arg) {
+ LDKProbabilisticScorer this_arg_conv;
+ this_arg_conv.inner = (void*)(this_arg & (~1));
+ this_arg_conv.is_owned = false;
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(this_arg_conv);
+ LDKScore* ret_ret = MALLOC(sizeof(LDKScore), "LDKScore");
+ *ret_ret = ProbabilisticScorer_as_Score(&this_arg_conv);
+ return (uint32_t)ret_ret;
+}
+
+int8_tArray __attribute__((export_name("TS_ProbabilisticScorer_write"))) TS_ProbabilisticScorer_write(uint32_t obj) {
+ LDKProbabilisticScorer obj_conv;
+ obj_conv.inner = (void*)(obj & (~1));
+ obj_conv.is_owned = false;
+ CHECK_INNER_FIELD_ACCESS_OR_NULL(obj_conv);
+ LDKCVec_u8Z ret_var = ProbabilisticScorer_write(&obj_conv);
+ int8_tArray ret_arr = init_int8_tArray(ret_var.datalen, __LINE__);
+ memcpy(ret_arr->elems, ret_var.data, ret_var.datalen);
+ CVec_u8Z_free(ret_var);
+ return ret_arr;
+}
+
+uint32_t __attribute__((export_name("TS_ProbabilisticScorer_read"))) TS_ProbabilisticScorer_read(int8_tArray ser, uint32_t arg) {
+ LDKu8slice ser_ref;
+ ser_ref.datalen = ser->arr_len;
+ ser_ref.data = ser->elems /* XXX ser leaks */;
+ void* arg_ptr = (void*)(((uintptr_t)arg) & ~1);
+ CHECK_ACCESS(arg_ptr);
+ LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ arg_conv = *(LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ*)(arg_ptr);
+ arg_conv = C2Tuple_ProbabilisticScoringParametersNetworkGraphZ_clone((LDKC2Tuple_ProbabilisticScoringParametersNetworkGraphZ*)(((uintptr_t)arg) & ~1));
+ LDKCResult_ProbabilisticScorerDecodeErrorZ* ret_conv = MALLOC(sizeof(LDKCResult_ProbabilisticScorerDecodeErrorZ), "LDKCResult_ProbabilisticScorerDecodeErrorZ");
+ *ret_conv = ProbabilisticScorer_read(ser_ref, arg_conv);
+ return (uint32_t)ret_conv;
+}
+
void __attribute__((export_name("TS_Invoice_free"))) TS_Invoice_free(uint32_t this_obj) {
LDKInvoice this_obj_conv;
this_obj_conv.inner = (void*)(this_obj & (~1));