From 84a36ae5dd028f07a629734cb1f2dddb9f36124e Mon Sep 17 00:00:00 2001 From: Paras Garg Date: Wed, 23 Jul 2025 12:44:02 +0530 Subject: [PATCH] feat(sdk-coin-evm): implement coin specific register in EVM coin module Ticket: WIN-5911 TICKET: WIN-5911 --- modules/sdk-coin-evm/src/register.ts | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/modules/sdk-coin-evm/src/register.ts b/modules/sdk-coin-evm/src/register.ts index 8cab5a8594..c310d3c3bf 100644 --- a/modules/sdk-coin-evm/src/register.ts +++ b/modules/sdk-coin-evm/src/register.ts @@ -1,11 +1,25 @@ import { BitGoBase } from '@bitgo/sdk-core'; -import { CoinFeature, coins } from '@bitgo/statics'; +import { CoinFeature, coins, NetworkType } from '@bitgo/statics'; import { EvmCoin } from './evmCoin'; -export const register = (sdk: BitGoBase): void => { +export const registerAll = (sdk: BitGoBase): void => { coins - .filter((coin) => coin.features.includes(CoinFeature.SHARED_EVM_SDK)) + .filter( + (coin) => + coin.features.includes(CoinFeature.SHARED_EVM_SDK) && coin.network.type === NetworkType.MAINNET && !coin.isToken + ) .forEach((coin) => { - sdk.register(coin.name, EvmCoin.createInstance); + register(coin.family, sdk); }); }; + +export const register = (coinFamily: string, sdk: BitGoBase): void => { + if (coins.get(coinFamily).features.includes(CoinFeature.SHARED_EVM_SDK)) { + coins + .filter((coin) => coin.family === coinFamily && !coin.isToken) + .forEach((coin) => { + sdk.register(coin.name, EvmCoin.createInstance); + }); + //TODO: add token registration after EVM Token Optimisation is implemented + } +};