From 3e08a063fa976941bbb1c69f8ddf6d0645d3b45c Mon Sep 17 00:00:00 2001 From: Prajwal U Date: Wed, 29 Jul 2026 12:11:33 +0530 Subject: [PATCH 1/7] feat(statics): onboard BSC Bitkub and Ondo tokens ## Problem CSHLD-1278 requires ungated BSC tokens for Bitkub (FHE, BABYDOGE, PIEVERSE, BR, CGPT, TA, TOKEN) and Ondo (HYGWon, SECUon, SYSBon). ## Goal Register the BSC tokens and OFC equivalents in statics. ## Fix - Add UnderlyingAsset entries for the 10 BSC tokens - Add bscToken definitions with on-chain decimals - Add matching ofcBscToken entries ## Testing Verified contract decimals via BSC RPC eth_call; statics compile path unchanged. Ticket: CSHLD-1278 --- modules/statics/src/base.ts | 11 ++++ modules/statics/src/coins/bscTokens.ts | 90 ++++++++++++++++++++++++++ modules/statics/src/coins/ofcCoins.ts | 34 ++++++++++ 3 files changed, 135 insertions(+) diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index 39337dda44..8bf136599b 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -3477,6 +3477,17 @@ export enum UnderlyingAsset { 'bsc:sqd' = 'bsc:sqd', 'bsc:skyai' = 'bsc:skyai', 'bsc:zktc' = 'bsc:zktc', + // Bitkub & Ondo batch (CSHLD-1278) + 'bsc:fhe' = 'bsc:fhe', + 'bsc:babydoge' = 'bsc:babydoge', + 'bsc:pieverse' = 'bsc:pieverse', + 'bsc:br' = 'bsc:br', + 'bsc:cgpt' = 'bsc:cgpt', + 'bsc:ta' = 'bsc:ta', + 'bsc:token' = 'bsc:token', + 'bsc:hygwon' = 'bsc:hygwon', + 'bsc:secuon' = 'bsc:secuon', + 'bsc:sysbon' = 'bsc:sysbon', // BSC NFTs // generic NFTs diff --git a/modules/statics/src/coins/bscTokens.ts b/modules/statics/src/coins/bscTokens.ts index f146dfd20a..da16a79a5e 100644 --- a/modules/statics/src/coins/bscTokens.ts +++ b/modules/statics/src/coins/bscTokens.ts @@ -2998,6 +2998,96 @@ export const bscTokens = [ UnderlyingAsset['bsc:skyai'], BSC_TOKEN_FEATURES ), + bscToken( + 'a4669b11-ebd0-4a00-8a9c-86a97161b474', + 'bsc:fhe', + 'Mind Network', + 18, + '0xd55c9fb62e176a8eb6968f32958fefdd0962727e', + UnderlyingAsset['bsc:fhe'], + BSC_TOKEN_FEATURES + ), + bscToken( + '29b13821-a260-4a1f-bfd8-a87c760657ce', + 'bsc:babydoge', + 'Baby Doge Coin', + 9, + '0xc748673057861a797275cd8a068abb95a902e8de', + UnderlyingAsset['bsc:babydoge'], + BSC_TOKEN_FEATURES + ), + bscToken( + 'ad399d5d-f711-4ba4-80b8-15dcbf5152d2', + 'bsc:pieverse', + 'Pieverse', + 18, + '0x0e63b9c287e32a05e6b9ab8ee8df88a2760225a9', + UnderlyingAsset['bsc:pieverse'], + BSC_TOKEN_FEATURES + ), + bscToken( + '8ab7c771-b21f-4510-b1c4-f5fee5131e5e', + 'bsc:br', + 'Bedrock', + 18, + '0xff7d6a96ae471bbcd7713af9cb1feeb16cf56b41', + UnderlyingAsset['bsc:br'], + BSC_TOKEN_FEATURES + ), + bscToken( + 'ef424f5e-2876-47f2-b193-2d8a53377c87', + 'bsc:cgpt', + 'ChainGPT', + 18, + '0x9840652dc04fb9db2c43853633f0f62be6f00f98', + UnderlyingAsset['bsc:cgpt'], + BSC_TOKEN_FEATURES + ), + bscToken( + 'c776a940-5cfe-462c-97d6-d88cca2d1e9e', + 'bsc:ta', + 'Trusta.AI', + 18, + '0x539ae81a166e5e80aed211731563e549c411b140', + UnderlyingAsset['bsc:ta'], + BSC_TOKEN_FEATURES + ), + bscToken( + '9e73a973-496f-4542-9a5e-51143c435c7c', + 'bsc:token', + 'TokenFi', + 9, + '0x4507cef57c46789ef8d1a19ea45f4216bae2b528', + UnderlyingAsset['bsc:token'], + BSC_TOKEN_FEATURES + ), + bscToken( + '28140c0f-9775-4b68-a6d5-e061354b98e3', + 'bsc:hygwon', + 'iShares High Yield Corporate Bond BuyWrite Strategy ETF', + 18, + '0x85b53a9344884ae428e0e15f05a1819d280d4be7', + UnderlyingAsset['bsc:hygwon'], + BSC_TOKEN_FEATURES + ), + bscToken( + '3787e0ad-cbc9-4f5a-a648-73e94454d46b', + 'bsc:secuon', + 'iShares Securitized Income Active ETF', + 18, + '0xb0d7d4b65a654d43f91272bb94e011ce6812a2ef', + UnderlyingAsset['bsc:secuon'], + BSC_TOKEN_FEATURES + ), + bscToken( + '5f3456fd-548f-4d57-8a1b-3a00d356d03b', + 'bsc:sysbon', + 'iShares Systematic Bond ETF', + 18, + '0xebe1408a7cce4f38de15467e5139c3d82e4641f8', + UnderlyingAsset['bsc:sysbon'], + BSC_TOKEN_FEATURES + ), tbscToken( '2d4e4f61-1acd-416c-9d38-3d80d95a38d4', 'tbsc:stgscaasacme', diff --git a/modules/statics/src/coins/ofcCoins.ts b/modules/statics/src/coins/ofcCoins.ts index 15645c3900..5c64700d40 100644 --- a/modules/statics/src/coins/ofcCoins.ts +++ b/modules/statics/src/coins/ofcCoins.ts @@ -6380,4 +6380,38 @@ export const ofcCoins = [ ofcBscToken('3a9daeda-7e08-494d-a47c-d2c89dd1c735', 'ofcbsc:godl', 'GODL', 18, UnderlyingAsset['bsc:godl']), ofcBscToken('93a459bc-c661-4001-be26-9175046c9a36', 'ofcbsc:gdl', 'GDL', 18, UnderlyingAsset['bsc:gdl']), ofcBscToken('9febc919-85af-48eb-9821-e9d18e4cd98e', 'ofcbsc:usgd', 'USGD', 18, UnderlyingAsset['bsc:usgd']), + ofcBscToken('96558444-00d0-4e28-a6b6-95931b562e9c', 'ofcbsc:fhe', 'Mind Network', 18, UnderlyingAsset['bsc:fhe']), + ofcBscToken( + '85a5e9bb-c7ad-43e9-8900-fc067b33b433', + 'ofcbsc:babydoge', + 'Baby Doge Coin', + 9, + UnderlyingAsset['bsc:babydoge'] + ), + ofcBscToken('33c232b4-3be7-417b-b65c-d759f6be16b4', 'ofcbsc:pieverse', 'Pieverse', 18, UnderlyingAsset['bsc:pieverse']), + ofcBscToken('1e784399-d643-4cd2-9296-22cc41a06f29', 'ofcbsc:br', 'Bedrock', 18, UnderlyingAsset['bsc:br']), + ofcBscToken('ce7e2135-f68b-4488-a563-5d08ad73e7d0', 'ofcbsc:cgpt', 'ChainGPT', 18, UnderlyingAsset['bsc:cgpt']), + ofcBscToken('307b5226-7a63-4c8a-b7fe-6324695274bd', 'ofcbsc:ta', 'Trusta.AI', 18, UnderlyingAsset['bsc:ta']), + ofcBscToken('b60e11fc-9267-4880-bdd7-faef4d72f577', 'ofcbsc:token', 'TokenFi', 9, UnderlyingAsset['bsc:token']), + ofcBscToken( + '8c69238f-37d5-4ec5-bed0-1c0a72ee2ab3', + 'ofcbsc:hygwon', + 'iShares High Yield Corporate Bond BuyWrite Strategy ETF', + 18, + UnderlyingAsset['bsc:hygwon'] + ), + ofcBscToken( + '86fcd8b8-46d3-4507-8e0d-49a041ceac58', + 'ofcbsc:secuon', + 'iShares Securitized Income Active ETF', + 18, + UnderlyingAsset['bsc:secuon'] + ), + ofcBscToken( + 'f9f6da2f-2ec2-49c2-8022-98d1994b4662', + 'ofcbsc:sysbon', + 'iShares Systematic Bond ETF', + 18, + UnderlyingAsset['bsc:sysbon'] + ), ]; From 2acd2fdac5297cf019543d5d5b294ddae6ba8f91 Mon Sep 17 00:00:00 2001 From: Prajwal U Date: Wed, 29 Jul 2026 12:12:19 +0530 Subject: [PATCH 2/7] feat(statics): onboard Base Bitkub tokens ## Problem CSHLD-1278 requires ungated Base tokens: DEGEN, SOSO, SIGN, SYND, FLOCK, GPS, ELSA. ## Goal Register the Base tokens and OFC equivalents in statics. ## Fix - Add UnderlyingAsset entries for the 7 Base tokens - Add erc20Token definitions on Networks.main.basechain - Add matching ofcbaseeth OFC entries ## Testing Verified contract decimals via Base RPC eth_call. Ticket: CSHLD-1278 --- modules/statics/src/allCoinsAndTokens.ts | 63 ++++++++++++++ modules/statics/src/base.ts | 8 ++ modules/statics/src/coins/ofcErc20Coins.ts | 98 ++++++++++++++++++++++ 3 files changed, 169 insertions(+) diff --git a/modules/statics/src/allCoinsAndTokens.ts b/modules/statics/src/allCoinsAndTokens.ts index 637aea712e..9ccb3771eb 100644 --- a/modules/statics/src/allCoinsAndTokens.ts +++ b/modules/statics/src/allCoinsAndTokens.ts @@ -4917,6 +4917,69 @@ export const allCoinsAndTokens = [ UnderlyingAsset['baseeth:wpay'], Networks.main.basechain ), + erc20Token( + '875d8516-5db3-4e9f-b3ef-478a05709db5', + 'baseeth:degen', + 'Degen', + 18, + '0x4ed4e862860bed51a9570b96d89af5e1b0efefed', + UnderlyingAsset['baseeth:degen'], + Networks.main.basechain + ), + erc20Token( + '82236a94-e93f-4acc-bbb1-ad6eedcdef70', + 'baseeth:soso', + 'SoSoValue', + 18, + '0x624e2e7fdc8903165f64891672267ab0fcb98831', + UnderlyingAsset['baseeth:soso'], + Networks.main.basechain + ), + erc20Token( + '8ddf1f43-a1e5-4bd0-bea4-b3b205aeb42a', + 'baseeth:sign', + 'Sign', + 18, + '0x868fced65edbf0056c4163515dd840e9f287a4c3', + UnderlyingAsset['baseeth:sign'], + Networks.main.basechain + ), + erc20Token( + 'b604d04a-b0c5-4949-9c46-b9cfde1124cf', + 'baseeth:synd', + 'Syndicate', + 18, + '0x11dc28d01984079b7efe7763b533e6ed9e3722b9', + UnderlyingAsset['baseeth:synd'], + Networks.main.basechain + ), + erc20Token( + '6b8cf213-9b30-46d7-af85-6d5f4f97504a', + 'baseeth:flock', + 'FLock.io', + 18, + '0x5ab3d4c385b400f3abb49e80de2faf6a88a7b691', + UnderlyingAsset['baseeth:flock'], + Networks.main.basechain + ), + erc20Token( + '526c63d4-77cf-4438-abf3-dafbac938d7a', + 'baseeth:gps', + 'GoPlus Security', + 18, + '0x0c1dc73159e30c4b06170f2593d3118968a0dca5', + UnderlyingAsset['baseeth:gps'], + Networks.main.basechain + ), + erc20Token( + 'e8fedc4e-155a-4bb3-bb31-d8b1513dbe97', + 'baseeth:elsa', + 'HeyElsa', + 18, + '0x29cc30f9d113b356ce408667aa6433589cecbdca', + UnderlyingAsset['baseeth:elsa'], + Networks.main.basechain + ), // ARC mainnet tokens erc20Token( diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index 8bf136599b..6d5d66d068 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -3655,6 +3655,14 @@ export enum UnderlyingAsset { 'baseeth:vbtcb' = 'baseeth:vbtcb', 'baseeth:gldy' = 'baseeth:gldy', 'baseeth:wpay' = 'baseeth:wpay', + // Bitkub batch (CSHLD-1278) + 'baseeth:degen' = 'baseeth:degen', + 'baseeth:soso' = 'baseeth:soso', + 'baseeth:sign' = 'baseeth:sign', + 'baseeth:synd' = 'baseeth:synd', + 'baseeth:flock' = 'baseeth:flock', + 'baseeth:gps' = 'baseeth:gps', + 'baseeth:elsa' = 'baseeth:elsa', // BaseETH testnet tokens 'tbaseeth:usdc' = 'tbaseeth:usdc', diff --git a/modules/statics/src/coins/ofcErc20Coins.ts b/modules/statics/src/coins/ofcErc20Coins.ts index c539ddf740..c332592a2b 100644 --- a/modules/statics/src/coins/ofcErc20Coins.ts +++ b/modules/statics/src/coins/ofcErc20Coins.ts @@ -7135,6 +7135,104 @@ export const tOfcErc20Coins = [ true, 'baseeth' ), + ofcerc20( + 'ead7cb3f-bb9d-405d-84ff-e77987bcbbfc', + 'ofcbaseeth:degen', + 'Degen', + 18, + UnderlyingAsset['baseeth:degen'], + undefined, + undefined, + '', + undefined, + undefined, + true, + 'baseeth' + ), + ofcerc20( + 'bd8a2e03-abc9-411f-8c1b-2cf0eb232ab1', + 'ofcbaseeth:soso', + 'SoSoValue', + 18, + UnderlyingAsset['baseeth:soso'], + undefined, + undefined, + '', + undefined, + undefined, + true, + 'baseeth' + ), + ofcerc20( + '37805190-52dd-4b00-8edc-9f8832a2960f', + 'ofcbaseeth:sign', + 'Sign', + 18, + UnderlyingAsset['baseeth:sign'], + undefined, + undefined, + '', + undefined, + undefined, + true, + 'baseeth' + ), + ofcerc20( + 'c9b32956-34ba-4823-accd-26bcaa7160eb', + 'ofcbaseeth:synd', + 'Syndicate', + 18, + UnderlyingAsset['baseeth:synd'], + undefined, + undefined, + '', + undefined, + undefined, + true, + 'baseeth' + ), + ofcerc20( + '31c3118c-a378-4300-bb6a-af476b1adcba', + 'ofcbaseeth:flock', + 'FLock.io', + 18, + UnderlyingAsset['baseeth:flock'], + undefined, + undefined, + '', + undefined, + undefined, + true, + 'baseeth' + ), + ofcerc20( + '7f581137-ca51-4896-b3aa-efa2dbbdbe8f', + 'ofcbaseeth:gps', + 'GoPlus Security', + 18, + UnderlyingAsset['baseeth:gps'], + undefined, + undefined, + '', + undefined, + undefined, + true, + 'baseeth' + ), + ofcerc20( + '9d9077a1-7dca-4194-b3ed-df2faceb443c', + 'ofcbaseeth:elsa', + 'HeyElsa', + 18, + UnderlyingAsset['baseeth:elsa'], + undefined, + undefined, + '', + undefined, + undefined, + true, + 'baseeth' + ), tofcerc20( 'b5277412-46b8-4da3-8fd2-5bf4557fcbd8', 'ofctbaseeth:tusdl', From 6d0e2424280fd9f92a8af4e53b22ea6c12827bc3 Mon Sep 17 00:00:00 2001 From: Prajwal U Date: Wed, 29 Jul 2026 12:13:19 +0530 Subject: [PATCH 3/7] feat(statics): onboard Solana Bitkub tokens ## Problem CSHLD-1278 requires ungated Solana tokens: HOLO, BIRB, PYBOBO, and priority USDPT. ## Goal Register the Solana tokens and OFC equivalents in statics. ## Fix - Add UnderlyingAsset entries for the 4 Solana tokens - Add solToken definitions (Token2022 for HOLO/USDPT) - Mark USDPT as STABLECOIN - Add matching ofcsolToken entries ## Testing Verified mint decimals and token programs via Solana RPC. Ticket: CSHLD-1278 --- modules/statics/src/base.ts | 5 +++ modules/statics/src/coins/ofcCoins.ts | 19 +++++++++++- modules/statics/src/coins/solTokens.ts | 42 ++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 1 deletion(-) diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index 6d5d66d068..27a2d5c4ae 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -4113,6 +4113,11 @@ export enum UnderlyingAsset { 'sol:slx' = 'sol:slx', 'sol:ab1' = 'sol:ab1', 'sol:bils' = 'sol:bils', + // Bitkub batch (CSHLD-1278) + 'sol:holo' = 'sol:holo', + 'sol:birb' = 'sol:birb', + 'sol:pybobo' = 'sol:pybobo', + 'sol:usdpt' = 'sol:usdpt', 'tsol:txsgd' = 'sol:txsgd', 'tsol:txusd' = 'sol:txusd', diff --git a/modules/statics/src/coins/ofcCoins.ts b/modules/statics/src/coins/ofcCoins.ts index 5c64700d40..c7c92f64a3 100644 --- a/modules/statics/src/coins/ofcCoins.ts +++ b/modules/statics/src/coins/ofcCoins.ts @@ -6377,6 +6377,17 @@ export const ofcCoins = [ UnderlyingAsset['sol:jsol'] ), ofcsolToken('a903ea3b-de91-4d57-9fc1-56fdf8b3b249', 'ofcsol:bils', 'BILS', 6, UnderlyingAsset['sol:bils']), + ofcsolToken('adf5aa35-7d60-4e8b-8bc6-355fc4cf9d71', 'ofcsol:holo', 'Holoworld AI', 9, UnderlyingAsset['sol:holo']), + ofcsolToken('49845484-6f3b-4b01-b5b2-a6f4f022e3cc', 'ofcsol:birb', 'Moonbirds', 6, UnderlyingAsset['sol:birb']), + ofcsolToken('625f2874-a582-41ed-841b-3bee98837651', 'ofcsol:pybobo', 'Capybobo', 6, UnderlyingAsset['sol:pybobo']), + ofcsolToken( + 'b89a5df2-060e-4f7f-bb86-18087ac2f56a', + 'ofcsol:usdpt', + 'U.S. Dollar Payment Token', + 6, + UnderlyingAsset['sol:usdpt'], + [...SOL_OFC_TOKEN_FEATURES, CoinFeature.STABLECOIN] + ), ofcBscToken('3a9daeda-7e08-494d-a47c-d2c89dd1c735', 'ofcbsc:godl', 'GODL', 18, UnderlyingAsset['bsc:godl']), ofcBscToken('93a459bc-c661-4001-be26-9175046c9a36', 'ofcbsc:gdl', 'GDL', 18, UnderlyingAsset['bsc:gdl']), ofcBscToken('9febc919-85af-48eb-9821-e9d18e4cd98e', 'ofcbsc:usgd', 'USGD', 18, UnderlyingAsset['bsc:usgd']), @@ -6388,7 +6399,13 @@ export const ofcCoins = [ 9, UnderlyingAsset['bsc:babydoge'] ), - ofcBscToken('33c232b4-3be7-417b-b65c-d759f6be16b4', 'ofcbsc:pieverse', 'Pieverse', 18, UnderlyingAsset['bsc:pieverse']), + ofcBscToken( + '33c232b4-3be7-417b-b65c-d759f6be16b4', + 'ofcbsc:pieverse', + 'Pieverse', + 18, + UnderlyingAsset['bsc:pieverse'] + ), ofcBscToken('1e784399-d643-4cd2-9296-22cc41a06f29', 'ofcbsc:br', 'Bedrock', 18, UnderlyingAsset['bsc:br']), ofcBscToken('ce7e2135-f68b-4488-a563-5d08ad73e7d0', 'ofcbsc:cgpt', 'ChainGPT', 18, UnderlyingAsset['bsc:cgpt']), ofcBscToken('307b5226-7a63-4c8a-b7fe-6324695274bd', 'ofcbsc:ta', 'Trusta.AI', 18, UnderlyingAsset['bsc:ta']), diff --git a/modules/statics/src/coins/solTokens.ts b/modules/statics/src/coins/solTokens.ts index e2a9b65f20..4e064ffa94 100644 --- a/modules/statics/src/coins/solTokens.ts +++ b/modules/statics/src/coins/solTokens.ts @@ -4172,6 +4172,48 @@ export const solTokens = [ SOL_TOKEN_FEATURES, ProgramID.Token2022ProgramId ), + solToken( + '138b5df8-1c9b-4041-99bc-4e03e4435d21', + 'sol:holo', + 'Holoworld AI', + 9, + '69RX85eQoEsnZvXGmLNjYcWgVkp9r2JjahVm99KbJETU', // https://solscan.io/token/69RX85eQoEsnZvXGmLNjYcWgVkp9r2JjahVm99KbJETU + '69RX85eQoEsnZvXGmLNjYcWgVkp9r2JjahVm99KbJETU', + UnderlyingAsset['sol:holo'], + SOL_TOKEN_FEATURES, + ProgramID.Token2022ProgramId + ), + solToken( + 'c39a1da6-c7b2-476e-8248-981ad1ac7022', + 'sol:birb', + 'Moonbirds', + 6, + 'G7vQWurMkMMm2dU3iZpXYFTHT9Biio4F4gZCrwFpKNwG', // https://solscan.io/token/G7vQWurMkMMm2dU3iZpXYFTHT9Biio4F4gZCrwFpKNwG + 'G7vQWurMkMMm2dU3iZpXYFTHT9Biio4F4gZCrwFpKNwG', + UnderlyingAsset['sol:birb'], + SOL_TOKEN_FEATURES + ), + solToken( + 'f6f5c758-f207-48d9-8270-545b3e462bab', + 'sol:pybobo', + 'Capybobo', + 6, + 'D6xWgRCSHoMEB5fqPwk3p6Stxirn5ytm2WwboSTTx4oE', // https://solscan.io/token/D6xWgRCSHoMEB5fqPwk3p6Stxirn5ytm2WwboSTTx4oE + 'D6xWgRCSHoMEB5fqPwk3p6Stxirn5ytm2WwboSTTx4oE', + UnderlyingAsset['sol:pybobo'], + SOL_TOKEN_FEATURES + ), + solToken( + 'a88ed0b7-17c2-4225-8218-0ebce689c99b', + 'sol:usdpt', + 'U.S. Dollar Payment Token', + 6, + 'HVWf8JmLoHs99Lw8Psf3fyqAtA4crWxCPkrmSdNjhNH3', // https://solscan.io/token/HVWf8JmLoHs99Lw8Psf3fyqAtA4crWxCPkrmSdNjhNH3 + 'HVWf8JmLoHs99Lw8Psf3fyqAtA4crWxCPkrmSdNjhNH3', + UnderlyingAsset['sol:usdpt'], + [...SOL_TOKEN_FEATURES, CoinFeature.STABLECOIN], + ProgramID.Token2022ProgramId + ), tsolToken( '5f4de23d-67b5-4a8f-bb31-9c1c72f62489', 'tsol:gousd', From 02723862009861f8fe26a5eba795f06b300433cd Mon Sep 17 00:00:00 2001 From: Prajwal U Date: Wed, 29 Jul 2026 12:13:57 +0530 Subject: [PATCH 4/7] feat(statics): onboard Arbitrum Bitkub tokens ## Problem CSHLD-1278 requires ungated Arbitrum tokens: OBT and MAGIC. ## Goal Register the Arbitrum tokens and OFC equivalents in statics. ## Fix - Add UnderlyingAsset entries for arbeth:obt and arbeth:magic - Add arbethErc20 definitions with on-chain decimals - Add matching ofcArbethErc20 entries ## Testing Verified contract decimals via Arbitrum RPC eth_call. Ticket: CSHLD-1278 --- modules/statics/src/allCoinsAndTokens.ts | 16 ++++++++++++++++ modules/statics/src/base.ts | 3 +++ modules/statics/src/coins/ofcCoins.ts | 14 ++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/modules/statics/src/allCoinsAndTokens.ts b/modules/statics/src/allCoinsAndTokens.ts index 9ccb3771eb..9c266c71a9 100644 --- a/modules/statics/src/allCoinsAndTokens.ts +++ b/modules/statics/src/allCoinsAndTokens.ts @@ -7244,6 +7244,22 @@ export const allCoinsAndTokens = [ UnderlyingAsset['arbeth:ausd'], [...AccountCoin.DEFAULT_FEATURES, CoinFeature.STABLECOIN] ), + arbethErc20( + 'a4a1104e-e248-41bd-b622-ba3064471a70', + 'arbeth:obt', + 'Orbiter Finance', + 18, + '0x1cd9a56c8c2ea913c70319a44da75e99255aa46f', + UnderlyingAsset['arbeth:obt'] + ), + arbethErc20( + '5efac0a9-4fb3-4173-ab2a-b683772da5f6', + 'arbeth:magic', + 'Treasure', + 18, + '0x539bde0d7dbd336b79148aa742883198bbf60342', + UnderlyingAsset['arbeth:magic'] + ), arbethErc20( '6092bc16-1eb5-42be-b33b-9c760838ac0b', 'arbeth:frnt', diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index 27a2d5c4ae..3ac942b24e 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -3595,6 +3595,9 @@ export enum UnderlyingAsset { 'arbeth:chlt' = 'arbeth:chlt', 'arbeth:bolt' = 'arbeth:bolt', 'arbeth:pert' = 'arbeth:pert', + // Bitkub batch (CSHLD-1278) + 'arbeth:obt' = 'arbeth:obt', + 'arbeth:magic' = 'arbeth:magic', // BaseETH mainnet tokens 'baseeth:aero' = 'baseeth:aero', diff --git a/modules/statics/src/coins/ofcCoins.ts b/modules/statics/src/coins/ofcCoins.ts index c7c92f64a3..1561dc65ce 100644 --- a/modules/statics/src/coins/ofcCoins.ts +++ b/modules/statics/src/coins/ofcCoins.ts @@ -5889,6 +5889,20 @@ export const ofcCoins = [ 18, UnderlyingAsset['arbeth:week'] ), + ofcArbethErc20( + '52d99002-c988-467f-b774-6bd5b31c84b6', + 'ofcarbeth:obt', + 'Orbiter Finance', + 18, + UnderlyingAsset['arbeth:obt'] + ), + ofcArbethErc20( + '7a811710-7ebc-4b9e-ad20-81a7b4e7935b', + 'ofcarbeth:magic', + 'Treasure', + 18, + UnderlyingAsset['arbeth:magic'] + ), // New SOL OFC tokens ofcsolToken( '68a1c4e8-9a22-4177-9fae-d0356f245a85', From ed4c493e024ce2045f360687f2b6b06bc167f54a Mon Sep 17 00:00:00 2001 From: Prajwal U Date: Wed, 29 Jul 2026 12:14:35 +0530 Subject: [PATCH 5/7] feat(statics): onboard zkSync Bitkub token ## Problem CSHLD-1278 requires ungated zkSync ZK token. ## Goal Register zketh:zk and its OFC equivalent in statics. ## Fix - Add UnderlyingAsset for zketh:zk - Add zkethErc20 definition - Add ofczketh:zk OFC entry ## Testing Verified contract decimals via zkSync RPC eth_call. Ticket: CSHLD-1278 --- modules/statics/src/allCoinsAndTokens.ts | 8 ++++++++ modules/statics/src/base.ts | 2 ++ modules/statics/src/coins/ofcErc20Coins.ts | 14 ++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/modules/statics/src/allCoinsAndTokens.ts b/modules/statics/src/allCoinsAndTokens.ts index 9c266c71a9..796e9989b5 100644 --- a/modules/statics/src/allCoinsAndTokens.ts +++ b/modules/statics/src/allCoinsAndTokens.ts @@ -7584,6 +7584,14 @@ export const allCoinsAndTokens = [ '0x082fade8b84b18c441d506e1d3a43a387cc59d20', UnderlyingAsset['zketh:link'] ), + zkethErc20( + '3a2f4047-7422-4307-8864-bfd6e286d09f', + 'zketh:zk', + 'zkSync', + 18, + '0x5a7d6b2f92c77fad6ccabd7ee0624e64907eaf3e', + UnderlyingAsset['zketh:zk'] + ), tzkethErc20( 'ef49b6d1-b7a7-4c5c-8c53-43d22c15cc17', 'tzketh:link', diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index 3ac942b24e..1cd6ce3677 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -3818,6 +3818,8 @@ export enum UnderlyingAsset { // zkSync mainnet tokens 'zketh:link' = 'zketh:link', + // Bitkub batch (CSHLD-1278) + 'zketh:zk' = 'zketh:zk', // zkSync testnet tokens 'tzketh:link' = 'tzketh:link', diff --git a/modules/statics/src/coins/ofcErc20Coins.ts b/modules/statics/src/coins/ofcErc20Coins.ts index c332592a2b..ce349ced58 100644 --- a/modules/statics/src/coins/ofcErc20Coins.ts +++ b/modules/statics/src/coins/ofcErc20Coins.ts @@ -7233,6 +7233,20 @@ export const tOfcErc20Coins = [ true, 'baseeth' ), + ofcerc20( + '97d4e643-8cb0-4103-a5c2-0d53fd3e5b2b', + 'ofczketh:zk', + 'zkSync', + 18, + UnderlyingAsset['zketh:zk'], + undefined, + undefined, + '', + undefined, + undefined, + true, + 'zketh' + ), tofcerc20( 'b5277412-46b8-4da3-8fd2-5bf4557fcbd8', 'ofctbaseeth:tusdl', From 6f05d235659fdd5ca1c99d5d8a28b641a7b08a8f Mon Sep 17 00:00:00 2001 From: Prajwal U Date: Wed, 29 Jul 2026 12:15:08 +0530 Subject: [PATCH 6/7] feat(statics): onboard Celo Bitkub token ## Problem CSHLD-1278 requires ungated Celo GoldToken (CELO:CELO). ## Goal Register celo:celo and its OFC equivalent in statics. ## Fix - Add UnderlyingAsset for celo:celo - Add celoToken definition for the native GoldToken contract - Add ofccelo:celo OFC entry ## Testing Verified contract decimals via Celo RPC eth_call. Ticket: CSHLD-1278 --- modules/statics/src/allCoinsAndTokens.ts | 8 ++++++++ modules/statics/src/base.ts | 2 ++ modules/statics/src/coins/ofcErc20Coins.ts | 14 ++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/modules/statics/src/allCoinsAndTokens.ts b/modules/statics/src/allCoinsAndTokens.ts index 796e9989b5..3d90360497 100644 --- a/modules/statics/src/allCoinsAndTokens.ts +++ b/modules/statics/src/allCoinsAndTokens.ts @@ -5663,6 +5663,14 @@ export const allCoinsAndTokens = [ '0x2b9018ceb303d540bbf08de8e7de64fddd63396c', UnderlyingAsset['celo:pact'] ), + celoToken( + '15e19756-d9c9-400b-b8bf-bc8f54fd94b0', + 'celo:celo', + 'Celo', + 18, + '0x471ece3750da237f93b8e339c536989b8978a438', + UnderlyingAsset['celo:celo'] + ), erc721( 'b744b184-ae07-42e1-9585-f4a65fe96d11', 'erc721:bsctoken', diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index 1cd6ce3677..fbbb33317b 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -3826,6 +3826,8 @@ export enum UnderlyingAsset { // Celo mainnet tokens 'celo:pact' = 'celo:pact', + // Bitkub batch (CSHLD-1278) + 'celo:celo' = 'celo:celo', // bera mainnet tokens 'bera:bgt' = 'bera:bgt', diff --git a/modules/statics/src/coins/ofcErc20Coins.ts b/modules/statics/src/coins/ofcErc20Coins.ts index ce349ced58..7509b6f0eb 100644 --- a/modules/statics/src/coins/ofcErc20Coins.ts +++ b/modules/statics/src/coins/ofcErc20Coins.ts @@ -7247,6 +7247,20 @@ export const tOfcErc20Coins = [ true, 'zketh' ), + ofcerc20( + '9bbe7dd4-0282-485a-9a27-bdb348700e96', + 'ofccelo:celo', + 'Celo', + 18, + UnderlyingAsset['celo:celo'], + undefined, + undefined, + '', + undefined, + undefined, + true, + 'celo' + ), tofcerc20( 'b5277412-46b8-4da3-8fd2-5bf4557fcbd8', 'ofctbaseeth:tusdl', From 2a13e4bbb7f38409b84d2fc59103c853acd87851 Mon Sep 17 00:00:00 2001 From: Prajwal U Date: Wed, 29 Jul 2026 12:15:43 +0530 Subject: [PATCH 7/7] feat(statics): onboard Polygon Amoy Activ testnet token ## Problem CSHLD-1278 requires testnet token TPOL:Activ on Polygon Amoy. ## Goal Register tpolygon:activ and its OFC equivalent in statics. ## Fix - Add UnderlyingAsset for tpolygon:activ - Add tpolygonErc20 definition - Add ofctpolygon:activ OFC entry ## Testing Verified contract decimals via Polygon Amoy RPC eth_call. Ticket: CSHLD-1278 --- modules/statics/src/base.ts | 2 ++ modules/statics/src/coins/ofcCoins.ts | 7 +++++++ modules/statics/src/coins/polygonTokens.ts | 9 +++++++++ 3 files changed, 18 insertions(+) diff --git a/modules/statics/src/base.ts b/modules/statics/src/base.ts index fbbb33317b..75adac29f5 100644 --- a/modules/statics/src/base.ts +++ b/modules/statics/src/base.ts @@ -3514,6 +3514,8 @@ export enum UnderlyingAsset { 'tpolygon:copr3' = 'tpolygon:copr3', 'tpolygon:tusdl' = 'tpolygon:tusdl', 'tpolygon:tusdlt' = 'tpolygon:tusdlt', + // CSHLD-1278 testnet token + 'tpolygon:activ' = 'tpolygon:activ', // generic NFTs 'terc721:polygontoken' = 'terc721:polygontoken', diff --git a/modules/statics/src/coins/ofcCoins.ts b/modules/statics/src/coins/ofcCoins.ts index 1561dc65ce..e3d61d2144 100644 --- a/modules/statics/src/coins/ofcCoins.ts +++ b/modules/statics/src/coins/ofcCoins.ts @@ -4546,6 +4546,13 @@ export const ofcCoins = [ undefined, [CoinFeature.STABLECOIN] ), + tofcPolygonErc20( + '37660043-7520-4680-a665-f31f71ba8ffc', + 'ofctpolygon:activ', + 'Activ', + 18, + UnderlyingAsset['tpolygon:activ'] + ), ofcAlgoToken( 'fec37305-8fb8-4c23-b42c-b4696d579eb9', diff --git a/modules/statics/src/coins/polygonTokens.ts b/modules/statics/src/coins/polygonTokens.ts index 63d11eb49b..a481cc0f53 100644 --- a/modules/statics/src/coins/polygonTokens.ts +++ b/modules/statics/src/coins/polygonTokens.ts @@ -1681,4 +1681,13 @@ export const polygonTokens = [ UnderlyingAsset['tpolygon:tusdlt'], [...POLYGON_TOKEN_FEATURES_EXCLUDE_SINGAPORE, CoinFeature.STABLECOIN] ), + tpolygonErc20( + 'aea07375-8765-4649-81cc-7b58943c57eb', + 'tpolygon:activ', + 'Activ', + 18, + '0x41802a0fdf81f0643647162bea9786e9769e4228', + UnderlyingAsset['tpolygon:activ'], + POLYGON_TOKEN_FEATURES + ), ];