From daa9bbff3aa2a0b76c168b3c2990dacf2a8b010a Mon Sep 17 00:00:00 2001 From: davotoula Date: Thu, 28 May 2026 12:42:42 +0200 Subject: [PATCH] fix(quartz): KMP-safe @Volatile import in Cashu warmup flags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `@Volatile` in commonMain resolves to `kotlin.jvm.Volatile` by default, which doesn't exist on iOS targets. Two new NIP-60 Cashu files use `@Volatile` without an explicit import, breaking `:quartz:compileKotlinIosSimulatorArm64`: Bdhke.kt:577:6 Unresolved reference 'Volatile'. MintApiSerializerWarmup.kt:74:6 Unresolved reference 'Volatile'. Add `import kotlin.concurrent.Volatile` to both files. Same pattern as 6f1292bfc (Note.kt) — semantics unchanged on JVM/Android, now also resolves on iOS. Co-Authored-By: Claude Opus 4.7 (1M context) --- .../kotlin/com/vitorpamplona/quartz/nip60Cashu/bdhke/Bdhke.kt | 1 + .../quartz/nip60Cashu/mintApi/MintApiSerializerWarmup.kt | 1 + 2 files changed, 2 insertions(+) diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip60Cashu/bdhke/Bdhke.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip60Cashu/bdhke/Bdhke.kt index 7ab6d84d61..fb0ce223a6 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip60Cashu/bdhke/Bdhke.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip60Cashu/bdhke/Bdhke.kt @@ -31,6 +31,7 @@ import com.vitorpamplona.quartz.utils.secp256k1.ScalarN import com.vitorpamplona.quartz.utils.secp256k1.Secp256k1 import com.vitorpamplona.quartz.utils.secp256k1.U256 import com.vitorpamplona.quartz.utils.sha256.sha256 +import kotlin.concurrent.Volatile /** * Blind Diffie-Hellman Key Exchange (BDHKE) — the cryptographic primitive diff --git a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip60Cashu/mintApi/MintApiSerializerWarmup.kt b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip60Cashu/mintApi/MintApiSerializerWarmup.kt index e27e8d12e8..fa7fc221a4 100644 --- a/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip60Cashu/mintApi/MintApiSerializerWarmup.kt +++ b/quartz/src/commonMain/kotlin/com/vitorpamplona/quartz/nip60Cashu/mintApi/MintApiSerializerWarmup.kt @@ -21,6 +21,7 @@ package com.vitorpamplona.quartz.nip60Cashu.mintApi import kotlinx.serialization.json.Json +import kotlin.concurrent.Volatile /** * Pre-warms kotlinx.serialization for the hot mint-API DTOs.