Skip to content

SyncBybitLaunchpoolSnapshot

Purpose

Вызывает Bybit Launchpool history API, нормализует payload и записывает snapshot в Timescale через SQL ingest.

Код: internal/worker/activities/sync_bybit_launchpool.go

Input / Output

Input (models.SyncBybitLaunchpoolInput): - current (optional, default 1)

Output (models.SyncBybitLaunchpoolResult): - snapshot_at - projects_seen, projects_upserted - subpools_seen, subpools_upserted - quarantine_rows - errors[], has_errors

External Dependencies

  • Bybit endpoint: POST https://www.bybit.com/x-api/spot/api/launchpool/v1/history
  • DB: SQL function ingest_bybit_launchpool_snapshot($1::jsonb) + fct_bybit_launchpool_*

Idempotency

  • Идемпотентность обеспечивается UPSERT-семантикой ingest_bybit_launchpool_snapshot.

Error Taxonomy

  • api_error (HTTP/network, non-200, access denied)
  • parse_error (невозможно извлечь список проектов)

Callers

Observability

  • Логи: bybit_launchpool_mapping_coverage, bybit launchpool api request failed
  • Quarantine table: fct_bybit_launchpool_quarantine