UNPKG

@abstract-foundation/agw-client

Version:
28 lines (24 loc) 812 B
import type { Address, PublicClient, Transport } from 'viem'; import type { ChainEIP712 } from 'viem/chains'; import { FeatureFlagRegistryAbi } from './abis/FeatureFlagRegistryAbi.js'; import { FEATURE_FLAG_REGISTRY_ADDRESS } from './constants.js'; export async function isFeatureFlagEnabled( client: PublicClient<Transport, ChainEIP712>, account: Address, featureFlag: string, ) { try { const enabled = await client.readContract({ address: FEATURE_FLAG_REGISTRY_ADDRESS, abi: FeatureFlagRegistryAbi, functionName: 'isFeatureFlagEnabled', args: [featureFlag, account], }); return enabled; } catch (error) { // if flag status can not be determined, default to disabled to // ensure the flow is not blocked console.error(error); return false; } }