}
}
-void broadcast_tx(const void *this_arg, LDKTransaction tx) {
+void broadcast_txn(const void *this_arg, LDKCVec_TransactionZ txn) {
//TODO
- Transaction_free(tx);
+ CVec_TransactionZ_free(txn);
}
-LDKCResult_NoneChannelMonitorUpdateErrZ add_channel_monitor(const void *this_arg, LDKOutPoint funding_txo, LDKChannelMonitor monitor) {
- return CResult_NoneChannelMonitorUpdateErrZ_ok();
+LDKCResult_ChannelMonitorUpdateStatusNoneZ add_channel_monitor(const void *this_arg, LDKOutPoint funding_txo, LDKChannelMonitor monitor) {
+ return CResult_ChannelMonitorUpdateStatusNoneZ_ok(ChannelMonitorUpdateStatus_completed());
}
-LDKCResult_NoneChannelMonitorUpdateErrZ update_channel_monitor(const void *this_arg, LDKOutPoint funding_txo, LDKChannelMonitorUpdate monitor) {
- return CResult_NoneChannelMonitorUpdateErrZ_ok();
+LDKChannelMonitorUpdateStatus update_channel_monitor(const void *this_arg, LDKOutPoint funding_txo, const LDKChannelMonitorUpdate *monitor) {
+ return ChannelMonitorUpdateStatus_completed();
}
-LDKCVec_MonitorEventZ monitors_pending_monitor_events(const void *this_arg) {
- LDKCVec_MonitorEventZ empty_htlc_vec = {
+LDKCVec_C3Tuple_OutPointCVec_MonitorEventZPublicKeyZZ monitors_pending_monitor_events(const void *this_arg) {
+ LDKCVec_C3Tuple_OutPointCVec_MonitorEventZPublicKeyZZ empty_htlc_vec = {
.data = NULL,
.datalen = 0,
};
return empty_htlc_vec;
}
-void never_handle_event(const void *this_arg, const struct LDKEvent* event) {
+void never_handle_event(const void *this_arg, const struct LDKEvent event) {
// Note that we never actually generate any events to handle in the code below.
assert(false);
}
+LDKCResult_RouteLightningErrorZ do_find_route(const void *this_arg, LDKPublicKey payer, const LDKRouteParameters *route_params, LDKCVec_ChannelDetailsZ *first_hops, const LDKInFlightHtlcs inflight_htlcs) {
+ LDKStr reason = { .chars = (const unsigned char*)"", .len = 0, .chars_is_owned = false };
+ return CResult_RouteLightningErrorZ_err(LightningError_new(reason, ErrorAction_ignore_error()));
+}
+
+LDKCResult_RouteLightningErrorZ do_find_route_with_id(const void *this_arg, LDKPublicKey payer, const LDKRouteParameters *route_params, LDKCVec_ChannelDetailsZ *first_hops, const LDKInFlightHtlcs inflight_htlcs, struct LDKThirtyTwoBytes payment_hash, struct LDKThirtyTwoBytes payment_id) {
+ LDKStr reason = { .chars = (const unsigned char*)"", .len = 0, .chars_is_owned = false };
+ return CResult_RouteLightningErrorZ_err(LightningError_new(reason, ErrorAction_ignore_error()));
+}
+
int main() {
uint8_t node_seed[32];
memset(node_seed, 0, 32);
};
LDKBroadcasterInterface broadcast = {
- broadcast.this_arg = NULL,
- broadcast.broadcast_transaction = broadcast_tx,
+ .this_arg = NULL,
+ .broadcast_transactions = broadcast_txn,
+ .free = NULL,
+ };
+
+ LDKRouter router = {
+ .this_arg = NULL,
+ .find_route = do_find_route,
+ .find_route_with_id = do_find_route_with_id,
.free = NULL,
};
LDKKeysManager keys = KeysManager_new(&node_seed, 0, 0);
- LDKKeysInterface keys_source = KeysManager_as_KeysInterface(&keys);
+ LDKEntropySource entropy_source = KeysManager_as_EntropySource(&keys);
+ LDKNodeSigner node_signer = KeysManager_as_NodeSigner(&keys);
+ LDKSignerProvider signer_provider = KeysManager_as_SignerProvider(&keys);
LDKUserConfig config = UserConfig_default();
LDKThirtyTwoBytes chain_tip;
memset(&chain_tip, 0, 32);
LDKChainParameters chain = ChainParameters_new(net, BestBlock_new(chain_tip, 0));
- LDKChannelManager cm = ChannelManager_new(fee_est, mon, broadcast, logger, keys_source, config, chain);
+ LDKChannelManager cm = ChannelManager_new(fee_est, mon, broadcast, router, logger, entropy_source, node_signer, signer_provider, config, chain, 42);
LDKCVec_ChannelDetailsZ channels = ChannelManager_list_channels(&cm);
assert((unsigned long)channels.data < 4096); // There's an offset, but it should still be an offset against null in the 0 page