Rates Engine v0.5.0-rc.29
Pre-release
Pre-release
·
1324 commits
to main
since this release
[v0.5.0-rc.29] — 2026-05-08
Added
- Auto-register
classic_assets+issuersfrom observed
trades — the Phase 4 observer migration 0023 planned for
but never built.Store.InsertTradenow upserts a
classic_assetsrow (and a matchingissuersrow) for both
classic-asset legs of every trade, withlast_seen_*and
observation_countbumped on conflict. A process-lifetime
sync.Mapdedupes so we hit the DB once per unique asset
per process. Errors soft-fail so a registry-side problem
can't sink the trade-insert hot path. Net effect on prod:
/v1/issuerspopulates with every G-strkey ever seen as an
issuer of a traded classic asset, and/v1/coinsstops
surfacing only the hand-curated subset. Slug stays NULL on
insert (the existingCOALESCE(slug, code)lookup makes
that safe + avoids unique-constraint conflicts when two
issuers share the same code).
Changed
- Classic-asset labels show the issuer's organisation when
known. AssetLabel rendersUSDC / by Circleinstead of the
truncated G-strkey when/v1/issuersreturns a populated
org_name. Powered by a newuseIssuerLookuphook that pulls
/v1/issuers?limit=500once per session and indexes by
G-strkey. Falls back to the truncated G-strkey for unknown
issuers. - Comet rows annotated as "Blend backstop" on
/dexes. The
only Comet pool deployed on Stellar mainnet is Blend's
backstop module (perdocs/operations/wasm-audits/comet.md),
so its trades are liquidation-auction artefacts not retail
price discovery. The new chip-subscript surfaces that context
inline so visitors don't read the row as a normal AMM venue.