// Generated contract addresses constants
// This file is auto-generated, do not edit manually

import { ContractAddresses } from '../types/contracts';

export const CONTRACT_ADDRESSES: ContractAddresses = {
  "base_sepolia": {
    "name": "Base Sepolia",
    "rpc": "https://sepolia.base.org",
    "chainId": 84532,
    "contracts": {
      "registry": "0x5ADFd82Adb84edCcD7e8b3d711D21E1dc08e2853",
      "accountImplementation": "0x8fF83B51484c9eBA2115fF61a42a0d22FF53537f",
      "ipnft": "0x17001aE476AF94aCd06cF708b4678602e4b7551e",
      "sampleTBA": "0xd2Cc2F9f89F1347B9AD10a3fFa6AD1587B5404F1",
      "entryPoint": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
      "videoPayment": "0x55F0d265eaFe039618C2f179667a03fA035C6e6B"
    },
    "tokens": {
      "name": "Base Sepolia ETH",
      "symbol": "ETH",
      "decimals": 18
    }
  }
} as const;

// Helper functions for accessing addresses
export function getContractAddress(
  network: string, 
  contractName: string
): string | undefined {
  return CONTRACT_ADDRESSES[network]?.contracts[contractName];
}

export function getNetworkConfig(network: string) {
  return CONTRACT_ADDRESSES[network];
}

export function getAllNetworks(): string[] {
  return Object.keys(CONTRACT_ADDRESSES);
}

export function getChainId(network: string): number | undefined {
  return CONTRACT_ADDRESSES[network]?.chainId;
}
