Merge pull request #92 from TheBlueMatt/main
[ldk-c-bindings] / lightning-c-bindings / include / lightning.h
index 05f07eb7f62c15edb65a2a8e5c59f813f2a2318e..c06fe657976bf10097b714860e89ad11ccbfb6bd 100644 (file)
@@ -467,6 +467,27 @@ typedef struct LDKStr {
    bool chars_is_owned;
 } LDKStr;
 
+/**
+ * Represents a scalar value between zero and the secp256k1 curve order, in big endian.
+ */
+typedef struct LDKBigEndianScalar {
+   /**
+    * The bytes of the scalar value.
+    */
+   uint8_t big_endian_bytes[32];
+} LDKBigEndianScalar;
+
+/**
+ * Arbitrary 32 bytes, which could represent one of a few different things. You probably want to
+ * look up the corresponding function in rust-lightning's docs.
+ */
+typedef struct LDKThirtyTwoBytes {
+   /**
+    * The thirty-two bytes
+    */
+   uint8_t data[32];
+} LDKThirtyTwoBytes;
+
 /**
  * Represents an error returned from the bech32 library during validation of some bech32 data
  */
@@ -2437,17 +2458,6 @@ typedef struct LDKCResult_RouteLightningErrorZ {
    bool result_ok;
 } LDKCResult_RouteLightningErrorZ;
 
-/**
- * Arbitrary 32 bytes, which could represent one of a few different things. You probably want to
- * look up the corresponding function in rust-lightning's docs.
- */
-typedef struct LDKThirtyTwoBytes {
-   /**
-    * The thirty-two bytes
-    */
-   uint8_t data[32];
-} LDKThirtyTwoBytes;
-
 /**
  * Some information provided on receipt of payment depends on whether the payment received is a
  * spontaneous payment or a \"conventional\" lightning payment that's paying an invoice.
@@ -6407,16 +6417,6 @@ typedef struct LDKCResult_SecretKeyNoneZ {
    bool result_ok;
 } LDKCResult_SecretKeyNoneZ;
 
-/**
- * Represents a scalar value between zero and the secp256k1 curve order, in big endian.
- */
-typedef struct LDKBigEndianScalar {
-   /**
-    * The bytes of the scalar value.
-    */
-   uint8_t big_endian_bytes[32];
-} LDKBigEndianScalar;
-
 /**
  * An enum which can either contain a crate::c_types::BigEndianScalar or not
  */
@@ -13896,6 +13896,11 @@ struct LDKStr _ldk_get_compiled_version(void);
 
 struct LDKStr _ldk_c_bindings_get_compiled_version(void);
 
+/**
+ * Convenience function for constructing a new BigEndianScalar
+ */
+struct LDKBigEndianScalar BigEndianScalar_new(struct LDKThirtyTwoBytes big_endian_bytes);
+
 /**
  * Creates a new Bech32Error which has the same data as `orig`
  */