[Java] Update LDK batteries to latest upstream API
[ldk-java] / src / main / java / org / ldk / structs / Invoice.java
index 5b02d9eb41f495bfb6143388ec2dba06d409ffa6..e46ac1743d0e02ec98fc6077c1a8c0784065cbd6 100644 (file)
@@ -115,7 +115,7 @@ public class Invoice extends CommonBase {
        }
 
        /**
-        * Returns the `Invoice`'s timestamp (should equal it's creation time)
+        * Returns the `Invoice`'s timestamp (should equal its creation time)
         */
        public long timestamp() {
                long ret = bindings.Invoice_timestamp(this.ptr);
@@ -123,6 +123,15 @@ public class Invoice extends CommonBase {
                return ret;
        }
 
+       /**
+        * Returns the `Invoice`'s timestamp as a duration since the Unix epoch
+        */
+       public long duration_since_epoch() {
+               long ret = bindings.Invoice_duration_since_epoch(this.ptr);
+               Reference.reachabilityFence(this);
+               return ret;
+       }
+
        /**
         * Returns the hash to which we will receive the preimage on completion of the payment
         */
@@ -195,6 +204,17 @@ public class Invoice extends CommonBase {
                return ret;
        }
 
+       /**
+        * Returns whether the expiry time would pass at the given point in time.
+        * `at_time` is the timestamp as a duration since the Unix epoch.
+        */
+       public boolean would_expire(long at_time) {
+               boolean ret = bindings.Invoice_would_expire(this.ptr, at_time);
+               Reference.reachabilityFence(this);
+               Reference.reachabilityFence(at_time);
+               return ret;
+       }
+
        /**
         * Returns the invoice's `min_final_cltv_expiry` time, if present, otherwise
         * [`DEFAULT_MIN_FINAL_CLTV_EXPIRY`].
@@ -211,8 +231,9 @@ public class Invoice extends CommonBase {
        public PrivateRoute[] private_routes() {
                long[] ret = bindings.Invoice_private_routes(this.ptr);
                Reference.reachabilityFence(this);
-               PrivateRoute[] ret_conv_14_arr = new PrivateRoute[ret.length];
-               for (int o = 0; o < ret.length; o++) {
+               int ret_conv_14_len = ret.length;
+               PrivateRoute[] ret_conv_14_arr = new PrivateRoute[ret_conv_14_len];
+               for (int o = 0; o < ret_conv_14_len; o++) {
                        long ret_conv_14 = ret[o];
                        PrivateRoute ret_conv_14_hu_conv = null; if (ret_conv_14 < 0 || ret_conv_14 > 4096) { ret_conv_14_hu_conv = new PrivateRoute(null, ret_conv_14); }
                        ret_conv_14_hu_conv.ptrs_to.add(this);
@@ -227,8 +248,9 @@ public class Invoice extends CommonBase {
        public RouteHint[] route_hints() {
                long[] ret = bindings.Invoice_route_hints(this.ptr);
                Reference.reachabilityFence(this);
-               RouteHint[] ret_conv_11_arr = new RouteHint[ret.length];
-               for (int l = 0; l < ret.length; l++) {
+               int ret_conv_11_len = ret.length;
+               RouteHint[] ret_conv_11_arr = new RouteHint[ret_conv_11_len];
+               for (int l = 0; l < ret_conv_11_len; l++) {
                        long ret_conv_11 = ret[l];
                        RouteHint ret_conv_11_hu_conv = null; if (ret_conv_11 < 0 || ret_conv_11 > 4096) { ret_conv_11_hu_conv = new RouteHint(null, ret_conv_11); }
                        ret_conv_11_hu_conv.ptrs_to.add(this);