From bd185e17639052b4ab69cbab0d3df909e6a90b29 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 30 Jul 2026 12:13:12 +0000 Subject: [PATCH] fix(statics): keep Singapore excluded from RBTC custody RBTC_FEATURES explicitly listed CUSTODY_BITGO_SINGAPORE, but that was already a no-op: ETH_FEATURES (spread into RBTC_FEATURES) pulls in CUSTODY_BITGO_SINGAPORE via ACCOUNT_COIN_DEFAULT_FEATURES, so simply deleting the explicit entry would not have removed it from the resulting feature list. Filter CUSTODY_BITGO_SINGAPORE out of the final RBTC_FEATURES array instead, matching the exclusion pattern already used elsewhere in this file (e.g. CELO_FEATURES, ETH_FEATURES_WITH_FRANKFURT_EXCLUDE_SINGAPORE). Per COIN-5477 and team decision in Slack, Singapore trusts should stay gated out of RBTC custody once RBTC custody wallets are enabled (BitGo/bitgo-microservices#61593). TICKET: CECHO-1849 --- modules/statics/src/coinFeatures.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/statics/src/coinFeatures.ts b/modules/statics/src/coinFeatures.ts index b60ef68d45..2121d0d222 100644 --- a/modules/statics/src/coinFeatures.ts +++ b/modules/statics/src/coinFeatures.ts @@ -129,14 +129,16 @@ export const CELO_TOKEN_FEATURES = [...ACCOUNT_COIN_DEFAULT_FEATURES].filter( feature !== CoinFeature.CUSTODY_BITGO_INDIA ); +// CUSTODY_BITGO_SINGAPORE is inherited via ACCOUNT_COIN_DEFAULT_FEATURES -> ETH_FEATURES, so it must be +// explicitly filtered out below (not just omitted from the list) to actually keep Singapore trusts +// excluded from RBTC custody. See COIN-5477 / CECHO-1849. export const RBTC_FEATURES = [ ...ETH_FEATURES, CoinFeature.MULTISIG_COLD, CoinFeature.MULTISIG, CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_FRANKFURT, - CoinFeature.CUSTODY_BITGO_SINGAPORE, -]; +].filter((feature) => feature !== CoinFeature.CUSTODY_BITGO_SINGAPORE); export const XLM_FEATURES = [ ...ACCOUNT_COIN_DEFAULT_FEATURES, CoinFeature.SUPPORTS_TOKENS,