+ LDK::CVec_MonitorEventZ events = ChannelMonitor_get_and_clear_pending_monitor_events(&arg->mons[0].second);
+ LDK::C2Tuple_OutPointScriptZ funding_info = ChannelMonitor_get_funding_txo(&arg->mons[0].second);
+ LDK::OutPoint outpoint = std::move(funding_info->a);
+ LDK::C2Tuple_OutPointCVec_MonitorEventZZ pair = C2Tuple_OutPointCVec_MonitorEventZZ_new(std::move(outpoint), std::move(events));
+ auto vec = LDKCVec_C2Tuple_OutPointCVec_MonitorEventZZZ {
+ .data = (LDKC2Tuple_OutPointCVec_MonitorEventZZ*)malloc(sizeof(LDKC2Tuple_OutPointCVec_MonitorEventZZ)),
+ .datalen = 1,
+ };
+ vec.data[0] = std::move(pair);
+ return vec;