projects
/
rust-lightning
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- bindings update
[rust-lightning]
/
lightning-c-bindings
/
demo.cpp
diff --git
a/lightning-c-bindings/demo.cpp
b/lightning-c-bindings/demo.cpp
index 36a11a783a2e02add690b7c2c866b0aabe526942..a92ae028480e758268764dcdb695b23d03036ab6 100644
(file)
--- a/
lightning-c-bindings/demo.cpp
+++ b/
lightning-c-bindings/demo.cpp
@@
-98,6
+98,10
@@
const LDKThirtyTwoBytes payment_hash_1 = {
}
};
}
};
+const LDKThirtyTwoBytes genesis_hash = { // We don't care particularly if this is "right"
+ .data = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1 }
+};
+
void print_log(const void *this_arg, const char *record) {
printf("%p - %s\n", this_arg, record);
}
void print_log(const void *this_arg, const char *record) {
printf("%p - %s\n", this_arg, record);
}
@@
-110,6
+114,12
@@
uint32_t get_fee(const void *this_arg, LDKConfirmationTarget target) {
}
// Note that we don't call _free() on target, but that's OK, its unitary
}
}
// Note that we don't call _free() on target, but that's OK, its unitary
}
+// We use the same fee estimator globally:
+const LDKFeeEstimator fee_est {
+ .this_arg = NULL,
+ .get_est_sat_per_1000_weight = get_fee,
+ .free = NULL,
+};
static int num_txs_broadcasted = 0; // Technically a race, but ints are atomic on x86
void broadcast_tx(const void *this_arg, LDKTransaction tx) {
static int num_txs_broadcasted = 0; // Technically a race, but ints are atomic on x86
void broadcast_tx(const void *this_arg, LDKTransaction tx) {
@@
-159,7
+169,7
@@
LDKCResult_NoneChannelMonitorUpdateErrZ update_channel_monitor(const void *this_
LDKBroadcasterInterface broadcaster = {
.broadcast_transaction = broadcast_tx,
};
LDKBroadcasterInterface broadcaster = {
.broadcast_transaction = broadcast_tx,
};
- LDK::CResult_NoneMonitorUpdateErrorZ res = ChannelMonitor_update_monitor(&mon.second, &update, &broadcaster, arg->logger);
+ LDK::CResult_NoneMonitorUpdateErrorZ res = ChannelMonitor_update_monitor(&mon.second, &update, &broadcaster,
&fee_est,
arg->logger);
assert(res->result_ok);
}
}
assert(res->result_ok);
}
}
@@
-191,8
+201,8
@@
uintptr_t sock_send_data(void *this_arg, LDKu8slice data, bool resume_read) {
void sock_disconnect_socket(void *this_arg) {
close((int)((long)this_arg));
}
void sock_disconnect_socket(void *this_arg) {
close((int)((long)this_arg));
}
-bool sock_eq(const void *this_arg, const
void
*other_arg) {
- return this_arg == other_arg;
+bool sock_eq(const void *this_arg, const
LDKSocketDescriptor
*other_arg) {
+ return this_arg == other_arg
->this_arg
;
}
uint64_t sock_hash(const void *this_arg) {
return (uint64_t)this_arg;
}
uint64_t sock_hash(const void *this_arg) {
return (uint64_t)this_arg;
@@
-224,12
+234,6
@@
int main() {
LDKNetwork network = LDKNetwork_Testnet;
// Trait implementations:
LDKNetwork network = LDKNetwork_Testnet;
// Trait implementations:
- LDKFeeEstimator fee_est {
- .this_arg = NULL,
- .get_est_sat_per_1000_weight = get_fee,
- .free = NULL,
- };
-
LDKBroadcasterInterface broadcast {
.this_arg = NULL,
.broadcast_transaction = broadcast_tx,
LDKBroadcasterInterface broadcast {
.this_arg = NULL,
.broadcast_transaction = broadcast_tx,
@@
-264,7
+268,7
@@
int main() {
LDK::CVec_ChannelDetailsZ channels = ChannelManager_list_channels(&cm1);
assert(channels->datalen == 0);
LDK::CVec_ChannelDetailsZ channels = ChannelManager_list_channels(&cm1);
assert(channels->datalen == 0);
- LDK::NetGraphMsgHandler net_graph1 = NetGraphMsgHandler_new(NULL, logger1);
+ LDK::NetGraphMsgHandler net_graph1 = NetGraphMsgHandler_new(
genesis_hash,
NULL, logger1);
LDK::MessageHandler msg_handler1 = MessageHandler_new(ChannelManager_as_ChannelMessageHandler(&cm1), NetGraphMsgHandler_as_RoutingMessageHandler(&net_graph1));
LDK::MessageHandler msg_handler1 = MessageHandler_new(ChannelManager_as_ChannelMessageHandler(&cm1), NetGraphMsgHandler_as_RoutingMessageHandler(&net_graph1));
@@
-310,7
+314,7
@@
int main() {
LDK::CVec_ChannelDetailsZ channels2 = ChannelManager_list_channels(&cm2);
assert(channels2->datalen == 0);
LDK::CVec_ChannelDetailsZ channels2 = ChannelManager_list_channels(&cm2);
assert(channels2->datalen == 0);
- LDK::NetGraphMsgHandler net_graph2 = NetGraphMsgHandler_new(NULL, logger2);
+ LDK::NetGraphMsgHandler net_graph2 = NetGraphMsgHandler_new(
genesis_hash,
NULL, logger2);
LDK::RoutingMessageHandler net_msgs2 = NetGraphMsgHandler_as_RoutingMessageHandler(&net_graph2);
LDK::ChannelAnnouncement chan_ann = ChannelAnnouncement_read(LDKu8slice { .data = valid_node_announcement, .datalen = sizeof(valid_node_announcement) });
LDK::CResult_boolLightningErrorZ ann_res = net_msgs2->handle_channel_announcement(net_msgs2->this_arg, &chan_ann);
LDK::RoutingMessageHandler net_msgs2 = NetGraphMsgHandler_as_RoutingMessageHandler(&net_graph2);
LDK::ChannelAnnouncement chan_ann = ChannelAnnouncement_read(LDKu8slice { .data = valid_node_announcement, .datalen = sizeof(valid_node_announcement) });
LDK::CResult_boolLightningErrorZ ann_res = net_msgs2->handle_channel_announcement(net_msgs2->this_arg, &chan_ann);