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.