- return *val->contents.err;
-}
-typedef struct LDKSign_JCalls {
- atomic_size_t refcnt;
- uint32_t get_per_commitment_point_meth;
- uint32_t release_commitment_secret_meth;
- uint32_t channel_keys_id_meth;
- uint32_t sign_counterparty_commitment_meth;
- uint32_t sign_holder_commitment_and_htlcs_meth;
- uint32_t sign_justice_transaction_meth;
- uint32_t sign_counterparty_htlc_transaction_meth;
- uint32_t sign_closing_transaction_meth;
- uint32_t sign_channel_announcement_meth;
- uint32_t ready_channel_meth;
- uint32_t write_meth;
-} LDKSign_JCalls;
-static void LDKSign_JCalls_free(void* this_arg) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- if (atomic_fetch_sub_explicit(&j_calls->refcnt, 1, memory_order_acquire) == 1) {
- js_free(j_calls->get_per_commitment_point_meth);
- js_free(j_calls->release_commitment_secret_meth);
- js_free(j_calls->channel_keys_id_meth);
- js_free(j_calls->sign_counterparty_commitment_meth);
- js_free(j_calls->sign_holder_commitment_and_htlcs_meth);
- js_free(j_calls->sign_justice_transaction_meth);
- js_free(j_calls->sign_counterparty_htlc_transaction_meth);
- js_free(j_calls->sign_closing_transaction_meth);
- js_free(j_calls->sign_channel_announcement_meth);
- js_free(j_calls->ready_channel_meth);
- js_free(j_calls->write_meth);
- FREE(j_calls);
- }
-}
-LDKPublicKey get_per_commitment_point_LDKSign_jcall(const void* this_arg, uint64_t idx) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- int8_tArray ret = js_invoke_function_1(j_calls->get_per_commitment_point_meth, idx);
- LDKPublicKey ret_ref;
- CHECK(*((uint32_t*)ret) == 33);
- memcpy(ret_ref.compressed_form, (uint8_t*)(ret + 4), 33);
- return ret_ref;
-}
-LDKThirtyTwoBytes release_commitment_secret_LDKSign_jcall(const void* this_arg, uint64_t idx) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- int8_tArray ret = js_invoke_function_1(j_calls->release_commitment_secret_meth, idx);
- LDKThirtyTwoBytes ret_ref;
- CHECK(*((uint32_t*)ret) == 32);
- memcpy(ret_ref.data, (uint8_t*)(ret + 4), 32);
- return ret_ref;
-}
-LDKThirtyTwoBytes channel_keys_id_LDKSign_jcall(const void* this_arg) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- int8_tArray ret = js_invoke_function_0(j_calls->channel_keys_id_meth);
- LDKThirtyTwoBytes ret_ref;
- CHECK(*((uint32_t*)ret) == 32);
- memcpy(ret_ref.data, (uint8_t*)(ret + 4), 32);
- return ret_ref;
-}
-LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ sign_counterparty_commitment_LDKSign_jcall(const void* this_arg, const LDKCommitmentTransaction * commitment_tx) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- LDKCommitmentTransaction commitment_tx_var = *commitment_tx;
- commitment_tx_var = CommitmentTransaction_clone(commitment_tx);
- CHECK((((long)commitment_tx_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&commitment_tx_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long commitment_tx_ref = (long)commitment_tx_var.inner;
- if (commitment_tx_var.is_owned) {
- commitment_tx_ref |= 1;
- }
- LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ* ret = (LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ*)js_invoke_function_1(j_calls->sign_counterparty_commitment_meth, commitment_tx_ref);
- LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ ret_conv = *(LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ*)(((uint64_t)ret) & ~1);
- ret_conv = CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_clone((LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ*)(((uint64_t)ret) & ~1));
- return ret_conv;
-}
-LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ sign_holder_commitment_and_htlcs_LDKSign_jcall(const void* this_arg, const LDKHolderCommitmentTransaction * commitment_tx) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- LDKHolderCommitmentTransaction commitment_tx_var = *commitment_tx;
- commitment_tx_var = HolderCommitmentTransaction_clone(commitment_tx);
- CHECK((((long)commitment_tx_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&commitment_tx_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long commitment_tx_ref = (long)commitment_tx_var.inner;
- if (commitment_tx_var.is_owned) {
- commitment_tx_ref |= 1;
- }
- LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ* ret = (LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ*)js_invoke_function_1(j_calls->sign_holder_commitment_and_htlcs_meth, commitment_tx_ref);
- LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ ret_conv = *(LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ*)(((uint64_t)ret) & ~1);
- ret_conv = CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_clone((LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ*)(((uint64_t)ret) & ~1));
- return ret_conv;
-}
-LDKCResult_SignatureNoneZ sign_justice_transaction_LDKSign_jcall(const void* this_arg, LDKTransaction justice_tx, uintptr_t input, uint64_t amount, const uint8_t (* per_commitment_key)[32], const LDKHTLCOutputInCommitment * htlc) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- LDKTransaction justice_tx_var = justice_tx;
- int8_tArray justice_tx_arr = init_arr(justice_tx_var.datalen, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(justice_tx_arr + 4), justice_tx_var.data, justice_tx_var.datalen);
- Transaction_free(justice_tx_var);
- int8_tArray per_commitment_key_arr = init_arr(32, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(per_commitment_key_arr + 4), *per_commitment_key, 32);
- LDKHTLCOutputInCommitment htlc_var = *htlc;
- htlc_var = HTLCOutputInCommitment_clone(htlc);
- CHECK((((long)htlc_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&htlc_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long htlc_ref = (long)htlc_var.inner;
- if (htlc_var.is_owned) {
- htlc_ref |= 1;
- }
- LDKCResult_SignatureNoneZ* ret = (LDKCResult_SignatureNoneZ*)js_invoke_function_5(j_calls->sign_justice_transaction_meth, justice_tx_arr, input, amount, per_commitment_key_arr, htlc_ref);
- LDKCResult_SignatureNoneZ ret_conv = *(LDKCResult_SignatureNoneZ*)(((uint64_t)ret) & ~1);
- ret_conv = CResult_SignatureNoneZ_clone((LDKCResult_SignatureNoneZ*)(((uint64_t)ret) & ~1));
- return ret_conv;
-}
-LDKCResult_SignatureNoneZ sign_counterparty_htlc_transaction_LDKSign_jcall(const void* this_arg, LDKTransaction htlc_tx, uintptr_t input, uint64_t amount, LDKPublicKey per_commitment_point, const LDKHTLCOutputInCommitment * htlc) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- LDKTransaction htlc_tx_var = htlc_tx;
- int8_tArray htlc_tx_arr = init_arr(htlc_tx_var.datalen, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(htlc_tx_arr + 4), htlc_tx_var.data, htlc_tx_var.datalen);
- Transaction_free(htlc_tx_var);
- int8_tArray per_commitment_point_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(per_commitment_point_arr + 4), per_commitment_point.compressed_form, 33);
- LDKHTLCOutputInCommitment htlc_var = *htlc;
- htlc_var = HTLCOutputInCommitment_clone(htlc);
- CHECK((((long)htlc_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&htlc_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long htlc_ref = (long)htlc_var.inner;
- if (htlc_var.is_owned) {
- htlc_ref |= 1;
- }
- LDKCResult_SignatureNoneZ* ret = (LDKCResult_SignatureNoneZ*)js_invoke_function_5(j_calls->sign_counterparty_htlc_transaction_meth, htlc_tx_arr, input, amount, per_commitment_point_arr, htlc_ref);
- LDKCResult_SignatureNoneZ ret_conv = *(LDKCResult_SignatureNoneZ*)(((uint64_t)ret) & ~1);
- ret_conv = CResult_SignatureNoneZ_clone((LDKCResult_SignatureNoneZ*)(((uint64_t)ret) & ~1));
- return ret_conv;
-}
-LDKCResult_SignatureNoneZ sign_closing_transaction_LDKSign_jcall(const void* this_arg, LDKTransaction closing_tx) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- LDKTransaction closing_tx_var = closing_tx;
- int8_tArray closing_tx_arr = init_arr(closing_tx_var.datalen, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(closing_tx_arr + 4), closing_tx_var.data, closing_tx_var.datalen);
- Transaction_free(closing_tx_var);
- LDKCResult_SignatureNoneZ* ret = (LDKCResult_SignatureNoneZ*)js_invoke_function_1(j_calls->sign_closing_transaction_meth, closing_tx_arr);
- LDKCResult_SignatureNoneZ ret_conv = *(LDKCResult_SignatureNoneZ*)(((uint64_t)ret) & ~1);
- ret_conv = CResult_SignatureNoneZ_clone((LDKCResult_SignatureNoneZ*)(((uint64_t)ret) & ~1));
- return ret_conv;
-}
-LDKCResult_SignatureNoneZ sign_channel_announcement_LDKSign_jcall(const void* this_arg, const LDKUnsignedChannelAnnouncement * msg) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- LDKUnsignedChannelAnnouncement msg_var = *msg;
- msg_var = UnsignedChannelAnnouncement_clone(msg);
- CHECK((((long)msg_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&msg_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long msg_ref = (long)msg_var.inner;
- if (msg_var.is_owned) {
- msg_ref |= 1;
- }
- LDKCResult_SignatureNoneZ* ret = (LDKCResult_SignatureNoneZ*)js_invoke_function_1(j_calls->sign_channel_announcement_meth, msg_ref);
- LDKCResult_SignatureNoneZ ret_conv = *(LDKCResult_SignatureNoneZ*)(((uint64_t)ret) & ~1);
- ret_conv = CResult_SignatureNoneZ_clone((LDKCResult_SignatureNoneZ*)(((uint64_t)ret) & ~1));
- return ret_conv;
-}
-void ready_channel_LDKSign_jcall(void* this_arg, const LDKChannelTransactionParameters * channel_parameters) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- LDKChannelTransactionParameters channel_parameters_var = *channel_parameters;
- channel_parameters_var = ChannelTransactionParameters_clone(channel_parameters);
- CHECK((((long)channel_parameters_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&channel_parameters_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long channel_parameters_ref = (long)channel_parameters_var.inner;
- if (channel_parameters_var.is_owned) {
- channel_parameters_ref |= 1;
- }
- js_invoke_function_1(j_calls->ready_channel_meth, channel_parameters_ref);
-}
-LDKCVec_u8Z write_LDKSign_jcall(const void* this_arg) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- int8_tArray ret = js_invoke_function_0(j_calls->write_meth);
- LDKCVec_u8Z ret_ref;
- ret_ref.datalen = *((uint32_t*)ret);
- ret_ref.data = MALLOC(ret_ref.datalen, "LDKCVec_u8Z Bytes");
- memcpy(ret_ref.data, (uint8_t*)(ret + 4), ret_ref.datalen);
- return ret_ref;
-}
-static void* LDKSign_JCalls_clone(const void* this_arg) {
- LDKSign_JCalls *j_calls = (LDKSign_JCalls*) this_arg;
- atomic_fetch_add_explicit(&j_calls->refcnt, 1, memory_order_release);
- return (void*) this_arg;
-}
-static inline LDKSign LDKSign_init (/*TODO: JS Object Reference */void* o, uint32_t pubkeys) {
- LDKSign_JCalls *calls = MALLOC(sizeof(LDKSign_JCalls), "LDKSign_JCalls");
- atomic_init(&calls->refcnt, 1);
- //TODO: Assign calls->o from o
-
- LDKChannelPublicKeys pubkeys_conv;
- pubkeys_conv.inner = (void*)(pubkeys & (~1));
- pubkeys_conv.is_owned = (pubkeys & 1) || (pubkeys == 0);
- pubkeys_conv = ChannelPublicKeys_clone(&pubkeys_conv);
-
- LDKSign ret = {
- .this_arg = (void*) calls,
- .get_per_commitment_point = get_per_commitment_point_LDKSign_jcall,
- .release_commitment_secret = release_commitment_secret_LDKSign_jcall,
- .channel_keys_id = channel_keys_id_LDKSign_jcall,
- .sign_counterparty_commitment = sign_counterparty_commitment_LDKSign_jcall,
- .sign_holder_commitment_and_htlcs = sign_holder_commitment_and_htlcs_LDKSign_jcall,
- .sign_justice_transaction = sign_justice_transaction_LDKSign_jcall,
- .sign_counterparty_htlc_transaction = sign_counterparty_htlc_transaction_LDKSign_jcall,
- .sign_closing_transaction = sign_closing_transaction_LDKSign_jcall,
- .sign_channel_announcement = sign_channel_announcement_LDKSign_jcall,
- .ready_channel = ready_channel_LDKSign_jcall,
- .clone = LDKSign_JCalls_clone,
- .write = write_LDKSign_jcall,
- .free = LDKSign_JCalls_free,
- .pubkeys = pubkeys_conv,
- .set_pubkeys = NULL,
- };
- return ret;
-}
-long __attribute__((visibility("default"))) TS_LDKSign_new(/*TODO: JS Object Reference */void* o, uint32_t pubkeys) {
- LDKSign *res_ptr = MALLOC(sizeof(LDKSign), "LDKSign");
- *res_ptr = LDKSign_init(o, pubkeys);
- return (long)res_ptr;
-}
-int8_tArray __attribute__((visibility("default"))) TS_Sign_get_per_commitment_point(uint32_t this_arg, int64_t idx) {
- LDKSign* this_arg_conv = (LDKSign*)(((uint64_t)this_arg) & ~1);
- int8_tArray ret_arr = init_arr(33, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(ret_arr + 4), (this_arg_conv->get_per_commitment_point)(this_arg_conv->this_arg, idx).compressed_form, 33);
- return ret_arr;
-}
-
-int8_tArray __attribute__((visibility("default"))) TS_Sign_release_commitment_secret(uint32_t this_arg, int64_t idx) {
- LDKSign* this_arg_conv = (LDKSign*)(((uint64_t)this_arg) & ~1);
- int8_tArray ret_arr = init_arr(32, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(ret_arr + 4), (this_arg_conv->release_commitment_secret)(this_arg_conv->this_arg, idx).data, 32);
- return ret_arr;
-}
-
-int8_tArray __attribute__((visibility("default"))) TS_Sign_channel_keys_id(uint32_t this_arg) {
- LDKSign* this_arg_conv = (LDKSign*)(((uint64_t)this_arg) & ~1);
- int8_tArray ret_arr = init_arr(32, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(ret_arr + 4), (this_arg_conv->channel_keys_id)(this_arg_conv->this_arg).data, 32);
- return ret_arr;
-}
-
-uint32_t __attribute__((visibility("default"))) TS_Sign_sign_counterparty_commitment(uint32_t this_arg, uint32_t commitment_tx) {
- LDKSign* this_arg_conv = (LDKSign*)(((uint64_t)this_arg) & ~1);
- LDKCommitmentTransaction commitment_tx_conv;
- commitment_tx_conv.inner = (void*)(commitment_tx & (~1));
- commitment_tx_conv.is_owned = false;
- LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ* ret_conv = MALLOC(sizeof(LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ), "LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ");
- *ret_conv = (this_arg_conv->sign_counterparty_commitment)(this_arg_conv->this_arg, &commitment_tx_conv);
- return (long)ret_conv;
-}
-
-uint32_t __attribute__((visibility("default"))) TS_Sign_sign_holder_commitment_and_htlcs(uint32_t this_arg, uint32_t commitment_tx) {
- LDKSign* this_arg_conv = (LDKSign*)(((uint64_t)this_arg) & ~1);
- LDKHolderCommitmentTransaction commitment_tx_conv;
- commitment_tx_conv.inner = (void*)(commitment_tx & (~1));
- commitment_tx_conv.is_owned = false;
- LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ* ret_conv = MALLOC(sizeof(LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ), "LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ");
- *ret_conv = (this_arg_conv->sign_holder_commitment_and_htlcs)(this_arg_conv->this_arg, &commitment_tx_conv);
- return (long)ret_conv;
-}
-
-uint32_t __attribute__((visibility("default"))) TS_Sign_sign_justice_transaction(uint32_t this_arg, int8_tArray justice_tx, int64_t input, int64_t amount, int8_tArray per_commitment_key, uint32_t htlc) {
- LDKSign* this_arg_conv = (LDKSign*)(((uint64_t)this_arg) & ~1);
- LDKTransaction justice_tx_ref;
- justice_tx_ref.datalen = *((uint32_t*)justice_tx);
- justice_tx_ref.data = MALLOC(justice_tx_ref.datalen, "LDKTransaction Bytes");
- memcpy(justice_tx_ref.data, (uint8_t*)(justice_tx + 4), justice_tx_ref.datalen);
- justice_tx_ref.data_is_owned = true;
- unsigned char per_commitment_key_arr[32];
- CHECK(*((uint32_t*)per_commitment_key) == 32);
- memcpy(per_commitment_key_arr, (uint8_t*)(per_commitment_key + 4), 32);
- unsigned char (*per_commitment_key_ref)[32] = &per_commitment_key_arr;
- LDKHTLCOutputInCommitment htlc_conv;
- htlc_conv.inner = (void*)(htlc & (~1));
- htlc_conv.is_owned = false;
- LDKCResult_SignatureNoneZ* ret_conv = MALLOC(sizeof(LDKCResult_SignatureNoneZ), "LDKCResult_SignatureNoneZ");
- *ret_conv = (this_arg_conv->sign_justice_transaction)(this_arg_conv->this_arg, justice_tx_ref, input, amount, per_commitment_key_ref, &htlc_conv);
- return (long)ret_conv;
-}
-
-uint32_t __attribute__((visibility("default"))) TS_Sign_sign_counterparty_htlc_transaction(uint32_t this_arg, int8_tArray htlc_tx, int64_t input, int64_t amount, int8_tArray per_commitment_point, uint32_t htlc) {
- LDKSign* this_arg_conv = (LDKSign*)(((uint64_t)this_arg) & ~1);
- LDKTransaction htlc_tx_ref;
- htlc_tx_ref.datalen = *((uint32_t*)htlc_tx);
- htlc_tx_ref.data = MALLOC(htlc_tx_ref.datalen, "LDKTransaction Bytes");
- memcpy(htlc_tx_ref.data, (uint8_t*)(htlc_tx + 4), htlc_tx_ref.datalen);
- htlc_tx_ref.data_is_owned = true;
- LDKPublicKey per_commitment_point_ref;
- CHECK(*((uint32_t*)per_commitment_point) == 33);
- memcpy(per_commitment_point_ref.compressed_form, (uint8_t*)(per_commitment_point + 4), 33);
- LDKHTLCOutputInCommitment htlc_conv;
- htlc_conv.inner = (void*)(htlc & (~1));
- htlc_conv.is_owned = false;
- LDKCResult_SignatureNoneZ* ret_conv = MALLOC(sizeof(LDKCResult_SignatureNoneZ), "LDKCResult_SignatureNoneZ");
- *ret_conv = (this_arg_conv->sign_counterparty_htlc_transaction)(this_arg_conv->this_arg, htlc_tx_ref, input, amount, per_commitment_point_ref, &htlc_conv);
- return (long)ret_conv;
-}
-
-uint32_t __attribute__((visibility("default"))) TS_Sign_sign_closing_transaction(uint32_t this_arg, int8_tArray closing_tx) {
- LDKSign* this_arg_conv = (LDKSign*)(((uint64_t)this_arg) & ~1);
- LDKTransaction closing_tx_ref;
- closing_tx_ref.datalen = *((uint32_t*)closing_tx);
- closing_tx_ref.data = MALLOC(closing_tx_ref.datalen, "LDKTransaction Bytes");
- memcpy(closing_tx_ref.data, (uint8_t*)(closing_tx + 4), closing_tx_ref.datalen);
- closing_tx_ref.data_is_owned = true;
- LDKCResult_SignatureNoneZ* ret_conv = MALLOC(sizeof(LDKCResult_SignatureNoneZ), "LDKCResult_SignatureNoneZ");
- *ret_conv = (this_arg_conv->sign_closing_transaction)(this_arg_conv->this_arg, closing_tx_ref);
- return (long)ret_conv;
-}
-
-uint32_t __attribute__((visibility("default"))) TS_Sign_sign_channel_announcement(uint32_t this_arg, uint32_t msg) {
- LDKSign* this_arg_conv = (LDKSign*)(((uint64_t)this_arg) & ~1);
- LDKUnsignedChannelAnnouncement msg_conv;
- msg_conv.inner = (void*)(msg & (~1));
- msg_conv.is_owned = false;
- LDKCResult_SignatureNoneZ* ret_conv = MALLOC(sizeof(LDKCResult_SignatureNoneZ), "LDKCResult_SignatureNoneZ");
- *ret_conv = (this_arg_conv->sign_channel_announcement)(this_arg_conv->this_arg, &msg_conv);
- return (long)ret_conv;
-}
-
-void __attribute__((visibility("default"))) TS_Sign_ready_channel(uint32_t this_arg, uint32_t channel_parameters) {
- LDKSign* this_arg_conv = (LDKSign*)(((uint64_t)this_arg) & ~1);
- LDKChannelTransactionParameters channel_parameters_conv;
- channel_parameters_conv.inner = (void*)(channel_parameters & (~1));
- channel_parameters_conv.is_owned = false;
- (this_arg_conv->ready_channel)(this_arg_conv->this_arg, &channel_parameters_conv);
-}
-
-int8_tArray __attribute__((visibility("default"))) TS_Sign_write(uint32_t this_arg) {
- LDKSign* this_arg_conv = (LDKSign*)(((uint64_t)this_arg) & ~1);
- LDKCVec_u8Z ret_var = (this_arg_conv->write)(this_arg_conv->this_arg);
- int8_tArray ret_arr = init_arr(ret_var.datalen, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(ret_arr + 4), ret_var.data, ret_var.datalen);
- CVec_u8Z_free(ret_var);
- return ret_arr;
-}
-
-LDKChannelPublicKeys LDKSign_set_get_pubkeys(LDKSign* this_arg) {
- if (this_arg->set_pubkeys != NULL)
- this_arg->set_pubkeys(this_arg);
- return this_arg->pubkeys;
-}
-uint32_t __attribute__((visibility("default"))) TS_Sign_get_pubkeys(uint32_t this_arg) {
- LDKSign* this_arg_conv = (LDKSign*)(((uint64_t)this_arg) & ~1);
- LDKChannelPublicKeys ret_var = LDKSign_set_get_pubkeys(this_arg_conv);
- CHECK((((long)ret_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&ret_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long ret_ref = (long)ret_var.inner;
- if (ret_var.is_owned) {
- ret_ref |= 1;
- }
- return ret_ref;
-}
-
-uint32_t __attribute__((visibility("default"))) TS_LDKC2Tuple_BlockHashChannelMonitorZ_new(int8_tArray a, uint32_t b) {
- LDKC2Tuple_BlockHashChannelMonitorZ* ret = MALLOC(sizeof(LDKC2Tuple_BlockHashChannelMonitorZ), "LDKC2Tuple_BlockHashChannelMonitorZ");
- LDKThirtyTwoBytes a_ref;
- CHECK(*((uint32_t*)a) == 32);
- memcpy(a_ref.data, (uint8_t*)(a + 4), 32);
- ret->a = a_ref;
- LDKChannelMonitor b_conv;
- b_conv.inner = (void*)(b & (~1));
- b_conv.is_owned = (b & 1) || (b == 0);
- b_conv = ChannelMonitor_clone(&b_conv);
- ret->b = b_conv;
- return (long)ret;
-}
-int8_tArray __attribute__((visibility("default"))) TS_LDKC2Tuple_BlockHashChannelMonitorZ_get_a(uint32_t ptr) {
- LDKC2Tuple_BlockHashChannelMonitorZ *tuple = (LDKC2Tuple_BlockHashChannelMonitorZ*)(ptr & ~1);
- int8_tArray a_arr = init_arr(32, sizeof(uint8_t), "Native int8_tArray Bytes");
- memcpy((uint8_t*)(a_arr + 4), tuple->a.data, 32);
- return a_arr;
-}
-uint32_t __attribute__((visibility("default"))) TS_LDKC2Tuple_BlockHashChannelMonitorZ_get_b(uint32_t ptr) {
- LDKC2Tuple_BlockHashChannelMonitorZ *tuple = (LDKC2Tuple_BlockHashChannelMonitorZ*)(ptr & ~1);
- LDKChannelMonitor b_var = tuple->b;
- CHECK((((long)b_var.inner) & 1) == 0); // We rely on a free low bit, malloc guarantees this.
- CHECK((((long)&b_var) & 1) == 0); // We rely on a free low bit, pointer alignment guarantees this.
- long b_ref = (long)b_var.inner & ~1;
- return b_ref;