From fba6d6bba07860261ca304fa63cfde8fe46bc6f0a7629ff07e145fe9cec99fd7 Mon Sep 17 00:00:00 2001 From: AidarKC Date: Sat, 13 Jun 2026 07:36:45 +0400 Subject: [PATCH] =?UTF-8?q?ESP32:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20derivation=20user=5Fpda=20=D0=B4=D0=BB?= =?UTF-8?q?=D1=8F=20Solana?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shine_homeserver_main/shine_homeserver_main.ino | 7 ++++++- VERSION.properties | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_main/shine_homeserver_main.ino b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_main/shine_homeserver_main.ino index 2b7c6ac..ac2e165 100644 --- a/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_main/shine_homeserver_main.ino +++ b/ESP32/esp32/ESP32-S3-Touch-AMOLED-2.16/main-device/shine_homeserver_main/shine_homeserver_main.ino @@ -8,6 +8,9 @@ #include #include #include + +extern "C" int ge25519_is_canonical(const unsigned char *s); +extern "C" int ge25519_is_on_curve(const unsigned char *p); #include #include #include @@ -915,7 +918,9 @@ static bool findProgramAddress(const std::vector> &seeds, c reinterpret_cast(kProgramDerivedAddressMarker), strlen(kProgramDerivedAddressMarker)); crypto_hash_sha256_final(&st, out32); - if (crypto_core_ed25519_is_valid_point(out32) == 0) { + bool isCanonical = ge25519_is_canonical(out32) != 0; + bool isOnCurve = ge25519_is_on_curve(out32) != 0; + if (!(isCanonical && isOnCurve)) { return true; } } diff --git a/VERSION.properties b/VERSION.properties index 0162f47..8e7f4ef 100644 --- a/VERSION.properties +++ b/VERSION.properties @@ -1,2 +1,2 @@ -client.version=1.2.170 -server.version=1.2.159 +client.version=1.2.171 +server.version=1.2.160