From c85b58cd3f521b555681362d7f7bdaff04307055 Mon Sep 17 00:00:00 2001 From: Ashutosh Kumar Date: Wed, 22 Oct 2025 13:59:08 +0530 Subject: [PATCH 1/4] feat: gate assets for Singapore custody TICKET : https://bitgoinc.atlassian.net/browse/COIN-5477 --- modules/statics/src/allCoinsAndTokens.ts | 13 +- modules/statics/src/coinFeatures.ts | 3 + modules/statics/src/coins/avaxTokens.ts | 5 +- modules/statics/src/coins/bscTokens.ts | 13 +- modules/statics/src/coins/erc20Coins.ts | 230 +++++++++++++-------- modules/statics/src/coins/polygonTokens.ts | 6 +- modules/statics/src/coins/sip10Tokens.ts | 6 +- modules/statics/src/coins/solTokens.ts | 10 +- modules/statics/src/utxo.ts | 2 +- 9 files changed, 182 insertions(+), 106 deletions(-) diff --git a/modules/statics/src/allCoinsAndTokens.ts b/modules/statics/src/allCoinsAndTokens.ts index 02a3828665..5596c38359 100644 --- a/modules/statics/src/allCoinsAndTokens.ts +++ b/modules/statics/src/allCoinsAndTokens.ts @@ -677,7 +677,12 @@ export const allCoinsAndTokens = [ 6, UnderlyingAsset.OSMO, BaseUnit.OSMO, - COSMOS_SIDECHAIN_FEATURES_WITH_STAKING + COSMOS_SIDECHAIN_FEATURES_WITH_STAKING.filter( + (feature) => + ![ + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ].includes(feature) + ) ), account( 'd813e9c9-f9b9-4d10-a4e2-57d9e3b65e2c', @@ -1446,7 +1451,7 @@ export const allCoinsAndTokens = [ 18, UnderlyingAsset.WEMIX, BaseUnit.ETH, - WEMIX_FEATURES + WEMIX_FEATURES.filter( (feature) => feature !== CoinFeature.CUSTODY_BITGO_SINGAPORE) ), account( 'b18517e3-2fba-44df-be39-7ba062d14895', @@ -2620,7 +2625,7 @@ export const allCoinsAndTokens = [ 7, UnderlyingAsset['xlm:SLT-GCKA6K5PCQ6PNF5RQBF7PQDJWRHO6UOGFMRLK3DYHDOI244V47XKQ4GP'], 'smartlands.io', - AccountCoin.DEFAULT_FEATURES, + AccountCoin.DEFAULT_FEATURES_EXCLUDE_SINGAPORE, '', 'SLT' ), @@ -4629,7 +4634,7 @@ export const allCoinsAndTokens = [ 'VSUI', '0x549e8b69270defbfafd4f94e17ec44cdbdd99820b33bda2278dea3b9a32d3f55::vsui::VSUI', UnderlyingAsset['sui:vsui'], - SUI_TOKEN_FEATURES + SUI_TOKEN_FEATURES_EXCLUDE_SINGAPORE ), suiToken( '705d1458-d5e6-4eaa-8a34-51e65cc68dec', diff --git a/modules/statics/src/coinFeatures.ts b/modules/statics/src/coinFeatures.ts index bb6ccb4f1d..1ad4da264f 100644 --- a/modules/statics/src/coinFeatures.ts +++ b/modules/statics/src/coinFeatures.ts @@ -304,6 +304,9 @@ export const STX_TOKEN_FEATURES = [ CoinFeature.MULTISIG_COLD, CoinFeature.ALPHANUMERIC_MEMO_ID, ]; +export const STX_TOKEN_FEATURES_EXCLUDE_SINGAPORE = STX_TOKEN_FEATURES.filter( + (feature) => feature !== CoinFeature.CUSTODY_BITGO_SINGAPORE +); export const NEAR_FEATURES = [ ...ACCOUNT_COIN_DEFAULT_FEATURES, CoinFeature.TSS, diff --git a/modules/statics/src/coins/avaxTokens.ts b/modules/statics/src/coins/avaxTokens.ts index 04eb588b24..8bb00136b1 100644 --- a/modules/statics/src/coins/avaxTokens.ts +++ b/modules/statics/src/coins/avaxTokens.ts @@ -568,7 +568,10 @@ export const avaxTokens = [ 'Betswap.gg', 18, '0x49f519002eeced6902f24c0be72b6d898e4d27fc', - UnderlyingAsset['avaxc:bsgg'] + UnderlyingAsset['avaxc:bsgg'], + AccountCoin.getFeaturesByTypeExcluding([ + CoinFeature.CUSTODY_BITGO_SINGAPORE + ]) ), avaxErc20( 'e6bd6935-daac-4edc-8cfb-f8305ebbdb11', diff --git a/modules/statics/src/coins/bscTokens.ts b/modules/statics/src/coins/bscTokens.ts index 47a8b73237..5b1417ab28 100644 --- a/modules/statics/src/coins/bscTokens.ts +++ b/modules/statics/src/coins/bscTokens.ts @@ -150,7 +150,12 @@ export const bscTokens = [ '0xcebef3df1f3c5bfd90fde603e71f31a53b11944d', UnderlyingAsset['bsc:litt'], AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], BSC_TOKEN_FEATURES ) ), @@ -197,7 +202,7 @@ export const bscTokens = [ 6, '0x71b3a0566f4bf80331d115d8026a7022bf670cce', UnderlyingAsset['bsc:dd'], - BSC_TOKEN_FEATURES + BSC_TOKEN_FEATURES_EXCLUDE_SINGAPORE ), bscToken( 'ebfcdf18-bdad-41da-bbda-2b3a71338c1c', @@ -1019,7 +1024,7 @@ export const bscTokens = [ 18, '0x2003f7ba57ea956b05b85c60b4b2ceea9b111256', UnderlyingAsset['bsc:kmd'], - BSC_TOKEN_FEATURES + BSC_TOKEN_FEATURES_EXCLUDE_SINGAPORE ), bscToken( 'a4cda030-4c22-4ece-93b4-840da127781c', @@ -1286,7 +1291,7 @@ export const bscTokens = [ 18, '0x64748ea3e31d0b7916f0ff91b017b9f404ded8ef', UnderlyingAsset['bsc:cusdo'], - BSC_TOKEN_FEATURES + BSC_TOKEN_FEATURES_EXCLUDE_SINGAPORE ), bscToken( '94c40a09-1d9e-4623-8e74-58b604a041ab', diff --git a/modules/statics/src/coins/erc20Coins.ts b/modules/statics/src/coins/erc20Coins.ts index 143aa85aa0..9dca42be6b 100644 --- a/modules/statics/src/coins/erc20Coins.ts +++ b/modules/statics/src/coins/erc20Coins.ts @@ -20,6 +20,8 @@ import { WETH_FEATURES, ZETA_EVM_FEATURES, ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_MENA_FZE, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE_AND_MENA_FZE, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE, } from '../coinFeatures'; export const erc20Coins = [ @@ -101,7 +103,8 @@ export const erc20Coins = [ 'Constellation Staked ETH', 18, '0xbb22d59b73d7a6f3a8a83a214becc67eb3b511fe', - UnderlyingAsset['eth:xreth'] + UnderlyingAsset['eth:xreth'], + AccountCoin.DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'f1b3b3b4-1b5b-4b7b-8b3b-1b3b4b7b8b3b', @@ -117,7 +120,8 @@ export const erc20Coins = [ 'BlockchainSpace', 18, '0x83e9f223e1edb3486f876ee888d76bfba26c475a', - UnderlyingAsset['eth:guild'] + UnderlyingAsset['eth:guild'], + AccountCoin.DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '7f986f36-7a0c-4bc8-8c1a-90c6f1a7a5e2', @@ -133,7 +137,8 @@ export const erc20Coins = [ 'Real Yield Token', 18, '0x1d06aa46994f2aba30f6eed46b315664460a709a', - UnderlyingAsset['eth:ryt'] + UnderlyingAsset['eth:ryt'], + AccountCoin.DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '4f09e21a-36b1-4d95-93f6-e57a0c7f96d0', @@ -607,7 +612,8 @@ export const erc20Coins = [ 'Atari Token', 0, '0xdacd69347de42babfaecd09dc88958378780fb62', - UnderlyingAsset.ATRI + UnderlyingAsset.ATRI, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '0d0e43eb-2bf0-474c-baf9-97dd9d05d383', @@ -741,7 +747,7 @@ export const erc20Coins = [ '0xf25c91c87e0b1fd9b4064af0f427157aab0193a7', UnderlyingAsset.BASIC, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -801,7 +807,8 @@ export const erc20Coins = [ 'Basiscoin Cash', 18, '0xae17f4f5ca32f77ea8e3786db7c0b2fe877ac176', - UnderlyingAsset.BCC + UnderlyingAsset.BCC, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '1dcb6e39-bb47-4bf3-a9c5-809a7953f7a2', @@ -811,7 +818,7 @@ export const erc20Coins = [ '0xcdc412f306e0c51e3249b88c65423cd16b322673', UnderlyingAsset.BCIO, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -1476,7 +1483,7 @@ export const erc20Coins = [ '0x4162178b78d6985480a308b2190ee5517460406d', UnderlyingAsset.CLN, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -1486,7 +1493,8 @@ export const erc20Coins = [ 'CoinLoan Token', 8, '0x2001f2a0cf801ecfda622f6c28fb6e10d803d969', - UnderlyingAsset.CLT + UnderlyingAsset.CLT, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '97c1443c-de9e-43c8-ba15-fc77f948f5d7', @@ -1547,7 +1555,7 @@ export const erc20Coins = [ '0x5d8d9f5b96f4438195be9b99eee6118ed4304286', UnderlyingAsset.COVER, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -1557,7 +1565,8 @@ export const erc20Coins = [ 'Cryptopay', 0, '0x0ebb614204e47c09b6c3feb9aaecad8ee060e23e', - UnderlyingAsset.CPAY + UnderlyingAsset.CPAY, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'acb5348f-fea4-4b6e-950c-ca1857f42a12', @@ -1614,7 +1623,7 @@ export const erc20Coins = [ 18, '0x2ba592f78db6436527729929aaf6c908497cb200', UnderlyingAsset.CREAM, - ETH_FEATURES_WITH_FRANKFURT + ETH_FEATURES_WITH_FRANKFURT_EXCLUDE_SINGAPORE ), erc20( '4bc48062-4e23-4338-9337-418eea86665d', @@ -1622,7 +1631,8 @@ export const erc20Coins = [ 'Compound Augur', 8, '0x158079ee67fce2f58472a96584a73c7ab9ac95c1', - UnderlyingAsset.CREP + UnderlyingAsset.CREP, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '60d46b84-16ea-43c0-b36a-1234114ff69f', @@ -1698,7 +1708,8 @@ export const erc20Coins = [ 'Compound USDC', 8, '0x39aa39c021dfbae8fac545936693ac917d5e7563', - UnderlyingAsset.CUSDC + UnderlyingAsset.CUSDC, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '62599dbf-9953-4e99-82bd-9582f19c79de', @@ -1706,7 +1717,8 @@ export const erc20Coins = [ 'Compound WBTC', 8, '0xc11b1268c1a384e55c48c2391d8d480264a3a7f4', - UnderlyingAsset.CWBTC + UnderlyingAsset.CWBTC, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '1cc20e86-1e91-49b5-98f0-48f6dd184081', @@ -1749,7 +1761,8 @@ export const erc20Coins = [ 'Compound ZRX', 8, '0xb3319f5d18bc0d84dd1b4825dcde5d5f7266d407', - UnderlyingAsset.CZRX + UnderlyingAsset.CZRX, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '4bf54e88-8fe8-4678-86f1-76ce0a75e641', @@ -2084,7 +2097,8 @@ export const erc20Coins = [ 'Easy', 18, '0x913d8adf7ce6986a8cbfee5a54725d9eea4f0729', - UnderlyingAsset.EASY + UnderlyingAsset.EASY, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'afc0e68f-7ed8-4f2b-b81d-a5e6436c97f6', @@ -2148,7 +2162,8 @@ export const erc20Coins = [ 'Endor Protocol', 18, '0xc528c28fec0a90c083328bc45f587ee215760a0f', - UnderlyingAsset.EDR + UnderlyingAsset.EDR, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'd9c54049-dfd9-401f-b997-c843253ac93f', @@ -2265,7 +2280,7 @@ export const erc20Coins = [ '0xf0ee6b27b759c9893ce4f094b49ad28fd15a23e4', UnderlyingAsset.ENG, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -2319,7 +2334,7 @@ export const erc20Coins = [ '0x5af2be193a6abca9c8817001f45744777db30756', UnderlyingAsset.ETHOS, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -2364,7 +2379,7 @@ export const erc20Coins = [ '0xa967dd943b336680540011536e7d8c3d33333515', UnderlyingAsset.EURL, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -2539,7 +2554,7 @@ export const erc20Coins = [ '0xed1480d12be41d92f36f5f7bdd88212e381a3677', UnderlyingAsset.FDT, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -2623,7 +2638,7 @@ export const erc20Coins = [ '0xb4d0fdfc8497aef97d3c2892ae682ee06064a2bc', UnderlyingAsset.FMF, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -2768,7 +2783,7 @@ export const erc20Coins = [ '0x6bea7cfef803d1e3d5f7c0103f7ded065644e197', UnderlyingAsset.GAMMA, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -2778,7 +2793,8 @@ export const erc20Coins = [ 'Gas DAO', 18, '0x6bba316c48b49bd1eac44573c5c871ff02958469', - UnderlyingAsset.GAS + UnderlyingAsset.GAS, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '3c5b424e-5bac-435f-a42e-4da7c8d6ecbc', @@ -2788,7 +2804,7 @@ export const erc20Coins = [ '0x86b4dbe5d203e634a12364c0e428fa242a3fba98', UnderlyingAsset.GBPT, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -2814,7 +2830,8 @@ export const erc20Coins = [ 'DAOstack', 18, '0x543ff227f64aa17ea132bf9886cab5db55dcaddf', - UnderlyingAsset.GEN + UnderlyingAsset.GEN, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'b603b989-3fe0-4bbd-a1e8-84169e073d4f', @@ -2864,7 +2881,8 @@ export const erc20Coins = [ 'GECoin', 18, '0xe304283c3e60cefaf7ea514007cf4e8fdc3d869d', - UnderlyingAsset.GEC + UnderlyingAsset.GEC, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '2f78a2c7-d3ed-4b95-96e7-298006be4cea', @@ -3111,7 +3129,7 @@ export const erc20Coins = [ '0x3e1d5a855ad9d948373ae68e4fe1f094612b1322', UnderlyingAsset.HQT, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -3121,7 +3139,8 @@ export const erc20Coins = [ 'Decision Token', 18, '0x554c20b7c486beee439277b4540a434566dc4c02', - UnderlyingAsset.HST + UnderlyingAsset.HST, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'cc2b7961-a970-4f88-9d0a-163512ddeff8', @@ -3157,7 +3176,7 @@ export const erc20Coins = [ UnderlyingAsset.HUSD, [ ...AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ), CoinFeature.STABLECOIN, @@ -3169,7 +3188,8 @@ export const erc20Coins = [ 'Hybrid Block', 18, '0x6059f55751603ead7dc6d280ad83a7b33d837c90', - UnderlyingAsset.HYB + UnderlyingAsset.HYB, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'd974e147-3232-4546-85d9-66625ecee68e', @@ -3177,7 +3197,8 @@ export const erc20Coins = [ 'Hydro', 18, '0xebbdf302c940c6bfd49c6b165f457fdb324649bc', - UnderlyingAsset.HYDRO + UnderlyingAsset.HYDRO, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '1be67eaa-55ad-42f5-828a-46d186aae458', @@ -3456,7 +3477,8 @@ export const erc20Coins = [ 'Kine Governance Token', 18, '0xcbfef8fdd706cde6f208460f2bf39aa9c785f05d', - UnderlyingAsset.KINE + UnderlyingAsset.KINE, + AccountCoin.DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'dbbc8474-8899-48a8-b57e-28300469b856', @@ -3690,7 +3712,8 @@ export const erc20Coins = [ 'Loom Network', 18, '0xa4e8c3ec456107ea67d3075bf9e3df3a75823db0', - UnderlyingAsset.LOOM + UnderlyingAsset.LOOM, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'd84a0737-6c44-4827-8e11-b07ac1e84d17', @@ -3887,7 +3910,7 @@ export const erc20Coins = [ 18, '0x9d03393d297e42c135625d450c814892505f1a84', UnderlyingAsset.MDX, - ETH_FEATURES_WITH_FRANKFURT + ETH_FEATURES_WITH_FRANKFURT_EXCLUDE_SINGAPORE ), erc20( '4d88bb1f-b643-41f8-87ca-e01259903393', @@ -3895,7 +3918,8 @@ export const erc20Coins = [ 'Medibloc', 8, '0xfd1e80508f243e64ce234ea88a5fd2827c71d4b7', - UnderlyingAsset.MEDX + UnderlyingAsset.MEDX, + AccountCoin.DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'f6c5793b-d6f6-46de-a7a8-5fe4283d01c9', @@ -3952,7 +3976,8 @@ export const erc20Coins = [ 'Mainframe', 18, '0xdf2c7238198ad8b389666574f2d8bc411a4b7428', - UnderlyingAsset.MFT + UnderlyingAsset.MFT, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '8e69cc01-e657-42dd-98a0-3398ea93549b', @@ -3977,7 +4002,7 @@ export const erc20Coins = [ 18, '0x09a3ecafa817268f77be1283176b946c4ff2e608', UnderlyingAsset.MIR, - ETH_FEATURES_WITH_FRANKFURT + ETH_FEATURES_WITH_FRANKFURT_EXCLUDE_SINGAPORE ), erc20( '6d781cdc-3bb0-4865-afa0-0aa61ccf49b2', @@ -4060,7 +4085,8 @@ export const erc20Coins = [ 'Molecular Future', 16, '0x653430560be843c4a3d143d0110e896c2ab8ac0d', - UnderlyingAsset.MOF + UnderlyingAsset.MOF, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'a692ffeb-4628-4014-adc9-7fb6c4b2ef65', @@ -4195,7 +4221,7 @@ export const erc20Coins = [ '0xa823e6722006afe99e91c30ff5295052fe6b8e32', UnderlyingAsset.NEU, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -4232,7 +4258,7 @@ export const erc20Coins = [ '0x05bbed16620b352a7f889e23e3cf427d1d379ffe', UnderlyingAsset.NGNT, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -4378,7 +4404,7 @@ export const erc20Coins = [ '0x6863be0e7cf7ce860a574760e9020d519a8bdc47', UnderlyingAsset.ONL, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -4396,7 +4422,8 @@ export const erc20Coins = [ 'Ooki Protocol', 18, '0x0de05f6447ab4d22c8827449ee4ba2d5c288379b', - UnderlyingAsset.OOKI + UnderlyingAsset.OOKI, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'b308e6cc-52ff-421b-a3df-da70dac6a6a4', @@ -4734,7 +4761,8 @@ export const erc20Coins = [ 'PumaPay', 18, '0x846c66cf71c43f80403b51fe3906b3599d63336f', - UnderlyingAsset.PMA + UnderlyingAsset.PMA, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '03181686-ae56-45b6-86fb-9cf1969ff855', @@ -5176,7 +5204,8 @@ export const erc20Coins = [ 'Refereum', 4, '0xd0929d411954c47438dc1d871dd6081f5c5e149c', - UnderlyingAsset.RFR + UnderlyingAsset.RFR, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'ffa98750-a6c2-4310-9cb7-2bb301e8213e', @@ -5192,7 +5221,8 @@ export const erc20Coins = [ 'Rari Governance Token', 18, '0xd291e7a03283640fdc51b121ac401383a46cc623', - UnderlyingAsset.RGT + UnderlyingAsset.RGT, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '5ec84a31-9a02-4c57-9328-a8d09e9e5c61', @@ -5259,7 +5289,8 @@ export const erc20Coins = [ 'KeeperDAO', 18, '0xfa5047c9c78b8877af97bdcb85db743fd7313d4a', - UnderlyingAsset.ROOK + UnderlyingAsset.ROOK, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'a6fa8063-3065-4ce0-a02a-7973efe94a0a', @@ -5316,7 +5347,8 @@ export const erc20Coins = [ 'Restaked Swell Ethereum', 18, '0xfae103dc9cf190ed75350761e95403b7b8afa6c0', - UnderlyingAsset.RSWETH + UnderlyingAsset.RSWETH, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '2c06fb96-9436-4fde-b6e9-3a8aa7c775d9', @@ -5373,7 +5405,8 @@ export const erc20Coins = [ 'SashimiToken', 18, '0xc28e27870558cf22add83540d2126da2e4b464c2', - UnderlyingAsset.SASHIMI + UnderlyingAsset.SASHIMI, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'b01a005d-21b2-49af-b77c-fd513e38dd20', @@ -5397,7 +5430,8 @@ export const erc20Coins = [ 'Saga', 18, '0xed0849bf46cfb9845a2d900a0a4e593f2dd3673c', - UnderlyingAsset.SGA + UnderlyingAsset.SGA, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '309608be-d029-4a87-bce8-c172d0bdfaac', @@ -5429,7 +5463,8 @@ export const erc20Coins = [ 'iShook', 18, '0xebe4a49df7885d015329c919bf43e6460a858f1e', - UnderlyingAsset.SHK + UnderlyingAsset.SHK, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '22de4eea-4b58-4082-9651-4d8078474c45', @@ -5579,7 +5614,8 @@ export const erc20Coins = [ 'SODACoin', 18, '0xcad49c39b72c37b32cee8b14f33f316d3a8bc335', - UnderlyingAsset.SOC + UnderlyingAsset.SOC, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '38042770-b9de-497c-bce3-eb93394dca70', @@ -5638,7 +5674,8 @@ export const erc20Coins = [ 'Serenity', 18, '0xbc7942054f77b82e8a71ace170e4b00ebae67eb6', - UnderlyingAsset.SRNT + UnderlyingAsset.SRNT, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'bb84158f-c89c-40a4-bea5-dede449acfd2', @@ -5655,7 +5692,8 @@ export const erc20Coins = [ 'Strong', 18, '0x990f341946a3fdb507ae7e52d17851b87168017c', - UnderlyingAsset.STRONG + UnderlyingAsset.STRONG, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'e49ede0c-5f71-4e3e-869d-34ec64746e82', @@ -5705,7 +5743,8 @@ export const erc20Coins = [ 'Staked Aave', 18, '0x4da27a545c0c5b758a6ba100e3a049001de870f5', - UnderlyingAsset.STKAAVE + UnderlyingAsset.STKAAVE, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '9404f006-322f-4475-aeb8-d2adf87c8594', @@ -5797,7 +5836,8 @@ export const erc20Coins = [ 'Synapse', 18, '0x0f2d719407fdbeff09d87557abb7232601fd9f29', - UnderlyingAsset.SYN + UnderlyingAsset.SYN, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'be5c0f72-51cf-4e42-b373-5a7d66b86f02', @@ -5815,7 +5855,7 @@ export const erc20Coins = [ '0x00006100f7090010005f1bd7ae6122c3c2cf0090', UnderlyingAsset.TAUD, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -5852,7 +5892,7 @@ export const erc20Coins = [ '0x00000100f2a2bd000715001920eb70d229700085', UnderlyingAsset.TCAD, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -5897,7 +5937,7 @@ export const erc20Coins = [ '0x00000000441378008ea67f4284a57932b1c000a5', UnderlyingAsset.TGBP, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -5923,7 +5963,8 @@ export const erc20Coins = [ 'Trade Token X', 18, '0xd947b0ceab2a8885866b9a04a06ae99de852a3d4', - UnderlyingAsset.TIOX + UnderlyingAsset.TIOX, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'c2144148-0460-4e44-9c4c-30367e6eb67f', @@ -5931,7 +5972,8 @@ export const erc20Coins = [ 'Tknt', 18, '0xbce7bd79558dda90b261506768f265c5543a9f90', - UnderlyingAsset.TKNT + UnderlyingAsset.TKNT, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '8c3744b3-f435-4a6b-91a0-346139bd2b86', @@ -5980,7 +6022,8 @@ export const erc20Coins = [ 'Tierion', 8, '0x08f5a9235b08173b7569f83645d2c7fb55e8ccd8', - UnderlyingAsset.TNT + UnderlyingAsset.TNT, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '7c18aaa3-a3e5-4bd8-8152-5c702c0bc7f5', @@ -6061,7 +6104,8 @@ export const erc20Coins = [ 'WeTrust', 6, '0xcb94be6f13a1182e4a4b6140cb7bf2025d28e41b', - UnderlyingAsset.TRST + UnderlyingAsset.TRST, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '89749307-fd2a-4705-898d-077c49b2e4ec', @@ -6069,7 +6113,8 @@ export const erc20Coins = [ 'Tru', 8, '0x4c19596f5aaff459fa38b0f7ed92f11ae6543784', - UnderlyingAsset.TRU + UnderlyingAsset.TRU, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '8385ecb0-1053-4630-a46e-417bad13584f', @@ -6210,7 +6255,8 @@ export const erc20Coins = [ 'UpToken', 8, '0x6ba460ab75cd2c56343b3517ffeba60748654d26', - UnderlyingAsset.UP + UnderlyingAsset.UP, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '3ad008a2-b1b6-4e77-b338-8bccfce4f5ef', @@ -6218,7 +6264,8 @@ export const erc20Coins = [ 'Universal Bitcoin', 8, '0xc7461b398005e50bcc43c8e636378c6722e76c01', - UnderlyingAsset.UPBTC + UnderlyingAsset.UPBTC, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'fc3e297a-a707-4f36-b5a9-42c54cdeaef1', @@ -6245,7 +6292,7 @@ export const erc20Coins = [ UnderlyingAsset.UPUSD, [ ...AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ), CoinFeature.STABLECOIN, @@ -6362,7 +6409,7 @@ export const erc20Coins = [ UnderlyingAsset.UST, [ ...AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ), CoinFeature.STABLECOIN, @@ -6465,7 +6512,8 @@ export const erc20Coins = [ 'Vector', 9, '0x1bb9b64927e0c5e207c9db4093b3738eef5d8447', - UnderlyingAsset.VEC + UnderlyingAsset.VEC, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'c0fe9fe3-a242-452e-95e2-56ba38a40d56', @@ -6531,7 +6579,8 @@ export const erc20Coins = [ 'VroomGo', 8, '0x4861b1a0ead261897174fd849ca0f5154fcf2442', - UnderlyingAsset.VRGX + UnderlyingAsset.VRGX, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '2e3fa047-1765-480b-ab11-87618c3d78a4', @@ -6572,7 +6621,8 @@ export const erc20Coins = [ 'Wafl Token', 18, '0x3fee076a0f0218899b89fe7e3f54dd2dc18917e0', - UnderlyingAsset.WAFL + UnderlyingAsset.WAFL, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '4c479a99-bd52-44fa-a5b1-155e0c921743', @@ -6662,7 +6712,8 @@ export const erc20Coins = [ 'We Show Token', 18, '0x36d10c6800d569bb8c4fe284a05ffe3b752f972c', - UnderlyingAsset.WET + UnderlyingAsset.WET, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '77303c92-c191-41aa-aafb-0515dafb149e', @@ -6704,7 +6755,8 @@ export const erc20Coins = [ 'Whatshalal', 18, '0xae8d4da01658dd0ac118dde60f5b78042d0da7f2', - UnderlyingAsset.WHT + UnderlyingAsset.WHT, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '451d4bb5-e7c3-4899-8838-b71b33375cee', @@ -6747,7 +6799,7 @@ export const erc20Coins = [ '0xd2877702675e6ceb975b4a1dff9fb7baf4c91ea9', UnderlyingAsset.WLUNA, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -6794,7 +6846,8 @@ export const erc20Coins = [ 'WalletPlusX', 18, '0x4bb0a085db8cedf43344bd2fbec83c2c79c4e76b', - UnderlyingAsset.WPX + UnderlyingAsset.WPX, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '5d8b899f-bc1b-4ec2-88e6-d946cbb8d476', @@ -6877,7 +6930,7 @@ export const erc20Coins = [ '0x670f9d9a26d3d42030794ff035d35a67aa092ead', UnderlyingAsset.XBGOLD, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -6887,7 +6940,8 @@ export const erc20Coins = [ 'CapdaxToken', 18, '0xca00bc15f67ebea4b20dfaaa847cace113cc5501', - UnderlyingAsset.XCD + UnderlyingAsset.XCD, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '458bbf8e-6996-4a8c-8d33-612c2b8c8abe', @@ -7090,7 +7144,8 @@ export const erc20Coins = [ 'Zipmex Token', 18, '0xaa602de53347579f86b996d2add74bb6f79462b2', - UnderlyingAsset.ZMT + UnderlyingAsset.ZMT, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'efbeb8d6-2cc9-46a9-8525-07f934a7f145', @@ -8413,7 +8468,8 @@ export const erc20Coins = [ 'Coinbase Wrapped ETH', 18, '0xbe9895146f7af43049ca1c1ae358b0541ea49704', - UnderlyingAsset.CBETH + UnderlyingAsset.CBETH, + AccountCoin.DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'f0ff60a3-c5d0-47ac-bde3-f69cee288b6f', @@ -8998,7 +9054,8 @@ export const erc20Coins = [ 'HEX', 8, '0x2b591e99afe9f32eaa6214f7b7629768c40eeb39', - UnderlyingAsset.HEX + UnderlyingAsset.HEX, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( 'a4334b0a-f28c-4e7d-9f36-2c2f239ad7ac', @@ -10105,7 +10162,8 @@ export const erc20Coins = [ 'Swell Ethereum', 18, '0xf951e335afb289353dc249e82926178eac7ded78', - UnderlyingAsset.SWETH + UnderlyingAsset.SWETH, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '868974cb-029a-4166-8d43-5cab2dadef13', @@ -10389,7 +10447,8 @@ export const erc20Coins = [ 'Volt Inu', 9, '0x7f792db54b0e580cdc755178443f0430cf799aca', - UnderlyingAsset.VOLT + UnderlyingAsset.VOLT, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '30a19a96-87c5-494c-bda6-ff98b065f35b', @@ -10682,7 +10741,7 @@ export const erc20Coins = [ '0xb5130f4767ab0acc579f25a76e8f9e977cb3f948', UnderlyingAsset['eth:god'], AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT], + [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES ) ), @@ -11121,7 +11180,8 @@ export const erc20Coins = [ 'Storiqa', 18, '0x5c3a228510d246b78a3765c20221cbf3082b44a4', - UnderlyingAsset['eth:stq'] + UnderlyingAsset['eth:stq'], + AccountCoin.DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '289b4eb1-e109-48de-a016-09d9172b688c', diff --git a/modules/statics/src/coins/polygonTokens.ts b/modules/statics/src/coins/polygonTokens.ts index 23d5019440..46c3d9ca56 100644 --- a/modules/statics/src/coins/polygonTokens.ts +++ b/modules/statics/src/coins/polygonTokens.ts @@ -1,6 +1,6 @@ import { AccountCoin, polygonErc20, tpolygonErc20 } from '../account'; import { UnderlyingAsset, CoinFeature } from '../base'; -import { POLYGON_TOKEN_FEATURES, POLYGON_TOKEN_FEATURES_WITH_FRANKFURT } from '../coinFeatures'; +import { POLYGON_TOKEN_FEATURES, POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE, POLYGON_TOKEN_FEATURES_WITH_FRANKFURT } from '../coinFeatures'; export const polygonTokens = [ polygonErc20( @@ -506,7 +506,7 @@ export const polygonTokens = [ 8, '0xdbf31df14b66535af65aac99c32e9ea844e14501', UnderlyingAsset['polygon:renbtc'], - POLYGON_TOKEN_FEATURES + POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE ), polygonErc20( 'e7d6568e-696c-4482-8dbf-9c0bb2364978', @@ -954,7 +954,7 @@ export const polygonTokens = [ 18, '0x2f697bc31895ea05e6a364cedc8a76ff3467d32f', UnderlyingAsset['polygon:tcs'], - POLYGON_TOKEN_FEATURES + POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE ), polygonErc20( 'eac8b635-e692-40f7-bf22-0197ae5e11f8', diff --git a/modules/statics/src/coins/sip10Tokens.ts b/modules/statics/src/coins/sip10Tokens.ts index 739f0610be..a7837e3847 100644 --- a/modules/statics/src/coins/sip10Tokens.ts +++ b/modules/statics/src/coins/sip10Tokens.ts @@ -1,6 +1,6 @@ import { sip10Token, tsip10Token } from '../account'; import { CoinFeature, UnderlyingAsset } from '../base'; -import { STX_TOKEN_FEATURES } from '../coinFeatures'; +import { STX_TOKEN_FEATURES, STX_TOKEN_FEATURES_EXCLUDE_SINGAPORE } from '../coinFeatures'; // SIP10 tokens' assetId can be obtained as follows: // assetId = contractId::tokenName @@ -24,7 +24,7 @@ export const sip10Tokens = [ 6, 'SP4SZE494VC2YC5JYG7AYFQ44F5Q4PYV7DVMDPBG.ststx-token::ststx', UnderlyingAsset['stx:ststx'], - STX_TOKEN_FEATURES + STX_TOKEN_FEATURES_EXCLUDE_SINGAPORE ), sip10Token( '610cd0fb-7b3a-4ab6-a172-c8a4eed34c89', @@ -51,7 +51,7 @@ export const sip10Tokens = [ 8, 'SPN5AKG35QZSK2M8GAMR4AFX45659RJHDW353HSG.susdh-token-v1::susdh', UnderlyingAsset['stx:susdh'], - [...STX_TOKEN_FEATURES, CoinFeature.STABLECOIN] + [...STX_TOKEN_FEATURES_EXCLUDE_SINGAPORE, CoinFeature.STABLECOIN] ), sip10Token( '83fbaa8a-eeda-496a-9c38-98ef592a008b', diff --git a/modules/statics/src/coins/solTokens.ts b/modules/statics/src/coins/solTokens.ts index ac37309b77..37354fdf1f 100644 --- a/modules/statics/src/coins/solTokens.ts +++ b/modules/statics/src/coins/solTokens.ts @@ -1840,7 +1840,7 @@ export const solTokens = [ 'JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN', 'JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN', UnderlyingAsset['jup'], - SOL_TOKEN_FEATURES_WITH_FRANKFURT + [...SOL_TOKEN_FEATURES_EXCLUDE_SINGAPORE, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.BULK_TRANSACTION] ), solToken( 'c4db311f-8a4a-4821-b7b4-c4d04c4de752', @@ -2395,7 +2395,7 @@ export const solTokens = [ 'sSo14endRuUbvQaJS3dq36Q829a3A6BEfoeeRGJywEh', 'sSo14endRuUbvQaJS3dq36Q829a3A6BEfoeeRGJywEh', UnderlyingAsset['sol:ssol'], - SOL_TOKEN_FEATURES + SOL_TOKEN_FEATURES_EXCLUDE_SINGAPORE ), solToken( '371ba1d9-8abf-48c5-85f5-8af2fa7df7ed', @@ -2486,7 +2486,7 @@ export const solTokens = [ '27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4', '27G8MtK7VtTcCHkpASjSDdkWWYfoqT6ggEuKidVJidD4', UnderlyingAsset['sol:jlp'], - SOL_TOKEN_FEATURES + SOL_TOKEN_FEATURES_EXCLUDE_SINGAPORE ), solToken( '3e5126be-5f80-4f9f-831e-96631ce10484', @@ -2670,7 +2670,7 @@ export const solTokens = [ 'LAYER4xPpTCb3QL8S9u41EAhAX7mhBn8Q6xMTwY2Yzc', 'LAYER4xPpTCb3QL8S9u41EAhAX7mhBn8Q6xMTwY2Yzc', UnderlyingAsset['sol:layer'], - SOL_TOKEN_FEATURES + SOL_TOKEN_FEATURES_EXCLUDE_SINGAPORE ), solToken( '7ac9fc4f-6e4d-4fdd-90b1-99a4d1c4f8ee', @@ -2700,7 +2700,7 @@ export const solTokens = [ '8twuNzMszqWeFbDErwtf4gw13E6MUS4Hsdx5mi3aqXAM', '8twuNzMszqWeFbDErwtf4gw13E6MUS4Hsdx5mi3aqXAM', UnderlyingAsset['sol:sb'], - SOL_TOKEN_FEATURES + SOL_TOKEN_FEATURES_EXCLUDE_SINGAPORE ), solToken( '492962f0-f485-4526-b104-447523be8fef', diff --git a/modules/statics/src/utxo.ts b/modules/statics/src/utxo.ts index c25f9c6f24..8738f3e545 100644 --- a/modules/statics/src/utxo.ts +++ b/modules/statics/src/utxo.ts @@ -248,7 +248,7 @@ export const utxoCoins: Readonly[] = [ Networks.main.bitcoinGold, UnderlyingAsset.BTG, BaseUnit.BTC, - BTG_FEATURES + BTG_FEATURES.filter((f) => f !== CoinFeature.CUSTODY_BITGO_SINGAPORE) ), utxo( '633246f2-af21-41b8-8b9e-ba9ae25d386f', From 5833328d69e7514125d009fca07fbf2c5a7a7f08 Mon Sep 17 00:00:00 2001 From: Ashutosh Kumar Date: Wed, 22 Oct 2025 14:44:06 +0530 Subject: [PATCH 2/4] feat: gate assets for Singapore custody TICKET : COIN-5477 --- modules/statics/src/allCoinsAndTokens.ts | 9 +- modules/statics/src/coins/avaxTokens.ts | 4 +- modules/statics/src/coins/erc20Coins.ts | 168 ++++++++++++++++++--- modules/statics/src/coins/polygonTokens.ts | 6 +- 4 files changed, 152 insertions(+), 35 deletions(-) diff --git a/modules/statics/src/allCoinsAndTokens.ts b/modules/statics/src/allCoinsAndTokens.ts index 5596c38359..8134092d92 100644 --- a/modules/statics/src/allCoinsAndTokens.ts +++ b/modules/statics/src/allCoinsAndTokens.ts @@ -677,12 +677,7 @@ export const allCoinsAndTokens = [ 6, UnderlyingAsset.OSMO, BaseUnit.OSMO, - COSMOS_SIDECHAIN_FEATURES_WITH_STAKING.filter( - (feature) => - ![ - CoinFeature.CUSTODY_BITGO_SINGAPORE, - ].includes(feature) - ) + COSMOS_SIDECHAIN_FEATURES_WITH_STAKING.filter((feature) => ![CoinFeature.CUSTODY_BITGO_SINGAPORE].includes(feature)) ), account( 'd813e9c9-f9b9-4d10-a4e2-57d9e3b65e2c', @@ -1451,7 +1446,7 @@ export const allCoinsAndTokens = [ 18, UnderlyingAsset.WEMIX, BaseUnit.ETH, - WEMIX_FEATURES.filter( (feature) => feature !== CoinFeature.CUSTODY_BITGO_SINGAPORE) + WEMIX_FEATURES.filter((feature) => feature !== CoinFeature.CUSTODY_BITGO_SINGAPORE) ), account( 'b18517e3-2fba-44df-be39-7ba062d14895', diff --git a/modules/statics/src/coins/avaxTokens.ts b/modules/statics/src/coins/avaxTokens.ts index 8bb00136b1..70dce12c25 100644 --- a/modules/statics/src/coins/avaxTokens.ts +++ b/modules/statics/src/coins/avaxTokens.ts @@ -569,9 +569,7 @@ export const avaxTokens = [ 18, '0x49f519002eeced6902f24c0be72b6d898e4d27fc', UnderlyingAsset['avaxc:bsgg'], - AccountCoin.getFeaturesByTypeExcluding([ - CoinFeature.CUSTODY_BITGO_SINGAPORE - ]) + AccountCoin.getFeaturesByTypeExcluding([CoinFeature.CUSTODY_BITGO_SINGAPORE]) ), avaxErc20( 'e6bd6935-daac-4edc-8cfb-f8305ebbdb11', diff --git a/modules/statics/src/coins/erc20Coins.ts b/modules/statics/src/coins/erc20Coins.ts index 9dca42be6b..93d70cfc87 100644 --- a/modules/statics/src/coins/erc20Coins.ts +++ b/modules/statics/src/coins/erc20Coins.ts @@ -747,7 +747,12 @@ export const erc20Coins = [ '0xf25c91c87e0b1fd9b4064af0f427157aab0193a7', UnderlyingAsset.BASIC, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -818,7 +823,12 @@ export const erc20Coins = [ '0xcdc412f306e0c51e3249b88c65423cd16b322673', UnderlyingAsset.BCIO, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -1483,7 +1493,12 @@ export const erc20Coins = [ '0x4162178b78d6985480a308b2190ee5517460406d', UnderlyingAsset.CLN, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -1555,7 +1570,12 @@ export const erc20Coins = [ '0x5d8d9f5b96f4438195be9b99eee6118ed4304286', UnderlyingAsset.COVER, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -2280,7 +2300,12 @@ export const erc20Coins = [ '0xf0ee6b27b759c9893ce4f094b49ad28fd15a23e4', UnderlyingAsset.ENG, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -2334,7 +2359,12 @@ export const erc20Coins = [ '0x5af2be193a6abca9c8817001f45744777db30756', UnderlyingAsset.ETHOS, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -2379,7 +2409,12 @@ export const erc20Coins = [ '0xa967dd943b336680540011536e7d8c3d33333515', UnderlyingAsset.EURL, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -2554,7 +2589,12 @@ export const erc20Coins = [ '0xed1480d12be41d92f36f5f7bdd88212e381a3677', UnderlyingAsset.FDT, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -2638,7 +2678,12 @@ export const erc20Coins = [ '0xb4d0fdfc8497aef97d3c2892ae682ee06064a2bc', UnderlyingAsset.FMF, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -2783,7 +2828,12 @@ export const erc20Coins = [ '0x6bea7cfef803d1e3d5f7c0103f7ded065644e197', UnderlyingAsset.GAMMA, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -2804,7 +2854,12 @@ export const erc20Coins = [ '0x86b4dbe5d203e634a12364c0e428fa242a3fba98', UnderlyingAsset.GBPT, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -3129,7 +3184,12 @@ export const erc20Coins = [ '0x3e1d5a855ad9d948373ae68e4fe1f094612b1322', UnderlyingAsset.HQT, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -3176,7 +3236,12 @@ export const erc20Coins = [ UnderlyingAsset.HUSD, [ ...AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ), CoinFeature.STABLECOIN, @@ -4221,7 +4286,12 @@ export const erc20Coins = [ '0xa823e6722006afe99e91c30ff5295052fe6b8e32', UnderlyingAsset.NEU, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -4258,7 +4328,12 @@ export const erc20Coins = [ '0x05bbed16620b352a7f889e23e3cf427d1d379ffe', UnderlyingAsset.NGNT, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -4404,7 +4479,12 @@ export const erc20Coins = [ '0x6863be0e7cf7ce860a574760e9020d519a8bdc47', UnderlyingAsset.ONL, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -5855,7 +5935,12 @@ export const erc20Coins = [ '0x00006100f7090010005f1bd7ae6122c3c2cf0090', UnderlyingAsset.TAUD, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -5892,7 +5977,12 @@ export const erc20Coins = [ '0x00000100f2a2bd000715001920eb70d229700085', UnderlyingAsset.TCAD, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -5937,7 +6027,12 @@ export const erc20Coins = [ '0x00000000441378008ea67f4284a57932b1c000a5', UnderlyingAsset.TGBP, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -6292,7 +6387,12 @@ export const erc20Coins = [ UnderlyingAsset.UPUSD, [ ...AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ), CoinFeature.STABLECOIN, @@ -6409,7 +6509,12 @@ export const erc20Coins = [ UnderlyingAsset.UST, [ ...AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ), CoinFeature.STABLECOIN, @@ -6799,7 +6904,12 @@ export const erc20Coins = [ '0xd2877702675e6ceb975b4a1dff9fb7baf4c91ea9', UnderlyingAsset.WLUNA, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -6930,7 +7040,12 @@ export const erc20Coins = [ '0x670f9d9a26d3d42030794ff035d35a67aa092ead', UnderlyingAsset.XBGOLD, AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), @@ -10741,7 +10856,12 @@ export const erc20Coins = [ '0xb5130f4767ab0acc579f25a76e8f9e977cb3f948', UnderlyingAsset['eth:god'], AccountCoin.getFeaturesByTypeExcluding( - [CoinFeature.CUSTODY_BITGO_GERMANY, CoinFeature.CUSTODY_BITGO_EUROPE_APS, CoinFeature.CUSTODY_BITGO_FRANKFURT, CoinFeature.CUSTODY_BITGO_SINGAPORE], + [ + CoinFeature.CUSTODY_BITGO_GERMANY, + CoinFeature.CUSTODY_BITGO_EUROPE_APS, + CoinFeature.CUSTODY_BITGO_FRANKFURT, + CoinFeature.CUSTODY_BITGO_SINGAPORE, + ], ETH_FEATURES ) ), diff --git a/modules/statics/src/coins/polygonTokens.ts b/modules/statics/src/coins/polygonTokens.ts index 46c3d9ca56..8eeccfa291 100644 --- a/modules/statics/src/coins/polygonTokens.ts +++ b/modules/statics/src/coins/polygonTokens.ts @@ -1,6 +1,10 @@ import { AccountCoin, polygonErc20, tpolygonErc20 } from '../account'; import { UnderlyingAsset, CoinFeature } from '../base'; -import { POLYGON_TOKEN_FEATURES, POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE, POLYGON_TOKEN_FEATURES_WITH_FRANKFURT } from '../coinFeatures'; +import { + POLYGON_TOKEN_FEATURES, + POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE, + POLYGON_TOKEN_FEATURES_WITH_FRANKFURT, +} from '../coinFeatures'; export const polygonTokens = [ polygonErc20( From d2023a3c6dc36c71250ebe367ee957db3c5c71ea Mon Sep 17 00:00:00 2001 From: Ashutosh Kumar Date: Thu, 23 Oct 2025 14:29:09 +0530 Subject: [PATCH 3/4] feat: gate sohm token TICKET : COIN-5477 --- modules/statics/src/coins/erc20Coins.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/statics/src/coins/erc20Coins.ts b/modules/statics/src/coins/erc20Coins.ts index 93d70cfc87..9db0669c20 100644 --- a/modules/statics/src/coins/erc20Coins.ts +++ b/modules/statics/src/coins/erc20Coins.ts @@ -4602,7 +4602,8 @@ export const erc20Coins = [ 'Staked OHM', 9, '0x04906695d6d12cf5459975d7c3c03356e4ccd460', - UnderlyingAsset.SOHM + UnderlyingAsset.SOHM, + ACCOUNT_COIN_DEFAULT_FEATURES_EXCLUDE_SINGAPORE ), erc20( '53d7708f-5fdf-4ca0-9f5c-caf2c23c9348', From 032fc864792525ead67e15f5a6622cd1ac7c453e Mon Sep 17 00:00:00 2001 From: Ashutosh Kumar Date: Fri, 24 Oct 2025 11:44:00 +0530 Subject: [PATCH 4/4] feat: remove unused imports TICKET : COIN-5477 --- modules/statics/src/coins/bscTokens.ts | 10 ++++++++-- modules/statics/src/coins/erc20Coins.ts | 20 ++++++++++++++++---- modules/statics/src/coins/polygonTokens.ts | 16 +++++++++------- 3 files changed, 33 insertions(+), 13 deletions(-) diff --git a/modules/statics/src/coins/bscTokens.ts b/modules/statics/src/coins/bscTokens.ts index 0f89bd831a..46f5920b69 100644 --- a/modules/statics/src/coins/bscTokens.ts +++ b/modules/statics/src/coins/bscTokens.ts @@ -203,7 +203,10 @@ export const bscTokens = [ 6, '0x71b3a0566f4bf80331d115d8026a7022bf670cce', UnderlyingAsset['bsc:dd'], - AccountCoin.getFeaturesByTypeExcluding([CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], BSC_TOKEN_FEATURES) + AccountCoin.getFeaturesByTypeExcluding( + [CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], + BSC_TOKEN_FEATURES + ) ), bscToken( 'ebfcdf18-bdad-41da-bbda-2b3a71338c1c', @@ -1025,7 +1028,10 @@ export const bscTokens = [ 18, '0x2003f7ba57ea956b05b85c60b4b2ceea9b111256', UnderlyingAsset['bsc:kmd'], - AccountCoin.getFeaturesByTypeExcluding([CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], BSC_TOKEN_FEATURES) + AccountCoin.getFeaturesByTypeExcluding( + [CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], + BSC_TOKEN_FEATURES + ) ), bscToken( 'a4cda030-4c22-4ece-93b4-840da127781c', diff --git a/modules/statics/src/coins/erc20Coins.ts b/modules/statics/src/coins/erc20Coins.ts index e9c5064bbe..4c74b5c3f9 100644 --- a/modules/statics/src/coins/erc20Coins.ts +++ b/modules/statics/src/coins/erc20Coins.ts @@ -1645,7 +1645,10 @@ export const erc20Coins = [ 18, '0x2ba592f78db6436527729929aaf6c908497cb200', UnderlyingAsset.CREAM, - AccountCoin.getFeaturesByTypeExcluding([CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES_WITH_FRANKFURT) + AccountCoin.getFeaturesByTypeExcluding( + [CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], + ETH_FEATURES_WITH_FRANKFURT + ) ), erc20( '4bc48062-4e23-4338-9337-418eea86665d', @@ -3993,7 +3996,10 @@ export const erc20Coins = [ 18, '0x9d03393d297e42c135625d450c814892505f1a84', UnderlyingAsset.MDX, - AccountCoin.getFeaturesByTypeExcluding([CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES_WITH_FRANKFURT) + AccountCoin.getFeaturesByTypeExcluding( + [CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], + ETH_FEATURES_WITH_FRANKFURT + ) ), erc20( '4d88bb1f-b643-41f8-87ca-e01259903393', @@ -4085,7 +4091,10 @@ export const erc20Coins = [ 18, '0x09a3ecafa817268f77be1283176b946c4ff2e608', UnderlyingAsset.MIR, - AccountCoin.getFeaturesByTypeExcluding([CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES_WITH_FRANKFURT) + AccountCoin.getFeaturesByTypeExcluding( + [CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], + ETH_FEATURES_WITH_FRANKFURT + ) ), erc20( '6d781cdc-3bb0-4865-afa0-0aa61ccf49b2', @@ -5324,7 +5333,10 @@ export const erc20Coins = [ 18, '0xd291e7a03283640fdc51b121ac401383a46cc623', UnderlyingAsset.RGT, - AccountCoin.getFeaturesByTypeExcluding([CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], ETH_FEATURES_WITH_FRANKFURT) + AccountCoin.getFeaturesByTypeExcluding( + [CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], + ETH_FEATURES_WITH_FRANKFURT + ) ), erc20( '5ec84a31-9a02-4c57-9328-a8d09e9e5c61', diff --git a/modules/statics/src/coins/polygonTokens.ts b/modules/statics/src/coins/polygonTokens.ts index b646bf2141..a9e1a7ecaf 100644 --- a/modules/statics/src/coins/polygonTokens.ts +++ b/modules/statics/src/coins/polygonTokens.ts @@ -1,10 +1,6 @@ import { AccountCoin, polygonErc20, tpolygonErc20 } from '../account'; import { UnderlyingAsset, CoinFeature } from '../base'; -import { - POLYGON_TOKEN_FEATURES, - POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE, - POLYGON_TOKEN_FEATURES_WITH_FRANKFURT, -} from '../coinFeatures'; +import { POLYGON_TOKEN_FEATURES, POLYGON_TOKEN_FEATURES_WITH_FRANKFURT } from '../coinFeatures'; export const polygonTokens = [ polygonErc20( @@ -510,7 +506,10 @@ export const polygonTokens = [ 8, '0xdbf31df14b66535af65aac99c32e9ea844e14501', UnderlyingAsset['polygon:renbtc'], - AccountCoin.getFeaturesByTypeExcluding([CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], POLYGON_TOKEN_FEATURES) + AccountCoin.getFeaturesByTypeExcluding( + [CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], + POLYGON_TOKEN_FEATURES + ) ), polygonErc20( 'e7d6568e-696c-4482-8dbf-9c0bb2364978', @@ -958,7 +957,10 @@ export const polygonTokens = [ 18, '0x2f697bc31895ea05e6a364cedc8a76ff3467d32f', UnderlyingAsset['polygon:tcs'], - AccountCoin.getFeaturesByTypeExcluding([CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], POLYGON_TOKEN_FEATURES) + AccountCoin.getFeaturesByTypeExcluding( + [CoinFeature.CUSTODY_BITGO_MENA_FZE, CoinFeature.CUSTODY_BITGO_SINGAPORE], + POLYGON_TOKEN_FEATURES + ) ), polygonErc20( 'eac8b635-e692-40f7-bf22-0197ae5e11f8',