Skip to content

SyncGateWalletEnrichment

Purpose

Дообогащает gate-сети через wallet/currency_chains, снимает часть quarantine и обновляет маппинги.

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

Input / Output

Input (models.SyncGateWalletEnrichmentInput): - currencies[] (optional) - source (optional) - max_currencies (optional) - dry_run (optional)

Output (models.SyncGateWalletEnrichmentResult): - status, source - счетчики по wallet fetch/resolution/quarantine - errors[], has_errors

External Dependencies

  • API: Gate wallet/currency_chains
  • DB: asset_mapping_quarantine, exchange_asset_networks, exchange_asset_mappings, exchange_symbol_assets, global_assets, global_asset_networks

Idempotency

  • При dry_run=true изменений в БД нет.
  • В обычном режиме upsert + targeted delete resolved quarantine.

Error Taxonomy

  • ошибки fetch wallet API
  • SQL update/upsert/delete/commit ошибки
  • часть ошибок не валит run, а переводит в status=partial

Callers

Observability

  • Счетчики wallet_symbols_*, wallet_networks_resolved, quarantine_removed.