Skip to main content
Glama

MCP-BAMM

by IQAIcom
token-validator.ts1.18 kB
import type { Address } from "viem"; import type { PublicClient } from "viem"; import { BAMM_ABI } from "./bamm.abi.js"; export interface TokenValidationResult { isToken0: boolean; isToken1: boolean; token0Address: Address; token1Address: Address; } export async function validateTokenAgainstBAMM( bammAddress: Address, tokenAddress: Address, publicClient: PublicClient, ): Promise<TokenValidationResult> { const token0Address: Address = await publicClient.readContract({ address: bammAddress, abi: BAMM_ABI, functionName: "token0", args: [], }); const token1Address: Address = await publicClient.readContract({ address: bammAddress, abi: BAMM_ABI, functionName: "token1", args: [], }); const normalizedToken = tokenAddress.toLowerCase(); const normalizedToken0 = token0Address.toLowerCase(); const normalizedToken1 = token1Address.toLowerCase(); const isToken0 = normalizedToken === normalizedToken0; const isToken1 = normalizedToken === normalizedToken1; if (!isToken0 && !isToken1) { throw new Error("Token does not match token0 or token1 in the BAMM"); } return { isToken0, isToken1, token0Address, token1Address, }; }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/IQAIcom/mcp-bamm'

If you have feedback or need assistance with the MCP directory API, please join our Discord server