From 5943d1c5330ac38e833d08c8fb1f13a98f141cd8 Mon Sep 17 00:00:00 2001
From: woodser <13068859+woodser@users.noreply.github.com>
Date: Sun, 18 Oct 2026 06:58:11 -0400
Subject: [PATCH 1/4] utils: enforce MoneroError contract in validateAddress
isValidAddress threw raw exceptions like Overflow 2 instead of returning false for malformed input.
---
src/main/java/monero/common/MoneroUtils.java | 4 +++-
src/test/java/TestMoneroUtils.java | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/main/java/monero/common/MoneroUtils.java b/src/main/java/monero/common/MoneroUtils.java
index 137cc6c0..5c644a6c 100644
--- a/src/main/java/monero/common/MoneroUtils.java
+++ b/src/main/java/monero/common/MoneroUtils.java
@@ -399,7 +399,9 @@ public static void validateAddress(String address, MoneroNetworkType networkType
try {
MoneroDecodedAddress decodedAddress = decodeAddress(address);
GenUtils.assertEquals("Address network type mismatch: " + networkType + " vs " + decodedAddress.getNetworkType(), networkType, decodedAddress.getNetworkType());
- } catch (AssertionError e) {
+ } catch (MoneroError e) {
+ throw e;
+ } catch (AssertionError | RuntimeException e) {
throw new MoneroError(e.getMessage());
}
}
diff --git a/src/test/java/TestMoneroUtils.java b/src/test/java/TestMoneroUtils.java
index a48e913b..902ead8f 100644
--- a/src/test/java/TestMoneroUtils.java
+++ b/src/test/java/TestMoneroUtils.java
@@ -177,6 +177,7 @@ public void testAddressValidation() {
testInvalidAddress("42ZxX3Y2y5s4nJ8fdz2w65TrTEp9PRsv5J8iHSShkHQcE2V31FhnWptioNst1K9oeDY4KpWZ7v8V2BZNVa4Wdky89iqmPz2", MoneroNetworkType.MAINNET);
testInvalidAddress("41ApvrfMgUFZEePHBZHwuSckQXebuZu299NSmVEmQ41YJZQhKcPyujyMSzpDH4VMMVSBo3U3b54JaNvQLwAjqDhKeGLQ9vfRBRKFKnBtVH", MoneroNetworkType.MAINNET);
testInvalidAddress("81fyq3t8Gxn1QWMG189EufHtMHXZXkfJtJKFJXqeA4GpSiuyfjVwVyp47PeQJnD7Tc8iK8TDvvhcmEmfh8nx7Va2ToP8wAo", MoneroNetworkType.MAINNET);
+ testInvalidAddress("4CApvrfMgUFZEePHBZHwuSckQXebuZu299NSmVEmQ41YJZQhKcPyujyMSzpDH4VMMVSBo3U3b54JaNvQLwAjqDhKeGLQ9vf", MoneroNetworkType.MAINNET);
// test invalid addresses on testnet
testInvalidAddress(null, MoneroNetworkType.TESTNET);
From fa1371bbe74c725a5ba84edc942ae8116d9fa24d Mon Sep 17 00:00:00 2001
From: woodser <13068859+woodser@users.noreply.github.com>
Date: Sun, 18 Oct 2026 07:25:49 -0400
Subject: [PATCH 2/4] ci: fix removed msys2 packages on windows
Pin the archived hidapi and libusb, and install ICU from the repo
since the pinned ICU was pruned and is only needed at configure.
---
.github/workflows/build.yml | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 8d6e173e..95e208c0 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -208,11 +208,10 @@ jobs:
mingw-w64-x86_64-openssl
mingw-w64-x86_64-zeromq
mingw-w64-x86_64-libsodium
- mingw-w64-x86_64-hidapi
mingw-w64-x86_64-unbound
mingw-w64-x86_64-protobuf
- mingw-w64-x86_64-libusb
mingw-w64-x86_64-expat
+ mingw-w64-x86_64-icu
mingw-w64-x86_64-ntldd
git
make
@@ -220,11 +219,13 @@ jobs:
base-devel
wget
- - name: Install ICU v75.1
+ - name: Install hidapi v0.15.0 and libusb v1.0.30
run: |
- wget https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-icu-75.1-2-any.pkg.tar.zst
- echo "bf57882d43efcdfd746463613ea982c69b64aa4ba9bed4cb24c02a81ad06c3a9 mingw-w64-x86_64-icu-75.1-2-any.pkg.tar.zst" | sha256sum -c
- pacman -U --noconfirm mingw-w64-x86_64-icu-75.1-2-any.pkg.tar.zst
+ # removed from the msys2 mingw64 repo; install the archived packages
+ wget https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-hidapi-0.15.0-2-any.pkg.tar.zst https://repo.msys2.org/mingw/mingw64/mingw-w64-x86_64-libusb-1.0.30-1-any.pkg.tar.zst
+ echo "89fb61549a437d65076a092a367fcb264fc7045ee9ebef48cd81f5a76a5588f8 mingw-w64-x86_64-hidapi-0.15.0-2-any.pkg.tar.zst" | sha256sum -c
+ echo "124edc26b009678a4c5e759481a364abf63ed7f2f49a53092e8bd0a47c0c0740 mingw-w64-x86_64-libusb-1.0.30-1-any.pkg.tar.zst" | sha256sum -c
+ pacman -U --noconfirm mingw-w64-x86_64-hidapi-0.15.0-2-any.pkg.tar.zst mingw-w64-x86_64-libusb-1.0.30-1-any.pkg.tar.zst
- name: Install boost v1.87.0
run: |
From 9a81d3d2eb23d84240bd63810f5441c0a7c67b6d Mon Sep 17 00:00:00 2001
From: woodser <13068859+woodser@users.noreply.github.com>
Date: Sun, 18 Oct 2026 07:18:21 -0400
Subject: [PATCH 3/4] build: bump version to 0.8.63
---
README.md | 4 ++--
pom.xml | 2 +-
src/main/java/monero/common/MoneroUtils.java | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/README.md b/README.md
index f3fcac58..b2bd7d7e 100644
--- a/README.md
+++ b/README.md
@@ -97,7 +97,7 @@ walletFull.close(true);
#### For Gradle, add to build.gradle:
-`compile 'io.github.woodser:monero-java:0.8.62'`
+`compile 'io.github.woodser:monero-java:0.8.63'`
#### For Maven, add to pom.xml:
@@ -105,7 +105,7 @@ walletFull.close(true);
io.github.woodser
monero-java
- 0.8.62
+ 0.8.63
```
diff --git a/pom.xml b/pom.xml
index a6275c7e..1f92cfb5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
io.github.woodser
monero-java
- 0.8.62
+ 0.8.63
Monero Java Library
A Java library for using Monero
https://github.com/woodser/monero-java
diff --git a/src/main/java/monero/common/MoneroUtils.java b/src/main/java/monero/common/MoneroUtils.java
index 5c644a6c..4fe2901f 100644
--- a/src/main/java/monero/common/MoneroUtils.java
+++ b/src/main/java/monero/common/MoneroUtils.java
@@ -42,7 +42,7 @@ public class MoneroUtils {
* @return the version of this monero-java library
*/
public static String getVersion() {
- return "0.8.62";
+ return "0.8.63";
}
/**
From 0ccb5cef5ff7aa3ef3e2e29c3e82994cd280b595 Mon Sep 17 00:00:00 2001
From: woodser <13068859+woodser@users.noreply.github.com>
Date: Sun, 18 Oct 2026 08:28:40 -0400
Subject: [PATCH 4/4] build: update monero-cpp submodule
---
external/monero-cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/external/monero-cpp b/external/monero-cpp
index 750fe702..1674b581 160000
--- a/external/monero-cpp
+++ b/external/monero-cpp
@@ -1 +1 @@
-Subproject commit 750fe7022aa55dd74e105c2cecaede0c85c0b78b
+Subproject commit 1674b581ebb6e88a8b2f1d0206d420d51402c978