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
*/
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.
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
*/
/**
- * Rapid Gossip Sync struct
+ * The main Rapid Gossip Sync object.
+ *
* See [crate-level documentation] for usage.
*
* [crate-level documentation]: crate
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`
*/
void RapidGossipSync_free(struct LDKRapidGossipSync this_obj);
/**
- * Instantiate a new [`RapidGossipSync`] instance
+ * Instantiate a new [`RapidGossipSync`] instance.
*/
MUST_USE_RES struct LDKRapidGossipSync RapidGossipSync_new(const struct LDKNetworkGraph *NONNULL_PTR network_graph);
/**
- * Sync gossip data from a file
+ * Update network graph from binary data.
* Returns the last sync timestamp to be used the next time rapid sync data is queried.
*
- * `network_graph`: The network graph to apply the updates to
- *
- * `sync_path`: Path to the file where the gossip update data is located
+ * `network_graph`: network graph to be updated
*
+ * `update_data`: `&[u8]` binary stream that comprises the update data
*/
-MUST_USE_RES struct LDKCResult_u32GraphSyncErrorZ RapidGossipSync_sync_network_graph_with_file_path(const struct LDKRapidGossipSync *NONNULL_PTR this_arg, struct LDKStr sync_path);
+MUST_USE_RES struct LDKCResult_u32GraphSyncErrorZ RapidGossipSync_update_network_graph(const struct LDKRapidGossipSync *NONNULL_PTR this_arg, struct LDKu8slice update_data);
/**
- * Returns whether a rapid gossip sync has completed at least once
+ * Returns whether a rapid gossip sync has completed at least once.
*/
MUST_USE_RES bool RapidGossipSync_is_initial_sync_complete(const struct LDKRapidGossipSync *NONNULL_PTR this_arg);
*/
struct LDKGraphSyncError GraphSyncError_lightning_error(struct LDKLightningError a);
-/**
- * Update network graph from binary data.
- * Returns the last sync timestamp to be used the next time rapid sync data is queried.
- *
- * `network_graph`: network graph to be updated
- *
- * `update_data`: `&[u8]` binary stream that comprises the update data
- */
-MUST_USE_RES struct LDKCResult_u32GraphSyncErrorZ RapidGossipSync_update_network_graph(const struct LDKRapidGossipSync *NONNULL_PTR this_arg, struct LDKu8slice update_data);
-
#endif /* LDK_C_BINDINGS_H */
#include "ldk_ver.h"