X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FChainMonitor.java;h=5d2f5080f1e4e0eb4c78fd2fab6046a89b48be1e;hb=330ca992be304d0eac79bd59b411980dff294b03;hp=0a3d9fe8047643dea60d32e481961226c480f8e7;hpb=1852c471e433c02edcae4803ba52bfec05c5631c;p=ldk-java diff --git a/src/main/java/org/ldk/structs/ChainMonitor.java b/src/main/java/org/ldk/structs/ChainMonitor.java index 0a3d9fe8..5d2f5080 100644 --- a/src/main/java/org/ldk/structs/ChainMonitor.java +++ b/src/main/java/org/ldk/structs/ChainMonitor.java @@ -37,7 +37,7 @@ public class ChainMonitor extends CommonBase { * always need to fetch full blocks absent another means for determining which blocks contain * transactions relevant to the watched channels. */ - public static ChainMonitor of(Option_FilterZ chain_source, BroadcasterInterface broadcaster, Logger logger, FeeEstimator feeest, Persist persister) { + public static ChainMonitor of(org.ldk.structs.Option_FilterZ chain_source, org.ldk.structs.BroadcasterInterface broadcaster, org.ldk.structs.Logger logger, org.ldk.structs.FeeEstimator feeest, org.ldk.structs.Persist persister) { long ret = bindings.ChainMonitor_new(chain_source.ptr, broadcaster == null ? 0 : broadcaster.ptr, logger == null ? 0 : logger.ptr, feeest == null ? 0 : feeest.ptr, persister == null ? 0 : persister.ptr); Reference.reachabilityFence(chain_source); Reference.reachabilityFence(broadcaster); @@ -89,7 +89,7 @@ public class ChainMonitor extends CommonBase { * Note that the result holds a mutex over our monitor set, and should not be held * indefinitely. */ - public Result_LockedChannelMonitorNoneZ get_monitor(OutPoint funding_txo) { + public Result_LockedChannelMonitorNoneZ get_monitor(org.ldk.structs.OutPoint funding_txo) { long ret = bindings.ChainMonitor_get_monitor(this.ptr, funding_txo == null ? 0 : funding_txo.ptr); Reference.reachabilityFence(this); Reference.reachabilityFence(funding_txo); @@ -119,6 +119,23 @@ public class ChainMonitor extends CommonBase { return ret_conv_10_arr; } + /** + * Lists the pending updates for each [`ChannelMonitor`] (by `OutPoint` being monitored). + */ + public TwoTuple_OutPointCVec_MonitorUpdateIdZZ[] list_pending_monitor_updates() { + long[] ret = bindings.ChainMonitor_list_pending_monitor_updates(this.ptr); + Reference.reachabilityFence(this); + int ret_conv_41_len = ret.length; + TwoTuple_OutPointCVec_MonitorUpdateIdZZ[] ret_conv_41_arr = new TwoTuple_OutPointCVec_MonitorUpdateIdZZ[ret_conv_41_len]; + for (int p = 0; p < ret_conv_41_len; p++) { + long ret_conv_41 = ret[p]; + TwoTuple_OutPointCVec_MonitorUpdateIdZZ ret_conv_41_hu_conv = new TwoTuple_OutPointCVec_MonitorUpdateIdZZ(null, ret_conv_41); + if (ret_conv_41_hu_conv != null) { ret_conv_41_hu_conv.ptrs_to.add(this); }; + ret_conv_41_arr[p] = ret_conv_41_hu_conv; + } + return ret_conv_41_arr; + } + /** * Indicates the persistence of a [`ChannelMonitor`] has completed after * [`ChannelMonitorUpdateStatus::InProgress`] was returned from an update operation. @@ -134,7 +151,7 @@ public class ChainMonitor extends CommonBase { * Returns an [`APIError::APIMisuseError`] if `funding_txo` does not match any currently * registered [`ChannelMonitor`]s. */ - public Result_NoneAPIErrorZ channel_monitor_updated(OutPoint funding_txo, MonitorUpdateId completed_update_id) { + public Result_NoneAPIErrorZ channel_monitor_updated(org.ldk.structs.OutPoint funding_txo, org.ldk.structs.MonitorUpdateId completed_update_id) { long ret = bindings.ChainMonitor_channel_monitor_updated(this.ptr, funding_txo == null ? 0 : funding_txo.ptr, completed_update_id == null ? 0 : completed_update_id.ptr); Reference.reachabilityFence(this); Reference.reachabilityFence(funding_txo);