Skip to content

Commit 02ec5ca

Browse files
committed
Update auto-generated bindings
1 parent 7c7d8c9 commit 02ec5ca

File tree

5 files changed

+137
-144
lines changed

5 files changed

+137
-144
lines changed

lightning-c-bindings/include/lightning.h

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -342,13 +342,6 @@ typedef struct MUST_USE_STRUCT LDKChannelPublicKeys {
342342
bool is_owned;
343343
} LDKChannelPublicKeys;
344344

345-
typedef struct LDKC2TupleTempl_u64__u64 {
346-
uint64_t a;
347-
uint64_t b;
348-
} LDKC2TupleTempl_u64__u64;
349-
350-
typedef struct LDKC2TupleTempl_u64__u64 LDKC2Tuple_u64u64Z;
351-
352345
typedef struct LDKSignature {
353346
uint8_t compact_form[64];
354347
} LDKSignature;
@@ -523,11 +516,11 @@ typedef struct LDKChannelKeys {
523516
*/
524517
void (*set_pubkeys)(const struct LDKChannelKeys*NONNULL_PTR );
525518
/**
526-
* Gets arbitrary identifiers describing the set of keys which are provided back to you in
527-
* some SpendableOutputDescriptor types. These should be sufficient to identify this
519+
* Gets an arbitrary identifier describing the set of keys which are provided back to you in
520+
* some SpendableOutputDescriptor types. This should be sufficient to identify this
528521
* ChannelKeys object uniquely and lookup or re-derive its keys.
529522
*/
530-
LDKC2Tuple_u64u64Z (*key_derivation_params)(const void *this_arg);
523+
struct LDKThirtyTwoBytes (*channel_keys_id)(const void *this_arg);
531524
/**
532525
* Create a signature for a counterparty's commitment transaction and associated HTLC transactions.
533526
*
@@ -921,26 +914,39 @@ typedef struct LDKu8slice {
921914
typedef struct LDKKeysInterface {
922915
void *this_arg;
923916
/**
924-
* Get node secret key (aka node_id or network_key)
917+
* Get node secret key (aka node_id or network_key).
918+
*
919+
* This method must return the same value each time it is called.
925920
*/
926921
struct LDKSecretKey (*get_node_secret)(const void *this_arg);
927922
/**
928-
* Get destination redeemScript to encumber static protocol exit points.
923+
* Get a script pubkey which we send funds to when claiming on-chain contestable outputs.
924+
*
925+
* This method should return a different value each time it is called, to avoid linking
926+
* on-chain funds across channels as controlled to the same user.
929927
*/
930928
LDKCVec_u8Z (*get_destination_script)(const void *this_arg);
931929
/**
932-
* Get shutdown_pubkey to use as PublicKey at channel closure
930+
* Get a public key which we will send funds to (in the form of a P2WPKH output) when closing
931+
* a channel.
932+
*
933+
* This method should return a different value each time it is called, to avoid linking
934+
* on-chain funds across channels as controlled to the same user.
933935
*/
934936
struct LDKPublicKey (*get_shutdown_pubkey)(const void *this_arg);
935937
/**
936938
* Get a new set of ChannelKeys for per-channel secrets. These MUST be unique even if you
937939
* restarted with some stale data!
940+
*
941+
* This method must return a different value each time it is called.
938942
*/
939943
struct LDKChannelKeys (*get_channel_keys)(const void *this_arg, bool inbound, uint64_t channel_value_satoshis);
940944
/**
941945
* Gets a unique, cryptographically-secure, random 32 byte value. This is used for encrypting
942946
* onion packets and for temporary channel IDs. There is no requirement that these be
943947
* persisted anywhere, though they must be unique across restarts.
948+
*
949+
* This method must return a different value each time it is called.
944950
*/
945951
struct LDKThirtyTwoBytes (*get_secure_random_bytes)(const void *this_arg);
946952
/**
@@ -1190,9 +1196,9 @@ typedef struct LDKCResultTempl_CVecTempl_Signature_____u8 LDKCResult_CVec_Signat
11901196
*/
11911197
typedef enum LDKSpendableOutputDescriptor_Tag {
11921198
/**
1193-
* An output to a script which was provided via KeysInterface, thus you should already know
1194-
* how to spend it. No keys are provided as rust-lightning was never given any keys - only the
1195-
* script_pubkey as it appears in the output.
1199+
* An output to a script which was provided via KeysInterface directly, either from
1200+
* `get_destination_script()` or `get_shutdown_pubkey()`, thus you should already know how to
1201+
* spend it. No secret keys are provided as rust-lightning was never given any key.
11961202
* These may include outputs from a transaction punishing our counterparty or claiming an HTLC
11971203
* on-chain using the payment preimage or after it has timed out.
11981204
*/
@@ -1254,14 +1260,16 @@ typedef struct LDKSpendableOutputDescriptor_LDKDynamicOutputP2WSH_Body {
12541260
struct LDKPublicKey per_commitment_point;
12551261
uint16_t to_self_delay;
12561262
struct LDKTxOut output;
1257-
LDKC2Tuple_u64u64Z key_derivation_params;
12581263
struct LDKPublicKey revocation_pubkey;
1264+
struct LDKThirtyTwoBytes channel_keys_id;
1265+
uint64_t channel_value_satoshis;
12591266
} LDKSpendableOutputDescriptor_LDKDynamicOutputP2WSH_Body;
12601267

12611268
typedef struct LDKSpendableOutputDescriptor_LDKStaticOutputCounterpartyPayment_Body {
12621269
struct LDKOutPoint outpoint;
12631270
struct LDKTxOut output;
1264-
LDKC2Tuple_u64u64Z key_derivation_params;
1271+
struct LDKThirtyTwoBytes channel_keys_id;
1272+
uint64_t channel_value_satoshis;
12651273
} LDKSpendableOutputDescriptor_LDKStaticOutputCounterpartyPayment_Body;
12661274

12671275
typedef struct MUST_USE_STRUCT LDKSpendableOutputDescriptor {
@@ -3640,8 +3648,6 @@ extern const LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ (*CResult_C
36403648

36413649
extern const LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ (*CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_err)(struct LDKDecodeError);
36423650

3643-
extern const void (*C2Tuple_u64u64Z_free)(LDKC2Tuple_u64u64Z);
3644-
36453651
extern const void (*CResult_SpendableOutputDescriptorDecodeErrorZ_free)(LDKCResult_SpendableOutputDescriptorDecodeErrorZ);
36463652

36473653
extern const LDKCResult_SpendableOutputDescriptorDecodeErrorZ (*CResult_SpendableOutputDescriptorDecodeErrorZ_ok)(struct LDKSpendableOutputDescriptor);
@@ -3928,8 +3934,6 @@ LDKC2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZ_new
39283934

39293935
LDKC2Tuple_BlockHashChannelMonitorZ C2Tuple_BlockHashChannelMonitorZ_new(struct LDKThirtyTwoBytes a, struct LDKChannelMonitor b);
39303936

3931-
LDKC2Tuple_u64u64Z C2Tuple_u64u64Z_new(uint64_t a, uint64_t b);
3932-
39333937
LDKC2Tuple_SignatureCVec_SignatureZZ C2Tuple_SignatureCVec_SignatureZZ_new(struct LDKSignature a, LDKCVec_SignatureZ b);
39343938

39353939
LDKCResult_C2Tuple_SignatureCVec_SignatureZZNoneZ CResult_C2Tuple_SignatureCVec_SignatureZZNoneZ_err(void);
@@ -4726,7 +4730,7 @@ void InMemoryChannelKeys_set_commitment_seed(struct LDKInMemoryChannelKeys *NONN
47264730
/**
47274731
* Create a new InMemoryChannelKeys
47284732
*/
4729-
MUST_USE_RES struct LDKInMemoryChannelKeys InMemoryChannelKeys_new(struct LDKSecretKey funding_key, struct LDKSecretKey revocation_base_key, struct LDKSecretKey payment_key, struct LDKSecretKey delayed_payment_base_key, struct LDKSecretKey htlc_base_key, struct LDKThirtyTwoBytes commitment_seed, uint64_t channel_value_satoshis, LDKC2Tuple_u64u64Z key_derivation_params);
4733+
MUST_USE_RES struct LDKInMemoryChannelKeys InMemoryChannelKeys_new(struct LDKSecretKey funding_key, struct LDKSecretKey revocation_base_key, struct LDKSecretKey payment_key, struct LDKSecretKey delayed_payment_base_key, struct LDKSecretKey htlc_base_key, struct LDKThirtyTwoBytes commitment_seed, uint64_t channel_value_satoshis, struct LDKThirtyTwoBytes channel_keys_id);
47304734

47314735
/**
47324736
* Counterparty pubkeys.
@@ -4805,10 +4809,10 @@ MUST_USE_RES struct LDKKeysManager KeysManager_new(const uint8_t (*seed)[32], en
48054809
* Derive an old set of ChannelKeys for per-channel secrets based on a key derivation
48064810
* parameters.
48074811
* Key derivation parameters are accessible through a per-channel secrets
4808-
* ChannelKeys::key_derivation_params and is provided inside DynamicOuputP2WSH in case of
4812+
* ChannelKeys::channel_keys_id and is provided inside DynamicOuputP2WSH in case of
48094813
* onchain output detection for which a corresponding delayed_payment_key must be derived.
48104814
*/
4811-
MUST_USE_RES struct LDKInMemoryChannelKeys KeysManager_derive_channel_keys(const struct LDKKeysManager *NONNULL_PTR this_arg, uint64_t channel_value_satoshis, uint64_t params_1, uint64_t params_2);
4815+
MUST_USE_RES struct LDKInMemoryChannelKeys KeysManager_derive_channel_keys(const struct LDKKeysManager *NONNULL_PTR this_arg, uint64_t channel_value_satoshis, const uint8_t (*params)[32]);
48124816

48134817
struct LDKKeysInterface KeysManager_as_KeysInterface(const struct LDKKeysManager *NONNULL_PTR this_arg);
48144818

@@ -6590,23 +6594,21 @@ uint32_t ReplyChannelRange_get_number_of_blocks(const struct LDKReplyChannelRang
65906594
void ReplyChannelRange_set_number_of_blocks(struct LDKReplyChannelRange *NONNULL_PTR this_ptr, uint32_t val);
65916595

65926596
/**
6593-
* Indicates if the query recipient maintains up-to-date channel
6594-
* information for the chain_hash
6597+
* True when this is the final reply for a query
65956598
*/
6596-
bool ReplyChannelRange_get_full_information(const struct LDKReplyChannelRange *NONNULL_PTR this_ptr);
6599+
bool ReplyChannelRange_get_sync_complete(const struct LDKReplyChannelRange *NONNULL_PTR this_ptr);
65976600

65986601
/**
6599-
* Indicates if the query recipient maintains up-to-date channel
6600-
* information for the chain_hash
6602+
* True when this is the final reply for a query
66016603
*/
6602-
void ReplyChannelRange_set_full_information(struct LDKReplyChannelRange *NONNULL_PTR this_ptr, bool val);
6604+
void ReplyChannelRange_set_sync_complete(struct LDKReplyChannelRange *NONNULL_PTR this_ptr, bool val);
66036605

66046606
/**
66056607
* The short_channel_ids in the channel range
66066608
*/
66076609
void ReplyChannelRange_set_short_channel_ids(struct LDKReplyChannelRange *NONNULL_PTR this_ptr, LDKCVec_u64Z val);
66086610

6609-
MUST_USE_RES struct LDKReplyChannelRange ReplyChannelRange_new(struct LDKThirtyTwoBytes chain_hash_arg, uint32_t first_blocknum_arg, uint32_t number_of_blocks_arg, bool full_information_arg, LDKCVec_u64Z short_channel_ids_arg);
6611+
MUST_USE_RES struct LDKReplyChannelRange ReplyChannelRange_new(struct LDKThirtyTwoBytes chain_hash_arg, uint32_t first_blocknum_arg, uint32_t number_of_blocks_arg, bool sync_complete_arg, LDKCVec_u64Z short_channel_ids_arg);
66106612

66116613
void QueryShortChannelIds_free(struct LDKQueryShortChannelIds this_ptr);
66126614

lightning-c-bindings/include/lightningpp.hpp

Lines changed: 24 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2096,21 +2096,6 @@ class CVec_PublicKeyZ {
20962096
const LDKCVec_PublicKeyZ* operator &() const { return &self; }
20972097
const LDKCVec_PublicKeyZ* operator ->() const { return &self; }
20982098
};
2099-
class C2Tuple_u64u64Z {
2100-
private:
2101-
LDKC2Tuple_u64u64Z self;
2102-
public:
2103-
C2Tuple_u64u64Z(const C2Tuple_u64u64Z&) = delete;
2104-
C2Tuple_u64u64Z(C2Tuple_u64u64Z&& o) : self(o.self) { memset(&o, 0, sizeof(C2Tuple_u64u64Z)); }
2105-
C2Tuple_u64u64Z(LDKC2Tuple_u64u64Z&& m_self) : self(m_self) { memset(&m_self, 0, sizeof(LDKC2Tuple_u64u64Z)); }
2106-
operator LDKC2Tuple_u64u64Z() && { LDKC2Tuple_u64u64Z res = self; memset(&self, 0, sizeof(LDKC2Tuple_u64u64Z)); return res; }
2107-
~C2Tuple_u64u64Z() { C2Tuple_u64u64Z_free(self); }
2108-
C2Tuple_u64u64Z& operator=(C2Tuple_u64u64Z&& o) { C2Tuple_u64u64Z_free(self); self = o.self; memset(&o, 0, sizeof(C2Tuple_u64u64Z)); return *this; }
2109-
LDKC2Tuple_u64u64Z* operator &() { return &self; }
2110-
LDKC2Tuple_u64u64Z* operator ->() { return &self; }
2111-
const LDKC2Tuple_u64u64Z* operator &() const { return &self; }
2112-
const LDKC2Tuple_u64u64Z* operator ->() const { return &self; }
2113-
};
21142099
class C2Tuple_u32TxOutZ {
21152100
private:
21162101
LDKC2Tuple_u32TxOutZ self;
@@ -2576,20 +2561,20 @@ class CVec_C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZZ {
25762561
const LDKCVec_C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZZ* operator &() const { return &self; }
25772562
const LDKCVec_C2Tuple_TxidCVec_C2Tuple_u32TxOutZZZZ* operator ->() const { return &self; }
25782563
};
2579-
class CVec_UpdateFailHTLCZ {
2564+
class CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ {
25802565
private:
2581-
LDKCVec_UpdateFailHTLCZ self;
2566+
LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ self;
25822567
public:
2583-
CVec_UpdateFailHTLCZ(const CVec_UpdateFailHTLCZ&) = delete;
2584-
CVec_UpdateFailHTLCZ(CVec_UpdateFailHTLCZ&& o) : self(o.self) { memset(&o, 0, sizeof(CVec_UpdateFailHTLCZ)); }
2585-
CVec_UpdateFailHTLCZ(LDKCVec_UpdateFailHTLCZ&& m_self) : self(m_self) { memset(&m_self, 0, sizeof(LDKCVec_UpdateFailHTLCZ)); }
2586-
operator LDKCVec_UpdateFailHTLCZ() && { LDKCVec_UpdateFailHTLCZ res = self; memset(&self, 0, sizeof(LDKCVec_UpdateFailHTLCZ)); return res; }
2587-
~CVec_UpdateFailHTLCZ() { CVec_UpdateFailHTLCZ_free(self); }
2588-
CVec_UpdateFailHTLCZ& operator=(CVec_UpdateFailHTLCZ&& o) { CVec_UpdateFailHTLCZ_free(self); self = o.self; memset(&o, 0, sizeof(CVec_UpdateFailHTLCZ)); return *this; }
2589-
LDKCVec_UpdateFailHTLCZ* operator &() { return &self; }
2590-
LDKCVec_UpdateFailHTLCZ* operator ->() { return &self; }
2591-
const LDKCVec_UpdateFailHTLCZ* operator &() const { return &self; }
2592-
const LDKCVec_UpdateFailHTLCZ* operator ->() const { return &self; }
2568+
CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ(const CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ&) = delete;
2569+
CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ(CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ&& o) : self(o.self) { memset(&o, 0, sizeof(CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ)); }
2570+
CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ(LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ&& m_self) : self(m_self) { memset(&m_self, 0, sizeof(LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ)); }
2571+
operator LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ() && { LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ res = self; memset(&self, 0, sizeof(LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ)); return res; }
2572+
~CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ() { CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_free(self); }
2573+
CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ& operator=(CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ&& o) { CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_free(self); self = o.self; memset(&o, 0, sizeof(CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ)); return *this; }
2574+
LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ* operator &() { return &self; }
2575+
LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ* operator ->() { return &self; }
2576+
const LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ* operator &() const { return &self; }
2577+
const LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ* operator ->() const { return &self; }
25932578
};
25942579
class C2Tuple_OutPointScriptZ {
25952580
private:
@@ -2621,20 +2606,20 @@ class CResult_InMemoryChannelKeysDecodeErrorZ {
26212606
const LDKCResult_InMemoryChannelKeysDecodeErrorZ* operator &() const { return &self; }
26222607
const LDKCResult_InMemoryChannelKeysDecodeErrorZ* operator ->() const { return &self; }
26232608
};
2624-
class CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ {
2609+
class CVec_UpdateFailHTLCZ {
26252610
private:
2626-
LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ self;
2611+
LDKCVec_UpdateFailHTLCZ self;
26272612
public:
2628-
CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ(const CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ&) = delete;
2629-
CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ(CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ&& o) : self(o.self) { memset(&o, 0, sizeof(CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ)); }
2630-
CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ(LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ&& m_self) : self(m_self) { memset(&m_self, 0, sizeof(LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ)); }
2631-
operator LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ() && { LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ res = self; memset(&self, 0, sizeof(LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ)); return res; }
2632-
~CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ() { CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_free(self); }
2633-
CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ& operator=(CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ&& o) { CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_free(self); self = o.self; memset(&o, 0, sizeof(CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ)); return *this; }
2634-
LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ* operator &() { return &self; }
2635-
LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ* operator ->() { return &self; }
2636-
const LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ* operator &() const { return &self; }
2637-
const LDKCResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ* operator ->() const { return &self; }
2613+
CVec_UpdateFailHTLCZ(const CVec_UpdateFailHTLCZ&) = delete;
2614+
CVec_UpdateFailHTLCZ(CVec_UpdateFailHTLCZ&& o) : self(o.self) { memset(&o, 0, sizeof(CVec_UpdateFailHTLCZ)); }
2615+
CVec_UpdateFailHTLCZ(LDKCVec_UpdateFailHTLCZ&& m_self) : self(m_self) { memset(&m_self, 0, sizeof(LDKCVec_UpdateFailHTLCZ)); }
2616+
operator LDKCVec_UpdateFailHTLCZ() && { LDKCVec_UpdateFailHTLCZ res = self; memset(&self, 0, sizeof(LDKCVec_UpdateFailHTLCZ)); return res; }
2617+
~CVec_UpdateFailHTLCZ() { CVec_UpdateFailHTLCZ_free(self); }
2618+
CVec_UpdateFailHTLCZ& operator=(CVec_UpdateFailHTLCZ&& o) { CVec_UpdateFailHTLCZ_free(self); self = o.self; memset(&o, 0, sizeof(CVec_UpdateFailHTLCZ)); return *this; }
2619+
LDKCVec_UpdateFailHTLCZ* operator &() { return &self; }
2620+
LDKCVec_UpdateFailHTLCZ* operator ->() { return &self; }
2621+
const LDKCVec_UpdateFailHTLCZ* operator &() const { return &self; }
2622+
const LDKCVec_UpdateFailHTLCZ* operator ->() const { return &self; }
26382623
};
26392624
class CResult_RouteDecodeErrorZ {
26402625
private:

lightning-c-bindings/src/c_types/derived.rs

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -116,14 +116,6 @@ pub static CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_ok: extern "C" f
116116
pub static CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ_err: extern "C" fn (crate::ln::msgs::DecodeError) -> CResult_C2Tuple_BlockHashChannelMonitorZDecodeErrorZ =
117117
crate::c_types::CResultTempl::<crate::c_types::C2TupleTempl<crate::c_types::ThirtyTwoBytes, crate::chain::channelmonitor::ChannelMonitor>, crate::ln::msgs::DecodeError>::err;
118118

119-
pub type C2Tuple_u64u64Z = crate::c_types::C2TupleTempl<u64, u64>;
120-
#[no_mangle]
121-
pub static C2Tuple_u64u64Z_free: extern "C" fn(C2Tuple_u64u64Z) = crate::c_types::C2TupleTempl_free::<u64, u64>;
122-
#[no_mangle]
123-
pub extern "C" fn C2Tuple_u64u64Z_new(a: u64, b: u64) -> C2Tuple_u64u64Z {
124-
C2Tuple_u64u64Z { a, b, }
125-
}
126-
127119
pub type CResult_SpendableOutputDescriptorDecodeErrorZ = crate::c_types::CResultTempl<crate::chain::keysinterface::SpendableOutputDescriptor, crate::ln::msgs::DecodeError>;
128120
#[no_mangle]
129121
pub static CResult_SpendableOutputDescriptorDecodeErrorZ_free: extern "C" fn(CResult_SpendableOutputDescriptorDecodeErrorZ) = crate::c_types::CResultTempl_free::<crate::chain::keysinterface::SpendableOutputDescriptor, crate::ln::msgs::DecodeError>;

0 commit comments

Comments
 (0)