Skip to content

Conversation

@paullinator
Copy link
Member

@paullinator paullinator commented Dec 19, 2025

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

none

Description

none

Note

Adds chainId/pluginId/tokenId to StandardTx and updates partner adapters, DB indexes, logging, and tooling to support asset-aware reporting.

  • Core/Types & Logging:
    • Add deposit/payoutChainPluginId, deposit/payoutEvmChainId, and deposit/payoutTokenId to StandardTx and plumb through codebase.
    • Replace ad-hoc logging with createScopedLog and update utilities (pagination now takes log).
  • Partners (major updates):
    • Populate new asset fields with chain/network mapping and token contract lookups (with provider caches/mappings) in partners/{banxa, changenow, changehero, exolix, godex, letsexchange, lifi, sideshift, moonpay}.
    • Modernize APIs/pagination and retries (e.g. LetsExchange v2 paginated queries; Sideshift/Godex/ChangeNow currency caches; Lifi computes IDs; Moonpay expands payment types incl. Revolut).
    • Update other adapters to include the new fields (often as undefined) and adopt scoped logging.
  • Database:
    • Add Mango indexes for orderId, timestamps, and new asset fields (e.g. status + depositChainPluginId[/depositTokenId], status + payoutChainPluginId[/payoutTokenId]).
    • initDbs: require couchUris; use pooled setup.
  • Tooling/Scripts:
    • Rename start scripts (start.cache, start.rates, etc.).
    • destroyPartition: scoped logging, pass log to pagination, proper exits.
    • Add src/bin/testpartner.ts for dynamic partner testing.
  • Misc:
    • Demo API key check tightened; FIO promo and other modules adopt scoped logging.

Written by Cursor Bugbot for commit 8466888. This will update automatically on new commits. Configure here.


6
) ?? ''} ${payoutAmount}`
)
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Debug console.log left in production code

A console.log statement logs detailed transaction information (orderId, currencies, chain IDs, token IDs, amounts) for every completed Lifi transaction. This appears to be debug/development code that was accidentally left in. It will pollute production logs, potentially leak sensitive transaction data, and cause unnecessary I/O overhead on every completed transaction processed.

Fix in Cursor Fix in Web

): Promise<EdgeAssetInfo> {
if (network == null) {
throw new Error(`Missing network for asset: ${asset}`)
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Missing date cutoff for network field requirement

The getAssetInfo function throws an error if network is null, but unlike other partners (changehero, exolix, godex) there's no date-based cutoff to gracefully handle older transactions. The cleaner at lines 151 and 158 marks depositNetwork and settleNetwork as optional, suggesting historical transactions may not have these fields. Other partners use constants like CHAIN_FIELDS_REQUIRED_DATE to skip asset info backfill for older transactions, but sideshift throws unconditionally, which could cause the entire sync to fail when processing historical data.

Fix in Cursor Fix in Web

- Round robin query all rates servers
- Increase batch size and query frequency
- Do not write unchanged docs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants