Skip to content

Rates Engine v0.5.0-rc.29

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 May 23:17
· 1324 commits to main since this release
564b00b

[v0.5.0-rc.29] — 2026-05-08

Added

  • Auto-register classic_assets + issuers from observed
    trades
    — the Phase 4 observer migration 0023 planned for
    but never built. Store.InsertTrade now upserts a
    classic_assets row (and a matching issuers row) for both
    classic-asset legs of every trade, with last_seen_* and
    observation_count bumped on conflict. A process-lifetime
    sync.Map dedupes 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/issuers populates with every G-strkey ever seen as an
    issuer of a traded classic asset, and /v1/coins stops
    surfacing only the hand-curated subset. Slug stays NULL on
    insert (the existing COALESCE(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 renders USDC / by Circle instead of the
    truncated G-strkey when /v1/issuers returns a populated
    org_name. Powered by a new useIssuerLookup hook that pulls
    /v1/issuers?limit=500 once 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 (per docs/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.