mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-10-06 11:48:24 +00:00
- Unrecognised 38000s fell back to a plain Event, which stores do not key
by `d` (they test `is AddressableEvent`): a spam bot republishing one
address kept every copy, an `a`-tag deletion missed them, and a newer
junk version never replaced an older recommendation. They are now
UnrecognizedKind38000Event — addressable, never indexed, no card — and
EventCache files them as addressables instead of logging each one's
JSON at WARN.
- The card's blank-line regex rescanned long whitespace runs from every
position: a crafted ~64 KB description froze the main thread for
seconds. Collapsed line by line instead.
- The fee printed Double.toString ("4.21%" beside German "100.000 sats",
"NaN%" for junk). New locale-aware formatDecimal (expect/actual);
non-finite or negative fees are dropped.
- The status badge and the closing-time line read the clock at different
moments, and a market declared closed before its end read "Closed <a
future date>". Both now read the same moment; a closed-early market
states no closing time.
- Outcomes are (id, label): `resolution` names the id, the card shows
the label — `["outcome","opt1","Foundry USA"]` and `{"id":"A",
"label":"Foundry"}` resolved to "A" now mark their winner. Deduped by
set and capped at 64 against crafted floods.
- isMintRecommendation accepts any `k` naming a mint kind (not only the
first) and a recommendation that names its mint only by `a`.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CsFEX4ZT8mL1r8h2M6qfH