diff --git a/src/config/ab.ts b/src/config/ab.ts index a8f8785d3d..b33d92e02f 100644 --- a/src/config/ab.ts +++ b/src/config/ab.ts @@ -15,6 +15,7 @@ const abFlagsConfig = { testMultichain: 1, testSponsoredCall: 1, testExampleAb: 0, + useOpenInterestInTokensForBalance: 0, }; export type AbFlag = keyof typeof abFlagsConfig; diff --git a/src/domain/synthetics/markets/useMarketsInfoRequest/useMarketsConstantsRequest.ts b/src/domain/synthetics/markets/useMarketsInfoRequest/useMarketsConstantsRequest.ts index 6b74e3eb6f..b8eaaeb32d 100644 --- a/src/domain/synthetics/markets/useMarketsInfoRequest/useMarketsConstantsRequest.ts +++ b/src/domain/synthetics/markets/useMarketsInfoRequest/useMarketsConstantsRequest.ts @@ -1,6 +1,7 @@ import { useMemo } from "react"; import { getContract } from "config/contracts"; +import { getIsFlagEnabled } from "config/ab"; import { USE_OPEN_INTEREST_IN_TOKENS_FOR_BALANCE } from "config/dataStore"; import { useMulticall } from "lib/multicall"; import { CONFIG_UPDATE_INTERVAL } from "lib/timeConstants"; @@ -16,6 +17,8 @@ export type MarketsConstantsResult = { }; export function useMarketsConstantsRequest(chainId: ContractsChainId): MarketsConstantsResult { + const isAbFlagEnabled = getIsFlagEnabled("useOpenInterestInTokensForBalance"); + const { data, error } = useMulticall(chainId, "useMarketsConstants", { key: [], @@ -34,17 +37,22 @@ export function useMarketsConstantsRequest(chainId: ContractsChainId): MarketsCo }, }, parseResponse: (res) => { + const onChainValue = res.data.dataStore.useOpenInterestInTokensForBalance.returnValues[0]; return { - useOpenInterestInTokensForBalance: res.data.dataStore.useOpenInterestInTokensForBalance.returnValues[0], + useOpenInterestInTokensForBalance: onChainValue, }; }, }); return useMemo( () => ({ - data: data || undefined, + data: data + ? { + useOpenInterestInTokensForBalance: isAbFlagEnabled ? true : data.useOpenInterestInTokensForBalance, + } + : undefined, error, }), - [data, error] + [data, error, isAbFlagEnabled] ); }