diff --git a/src/config/index.ts b/src/config/index.ts index 930c1cc..8a70054 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -58,6 +58,7 @@ const envVarsSchema = Joi.object() OCI_BACKEND_URL: Joi.string().required().description('Oci Backend url'), TEMPORAL_URI: Joi.string().required().description('Temporal address'), TEMPORAL_QUEUE_HEAVY: Joi.string().required().description('Queue for heavy workflows'), + BLOCKCHAIN_NETWORK_MODE: Joi.string().valid('mainnet', 'testnet').required(), }) .unknown(); @@ -162,4 +163,5 @@ export default { heavyQueue: envVars.TEMPORAL_QUEUE_HEAVY, }, ociBackendURL: envVars.OCI_BACKEND_URL, + blockchainNetworkMode: envVars.BLOCKCHAIN_NETWORK_MODE, }; diff --git a/src/constants/chains.constant.ts b/src/constants/chains.constant.ts new file mode 100644 index 0000000..ac4f38c --- /dev/null +++ b/src/constants/chains.constant.ts @@ -0,0 +1,2 @@ +export const MAINNET_CHAIN_IDS = [42161]; //arbitrum +export const TESTNET_CHAIN_IDS = [84532]; // base sepolia diff --git a/src/services/nft.service.ts b/src/services/nft.service.ts index 02bc7b7..530737f 100644 --- a/src/services/nft.service.ts +++ b/src/services/nft.service.ts @@ -10,6 +10,8 @@ import moduleService from './module.service'; import platformService from './platform.service'; import ociService from './oci.service'; import communityService from './community.service'; +import { MAINNET_CHAIN_IDS, TESTNET_CHAIN_IDS } from '../constants/chains.constant'; +import config from '../config'; const logger = parentLogger.child({ module: 'NftService' }); @@ -54,9 +56,9 @@ const getReputationScore = async (tokenId: string, address: string) => { async function getProfiles(address: string) { let profiles: Array = []; - const supportedChainIds = [84532, 42161]; - for (let i = 0; i < supportedChainIds.length; i++) { - const chainProfiles = await ociService.getProfiles(address, supportedChainIds[i]); + const supportedChainIds = config.blockchainNetworkMode === 'mainnet' ? MAINNET_CHAIN_IDS : TESTNET_CHAIN_IDS; + for (const chainId of supportedChainIds) { + const chainProfiles = await ociService.getProfiles(address, chainId); profiles = profiles.concat(chainProfiles); } return profiles;