Skip to content

feat(statics): onboard CECHO-1941 top-1000 unsupported tokens - #9536

Merged
prithvishet2503 merged 1 commit into
masterfrom
manojkumar138/cecho-1941-unsupported-bsc-arb-tokens-falls-under-top-1000-assets
Aug 24, 2026
Merged

feat(statics): onboard CECHO-1941 top-1000 unsupported tokens#9536
prithvishet2503 merged 1 commit into
masterfrom
manojkumar138/cecho-1941-unsupported-bsc-arb-tokens-falls-under-top-1000-assets

Conversation

@manojkumar138

Copy link
Copy Markdown
Contributor

Summary

Onboards the batch of tokens falling under the top-1000-assets list, per the ticket's two source spreadsheets (only rows with Price match = True):

  • BSC (42): beat, velvet, genius, tag, ab, cheems, bank, wfi, uai, nila, xpin, gps, lab, bdca, glidr, cross, pm, bsb, lusd, wkc, aio, collect, ain, b2, giggle, aleo, lista, tpt, gcb, xny, tac, idol, bluai, clo, hajimi, bdx, spcxb, sndkb, bananas31, coai, nes, mgo
  • Base (8): awe, tibbir, kta, diem, bnkr, fai, roll, zen
  • Arbitrum (2): rain, mlk
  • Polygon (1): apepe
  • Tron (1): real

Decimals and contract addresses were verified independently on-chain (eth_call/tronscan) rather than trusting the sheet:

  • B2 and ALEO: sheet claimed 0 decimals; on-chain is 18 and 6 respectively.
  • BSB, TAC, NES: the sheet's "contracts" column address had no deployed bytecode for these three — used the address from the "explorers" column link instead (the real deployed ERC20 contract).

Adds base.ts UnderlyingAsset entries, per-chain token definitions, and OFC counterparts for all 54 tokens.

Note: The ticket asks to "keep it gated for all the trust for now" — that's an AMS/prime-microservices-layer concern (gatekeep.ts / backing-wallet config), not a BitGoJS statics change, so it's not included here. Will follow up with those changes separately.

Ticket

CECHO-1941

Test plan

  • tsc --noEmit, eslint, and the full statics unit-test suite (35117 passing) all pass locally
  • CI passes

CECHO-1941 Onboard the batch of BSC/Base/Arbitrum/Polygon/Tron tokens
that fall under the top 1000 assets list, per the ticket's two source
spreadsheets (only rows with Price match = True):

- BSC (42 tokens): beat, velvet, genius, tag, ab, cheems, bank, wfi,
  uai, nila, xpin, gps, lab, bdca, glidr, cross, pm, bsb, lusd, wkc,
  aio, collect, ain, b2, giggle, aleo, lista, tpt, gcb, xny, tac,
  idol, bluai, clo, hajimi, bdx, spcxb, sndkb, bananas31, coai, nes,
  mgo
- Base (8): awe, tibbir, kta, diem, bnkr, fai, roll, zen
- Arbitrum (2): rain, mlk
- Polygon (1): apepe
- Tron (1): real

Decimals and contract addresses were verified independently via
on-chain eth_call/tronscan lookups rather than trusting the sheet:
- B2 and ALEO: sheet claimed 0 decimals; on-chain is 18 and 6
  respectively.
- BSB, TAC, NES: the sheet's 'contracts' column address had no
  deployed bytecode for these three; used the address from the
  'explorers' column link instead, which is the real ERC20 contract.

Adds base.ts UnderlyingAsset entries, per-chain token definitions,
and OFC counterparts for all 54 tokens. Entity-level gating (per the
ticket's 'keep gated for all trust for now') is handled separately
at the AMS/prime-microservices layer, not in BitGoJS statics.

Ticket: CECHO-1941
@manojkumar138
manojkumar138 requested a review from a team as a code owner August 21, 2026 10:47
@linear-code

linear-code Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

CECHO-1941

@ArunBala-Bitgo

Copy link
Copy Markdown
Contributor

@claude review this PR

@ArunBala-Bitgo
ArunBala-Bitgo self-requested a review August 24, 2026 03:45
@github-actions

github-actions Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Claude finished @ArunBala-Bitgo's task —— View job


PR Review ✅

Reviewing PR #9536 - feat(statics): onboard CECHO-1941 top-1000 unsupported tokens

Todo List:

  • Analyze PR context and changed files
  • Review token definitions for consistency and correctness
  • Check contract addresses and decimal values
  • Verify code structure and formatting
  • Provide comprehensive review feedback

Review Summary

This PR successfully onboards 54 new tokens across multiple chains (BSC, Base, Arbitrum, Polygon, Tron) following the established patterns and conventions. The implementation is well-structured and thorough.

✅ Positive Aspects

  1. Comprehensive Implementation: All required components are properly implemented:

    • UnderlyingAsset entries in base.ts
    • ✅ Chain-specific token definitions (bscTokens, etc.)
    • ✅ OFC counterparts in ofcCoins.ts and ofcErc20Coins.ts
    • ✅ Main registry entries in allCoinsAndTokens.ts
  2. Data Integrity:

    • ✅ Contract addresses are properly formatted (40 hex chars)
    • ✅ No duplicate contract addresses found (verified 54 unique addresses)
    • ✅ Decimal corrections properly implemented:
      • B2: 18 decimals (not 0 as in spreadsheet) ✅
      • ALEO: 6 decimals (not 0 as in spreadsheet) ✅
    • ✅ Tron address format correct (TGBfBt6Y2Dm3RHdNpZAdqywBsvfdysf834)
  3. Code Structure:

    • ✅ Consistent UUID generation for all entries
    • ✅ Proper use of BSC_TOKEN_FEATURES, chain-specific features
    • ✅ Correct network assignments (Networks.main.basechain, etc.)
    • ✅ Consistent naming conventions (symbols match between definitions)
  4. Chain Distribution (matches PR description):

    • ✅ BSC: 42 tokens (verified in bscTokens.ts)
    • ✅ Base: 8 tokens (verified in allCoinsAndTokens.ts)
    • ✅ Arbitrum: 2 tokens (rain, mlk)
    • ✅ Polygon: 1 token (apepe)
    • ✅ Tron: 1 token (real)
  5. Documentation: Clear commit message with detailed explanation of verification process and corrections made.

🔍 Code Quality Observations

  • Proper Error Handling: Author correctly identified and fixed issues with BSB, TAC, and NES tokens by using explorer addresses when contract column had no bytecode
  • Independent Verification: Decimals and addresses verified on-chain rather than trusting spreadsheet data
  • Consistent Patterns: All token definitions follow the established codebase patterns exactly

⚠️ Minor Notes

  • The PR correctly notes that entity-level gating is handled separately at AMS/prime-microservices layer
  • All tokens use standard BSC_TOKEN_FEATURES without special exclusions, which appears appropriate for this batch

🚀 Recommendation

LGTM - This PR is well-implemented, follows all established patterns, demonstrates good due diligence in data verification, and includes comprehensive OFC support. The code is ready for merge.

Files Changed: modules/statics/src/allCoinsAndTokens.ts, modules/statics/src/base.ts, modules/statics/src/coins/bscTokens.ts, modules/statics/src/coins/ofcCoins.ts, modules/statics/src/coins/ofcErc20Coins.ts, modules/statics/src/coins/polygonTokens.ts


View PR | Branch: manojkumar138/cecho-1941-unsupported-bsc-arb-tokens-falls-under-top-1000-assets

@prithvishet2503
prithvishet2503 merged commit 1125ee8 into master Aug 24, 2026
25 checks passed
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.

3 participants