mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-06 11:48:24 +00:00
EventCache, LocalCache, LocalCacheHost, AntiSpamFilter, CachePruner,
CacheSearch and OnchainZapResolver are now shared; commons/jvmAndroid keeps
only the LargeSoftCache actual.
The three blockers were cleared in the preceding commits. What the move itself
turned up was the part no import grep could see, since these are JVM APIs that
need no import: @Synchronized and synchronized {} became KmpLock, @Volatile
became kotlin.concurrent.Volatile, System.nanoTime became TimeSource.Monotonic,
HashMap.merge became a local mergeMax, and Dispatchers.IO just needed
kotlinx.coroutines.IO imported.
Two references could not follow the file. The one dateFormatter call was a log
line and now prints the raw created_at. LnurlEndpointCache is a quartz
jvmAndroid singleton the outbound-zap resolver fills, so the zap-receipt
validation reads it through a new LocalCacheHost.lnurlEndpoint port; its
default null is "not cached", which is what a cache miss already meant — the
receipt takes the resolver path instead.
This is not iOS support. iOS compiles the cache now; its store and its two
observables still throw there. The gap is three named files rather than a
module boundary.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KkULS5SVq4GHDdoCzajKi8