mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 16:14:40 +00:00
Move the NIP-60/61 wallet orchestration layer (CashuWalletOps + its result types: TokenEntry, MintQuoteStarted, MintCompleted, MeltCompleted, SendTokenCompleted, RedeemCompleted, NutzapSent, RestoreOutcome, MigrationResult, CreatedWallet, describeMintError) out of amethyst into commons/jvmAndroid/cashu/ops. The class already had zero Android dependencies — it takes signer, publish, okHttpClient, secretFactory, and the NUT-13 counter callbacks as constructor params. It lands in the jvmAndroid source set (not commonMain) because it composes quartz's jvmAndroid CashuMintOperations/MintHttpClient and uses ConcurrentHashMap. Both Android (amethyst) and the JVM CLI (amy) can now drive the exact same wallet code path. This is Extraction B of cli/plans/2026-05-28-cashu-cli.md. Android callers (CashuWalletState, the wallet ViewModels, AccountViewModel) updated to the new package; no behavioral change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011SapGdtAc1j7woifoCZ9fY