// GENERATED FILE - DO NOT EDIT BY HAND.
// Source: baseline/deployments.json (canonical V2 deployment inventory).
// Regenerate: python3 pr9/website/scripts/generate_website_addresses.py
// Verify:     python3 pr9/website/scripts/generate_website_addresses.py --check

export const DEPLOYMENTS_SOURCE = "baseline/deployments.json";
export const DEPLOYMENTS_SCHEMA_VERSION = "1.0.0";
export const DEPLOYMENTS_SHA256 = "db720b684e47ae8c4acc6c0bd61b23bc18b25882e95a669104f9a785976758ae";
export const DEPLOYMENTS_GENERATED_AT = "2026-08-20T23:30:00Z";

export type WebsiteChain = "base" | "avalanche" | "arbitrum" | "polygon";

export type WebsiteAddressEntry = {
  readonly name: string;
  readonly chain: WebsiteChain;
  readonly chainId: number;
  readonly address: `0x${string}`;
  readonly category: string;
  readonly protocolVersion: "v2" | "v3";
  readonly status: string;
  readonly custodiesFunds: boolean;
  readonly explorer: string;
  readonly baselineTruthLabel: string;
};

export const CHAIN_META: Readonly<Record<WebsiteChain, { readonly chainId: number; readonly explorer: string; readonly rpc: string }>> = {
  base: { chainId: 8453, explorer: "https://basescan.org", rpc: "https://mainnet.base.org" },
  avalanche: { chainId: 43114, explorer: "https://snowtrace.io", rpc: "https://api.avax.network/ext/bc/C/rpc" },
  arbitrum: { chainId: 42161, explorer: "https://arbiscan.io", rpc: "https://arb1.arbitrum.io/rpc" },
  polygon: { chainId: 137, explorer: "https://polygonscan.com", rpc: "https://polygon.drpc.org" },
} as const;

/** 36 canonical V2 deployments on base. */
export const BASE_V2_ADDRESSES: readonly WebsiteAddressEntry[] = [
  {
    name: "MissionEnforcement",
    chain: "base",
    chainId: 8453,
    address: "0xBc4208A7A59af3B7E438d3308C3dc0d299d739a7",
    category: "enforcement",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0xBc4208A7A59af3B7E438d3308C3dc0d299d739a7",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AntiSurveillance",
    chain: "base",
    chainId: 8453,
    address: "0xaaC44F1396f3F5b3C06048a1F819DC9b0f86D90c",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0xaaC44F1396f3F5b3C06048a1F819DC9b0f86D90c",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "PrivacyGuarantees",
    chain: "base",
    chainId: 8453,
    address: "0x2711AA5f1934Fe97825F02e51cB5Da58d1759625",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0x2711AA5f1934Fe97825F02e51cB5Da58d1759625",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ERC8004IdentityRegistry",
    chain: "base",
    chainId: 8453,
    address: "0xa7BD20bf5De63df949cA5Be2F20835978eCba81A",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0xa7BD20bf5De63df949cA5Be2F20835978eCba81A",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "BeliefAttestationVerifier",
    chain: "base",
    chainId: 8453,
    address: "0x32211773C8266774A704aeD471f8eF073f34bA79",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0x32211773C8266774A704aeD471f8eF073f34bA79",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AIPartnershipBondsV2",
    chain: "base",
    chainId: 8453,
    address: "0x01C479F0c039fEC40c0Cf1c5C921bab457d57441",
    category: "partnership-bond",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0x01C479F0c039fEC40c0Cf1c5C921bab457d57441",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AIAccountabilityBondsV2",
    chain: "base",
    chainId: 8453,
    address: "0x6750D28865434344e04e1D0a6044394b726C3dfE",
    category: "accountability-bond",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0x6750D28865434344e04e1D0a6044394b726C3dfE",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "FlourishingMetricsOracle",
    chain: "base",
    chainId: 8453,
    address: "0xf7B2dC73Ec69528F171F4a0ded62da557866BaA5",
    category: "oracle",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0xf7B2dC73Ec69528F171F4a0ded62da557866BaA5",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ERC8004ReputationRegistry",
    chain: "base",
    chainId: 8453,
    address: "0x98afd1440B2238D73c1394720277a6d031fCbbD0",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0x98afd1440B2238D73c1394720277a6d031fCbbD0",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ERC8004ValidationRegistry",
    chain: "base",
    chainId: 8453,
    address: "0x8D3495772EAcAdB7dC09F1784eF06F2D109fb8a5",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0x8D3495772EAcAdB7dC09F1784eF06F2D109fb8a5",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireERC8004Adapter",
    chain: "base",
    chainId: 8453,
    address: "0x8bEFe7411AecddA6E1Aea8F031fedD293Ca7372E",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0x8bEFe7411AecddA6E1Aea8F031fedD293Ca7372E",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "MultisigGovernance",
    chain: "base",
    chainId: 8453,
    address: "0x34a19C7298aCA59e185F1ecfB352AC566bB4B4A9",
    category: "governance",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0x34a19C7298aCA59e185F1ecfB352AC566bB4B4A9",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ProductionBeliefAttestationVerifier",
    chain: "base",
    chainId: 8453,
    address: "0x2a46B5932e9559176241056A04a608B8fEbCc5A7",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0x2a46B5932e9559176241056A04a608B8fEbCc5A7",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "DilithiumAttestor",
    chain: "base",
    chainId: 8453,
    address: "0xef703bBe9b21960ede3e96abBB0Bbd0c525Fe050",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0xef703bBe9b21960ede3e96abBB0Bbd0c525Fe050",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTeleporterBridge",
    chain: "base",
    chainId: 8453,
    address: "0x62edf0cBc8Fa3d98B6A07197DFE9cb1c128a7eC7",
    category: "bridge",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0x62edf0cBc8Fa3d98B6A07197DFE9cb1c128a7eC7",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTrustAttestation",
    chain: "base",
    chainId: 8453,
    address: "0xc0f8704EF84Ca58Fa0AF4836669d358574FFE1f4",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0xc0f8704EF84Ca58Fa0AF4836669d358574FFE1f4",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireNameService",
    chain: "base",
    chainId: 8453,
    address: "0xA9e6c2c0a731F1f56F6720Dfac2eB1440Ab9453a",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0xA9e6c2c0a731F1f56F6720Dfac2eB1440Ab9453a",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTaskEscrow",
    chain: "base",
    chainId: 8453,
    address: "0x70098737Cb41827b7a86397B42c166020BCcC03b",
    category: "escrow",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0x70098737Cb41827b7a86397B42c166020BCcC03b",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VKPSessionKeyManager",
    chain: "base",
    chainId: 8453,
    address: "0x18622Fd3DF3269Ef3cf53cF374eB011A36DC4Be5",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0x18622Fd3DF3269Ef3cf53cF374eB011A36DC4Be5",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VKPDelegationRegistry",
    chain: "base",
    chainId: 8453,
    address: "0xd4d32b5c28040AFA2A6aB0ae9FF6DA68EAee4F82",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0xd4d32b5c28040AFA2A6aB0ae9FF6DA68EAee4F82",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VKPFactory",
    chain: "base",
    chainId: 8453,
    address: "0x174E29E6FAdD3096387030429Eb4677eA569e625",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0x174E29E6FAdD3096387030429Eb4677eA569e625",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireReputationStaking",
    chain: "base",
    chainId: 8453,
    address: "0xd42BBfD3061A38D4B5540317A31D90212380069b",
    category: "reputation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0xd42BBfD3061A38D4B5540317A31D90212380069b",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTrustOracle",
    chain: "base",
    chainId: 8453,
    address: "0xF945aA87dB4E1d14aa7d0572501afa166374B776",
    category: "oracle",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0xF945aA87dB4E1d14aa7d0572501afa166374B776",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireBondInsurancePool",
    chain: "base",
    chainId: 8453,
    address: "0xa074e372d5221b605E9762e41B86EbdBEBF1a978",
    category: "mutual-aid",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0xa074e372d5221b605E9762e41B86EbdBEBF1a978",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireCapabilityCredentials",
    chain: "base",
    chainId: 8453,
    address: "0x4C7fddDdae8855283e98dA80BDf7aEa51A0b772B",
    category: "credential",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0x4C7fddDdae8855283e98dA80BDf7aEa51A0b772B",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireDisputeResolution",
    chain: "base",
    chainId: 8453,
    address: "0x3a681b6eF98c6d35643Ca631eE50EF35edd6BcBD",
    category: "dispute",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0x3a681b6eF98c6d35643Ca631eE50EF35edd6BcBD",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AgentInsurancePool",
    chain: "base",
    chainId: 8453,
    address: "0x4307e2A7073e09A676D4Ac8278eE2eddA702AddC",
    category: "mutual-aid",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0x4307e2A7073e09A676D4Ac8278eE2eddA702AddC",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AgentSafetyManager",
    chain: "base",
    chainId: 8453,
    address: "0x6B580f08ecA90778AC41FA1290557c86DeEfB1F5",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0x6B580f08ecA90778AC41FA1290557c86DeEfB1F5",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ComplianceRegistry",
    chain: "base",
    chainId: 8453,
    address: "0xB4e13EF703f71B2465E58c27fa47B0663ae5f699",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0xB4e13EF703f71B2465E58c27fa47B0663ae5f699",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ReputationDecay",
    chain: "base",
    chainId: 8453,
    address: "0xcDB75bECa0C56957FC79aB0dd470D4FcE2db6BC1",
    category: "reputation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0xcDB75bECa0C56957FC79aB0dd470D4FcE2db6BC1",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ScopedDelegation",
    chain: "base",
    chainId: 8453,
    address: "0x716C4f0a822f8A7F73126aEe123ACa0Db225a3DC",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0x716C4f0a822f8A7F73126aEe123ACa0Db225a3DC",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AgentSLAEnforcer",
    chain: "base",
    chainId: 8453,
    address: "0xc0b7cFF13C7C7f4DAF36A7c67da47B2Cb311335D",
    category: "enforcement",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://basescan.org/address/0xc0b7cFF13C7C7f4DAF36A7c67da47B2Cb311335D",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireStreetCred",
    chain: "base",
    chainId: 8453,
    address: "0x5CfAB4B12718549e156D3642f9C63476aC4c2f99",
    category: "reputation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0x5CfAB4B12718549e156D3642f9C63476aC4c2f99",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireBIPVault",
    chain: "base",
    chainId: 8453,
    address: "0x4f7E997C85bC1207485BaB8A0041Ca1ae0Fc9061",
    category: "vault",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0x4f7E997C85bC1207485BaB8A0041Ca1ae0Fc9061",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireBatchOnboarder",
    chain: "base",
    chainId: 8453,
    address: "0x82c6a0dd34F5cF57F8B98Ee118e911B977618890",
    category: "meta",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0x82c6a0dd34F5cF57F8B98Ee118e911B977618890",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireForumRegistry",
    chain: "base",
    chainId: 8453,
    address: "0xB6Ac5aFfF7e5934fc19b16007F26b1866B976240",
    category: "meta",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://basescan.org/address/0xB6Ac5aFfF7e5934fc19b16007F26b1866B976240",
    baselineTruthLabel: "Legacy V2",
  },
];

/** 32 canonical V2 deployments on avalanche. */
export const AVALANCHE_V2_ADDRESSES: readonly WebsiteAddressEntry[] = [
  {
    name: "MissionEnforcement",
    chain: "avalanche",
    chainId: 43114,
    address: "0xA4F4EDd4ed280Bd784650c048190fBA16e0AFd11",
    category: "enforcement",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0xA4F4EDd4ed280Bd784650c048190fBA16e0AFd11",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AntiSurveillance",
    chain: "avalanche",
    chainId: 43114,
    address: "0x7b9293B05Bd0fcb7458d06A364078761B8E8848e",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x7b9293B05Bd0fcb7458d06A364078761B8E8848e",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "PrivacyGuarantees",
    chain: "avalanche",
    chainId: 43114,
    address: "0x1a7391DD19Dadab89757E58F4Cf988455263533e",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x1a7391DD19Dadab89757E58F4Cf988455263533e",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ERC8004IdentityRegistry",
    chain: "avalanche",
    chainId: 43114,
    address: "0x7448057C95Fb8a8B974a566cdcc9Cd042166A3f8",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x7448057C95Fb8a8B974a566cdcc9Cd042166A3f8",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "BeliefAttestationVerifier",
    chain: "avalanche",
    chainId: 43114,
    address: "0x756bf61bF3948886a36D00ECB02CEDBdb3215c4C",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x756bf61bF3948886a36D00ECB02CEDBdb3215c4C",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AIPartnershipBondsV2",
    chain: "avalanche",
    chainId: 43114,
    address: "0xDC8447c66fE9D9c7D54607A98346A15324b7985D",
    category: "partnership-bond",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0xDC8447c66fE9D9c7D54607A98346A15324b7985D",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AIAccountabilityBondsV2",
    chain: "avalanche",
    chainId: 43114,
    address: "0x376831fB2457E34559891c32bEb61c442053C066",
    category: "accountability-bond",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0x376831fB2457E34559891c32bEb61c442053C066",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "FlourishingMetricsOracle",
    chain: "avalanche",
    chainId: 43114,
    address: "0x1437c4081233A4f0B6907dDf5374Ed610cBD6B25",
    category: "oracle",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x1437c4081233A4f0B6907dDf5374Ed610cBD6B25",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ERC8004ReputationRegistry",
    chain: "avalanche",
    chainId: 43114,
    address: "0x5DB1B4b412b80d03819395794fCcF5A73BF30656",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x5DB1B4b412b80d03819395794fCcF5A73BF30656",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ERC8004ValidationRegistry",
    chain: "avalanche",
    chainId: 43114,
    address: "0x44f1241F5F1A76c146d580142E54590a130410B4",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x44f1241F5F1A76c146d580142E54590a130410B4",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireERC8004Adapter",
    chain: "avalanche",
    chainId: 43114,
    address: "0x69D3458aba750Fa85d4a25b3A23B398A3D9494fe",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0x69D3458aba750Fa85d4a25b3A23B398A3D9494fe",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "MultisigGovernance",
    chain: "avalanche",
    chainId: 43114,
    address: "0x3ceA2B0853B76Ac75603C1fa2A29D96A4467Bb79",
    category: "governance",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x3ceA2B0853B76Ac75603C1fa2A29D96A4467Bb79",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ProductionBeliefAttestationVerifier",
    chain: "avalanche",
    chainId: 43114,
    address: "0xFa8ed66E27379942cB90BB5f612F0170a5dE4924",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0xFa8ed66E27379942cB90BB5f612F0170a5dE4924",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "DilithiumAttestor",
    chain: "avalanche",
    chainId: 43114,
    address: "0x9CF1fcba0c657e9FD807a9c8c028E0ef561b6B56",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x9CF1fcba0c657e9FD807a9c8c028E0ef561b6B56",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTeleporterBridge",
    chain: "avalanche",
    chainId: 43114,
    address: "0x1762e484A48558Ea5Cd056ac2CDf43FBbA52ba58",
    category: "bridge",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0x1762e484A48558Ea5Cd056ac2CDf43FBbA52ba58",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTrustAttestation",
    chain: "avalanche",
    chainId: 43114,
    address: "0x5F7680a9a720c03812532A735D1165D9f97c0Cd1",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0x5F7680a9a720c03812532A735D1165D9f97c0Cd1",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTaskEscrow",
    chain: "avalanche",
    chainId: 43114,
    address: "0xa7BD20bf5De63df949cA5Be2F20835978eCba81A",
    category: "escrow",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0xa7BD20bf5De63df949cA5Be2F20835978eCba81A",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VKPSessionKeyManager",
    chain: "avalanche",
    chainId: 43114,
    address: "0xE02F5029fcDd6c51e957eb3895bd5805126A5Cdc",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0xE02F5029fcDd6c51e957eb3895bd5805126A5Cdc",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VKPDelegationRegistry",
    chain: "avalanche",
    chainId: 43114,
    address: "0x3f385774dba7d067cda7E5190a659029BF8219dB",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x3f385774dba7d067cda7E5190a659029BF8219dB",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VKPFactory",
    chain: "avalanche",
    chainId: 43114,
    address: "0x12f3e926122DB6A9A65740b90981c947EF18aC40",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x12f3e926122DB6A9A65740b90981c947EF18aC40",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireReputationStaking",
    chain: "avalanche",
    chainId: 43114,
    address: "0x32211773C8266774A704aeD471f8eF073f34bA79",
    category: "reputation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0x32211773C8266774A704aeD471f8eF073f34bA79",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTrustOracle",
    chain: "avalanche",
    chainId: 43114,
    address: "0x01C479F0c039fEC40c0Cf1c5C921bab457d57441",
    category: "oracle",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0x01C479F0c039fEC40c0Cf1c5C921bab457d57441",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireBondInsurancePool",
    chain: "avalanche",
    chainId: 43114,
    address: "0xf7B2dC73Ec69528F171F4a0ded62da557866BaA5",
    category: "mutual-aid",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0xf7B2dC73Ec69528F171F4a0ded62da557866BaA5",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireCapabilityCredentials",
    chain: "avalanche",
    chainId: 43114,
    address: "0x6750D28865434344e04e1D0a6044394b726C3dfE",
    category: "credential",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0x6750D28865434344e04e1D0a6044394b726C3dfE",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireDisputeResolution",
    chain: "avalanche",
    chainId: 43114,
    address: "0x98afd1440B2238D73c1394720277a6d031fCbbD0",
    category: "dispute",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0x98afd1440B2238D73c1394720277a6d031fCbbD0",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AgentInsurancePool",
    chain: "avalanche",
    chainId: 43114,
    address: "0x797906c58d546fA776eA05348CCaF3D153FC2Ccd",
    category: "mutual-aid",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0x797906c58d546fA776eA05348CCaF3D153FC2Ccd",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AgentSafetyManager",
    chain: "avalanche",
    chainId: 43114,
    address: "0xC46d9d20727060E563392A1F4DB00a3877807cb7",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0xC46d9d20727060E563392A1F4DB00a3877807cb7",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ComplianceRegistry",
    chain: "avalanche",
    chainId: 43114,
    address: "0x4fE18EB12F72f9e6d5752d74A13635203812f779",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x4fE18EB12F72f9e6d5752d74A13635203812f779",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ReputationDecay",
    chain: "avalanche",
    chainId: 43114,
    address: "0xB622D2b555E6DEF9652108a61Ca8A00aA50f1D9F",
    category: "reputation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0xB622D2b555E6DEF9652108a61Ca8A00aA50f1D9F",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ScopedDelegation",
    chain: "avalanche",
    chainId: 43114,
    address: "0xD8A8c9604Af2Be2573c3a3102D5094654Da55971",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0xD8A8c9604Af2Be2573c3a3102D5094654Da55971",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AgentSLAEnforcer",
    chain: "avalanche",
    chainId: 43114,
    address: "0x6463434322B05bEb806F60161d5023529288aFF9",
    category: "enforcement",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://snowtrace.io/address/0x6463434322B05bEb806F60161d5023529288aFF9",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireForumRegistry",
    chain: "avalanche",
    chainId: 43114,
    address: "0x80f64F6dcdB7aceAfA6762Cd33b14abfF32BcA27",
    category: "meta",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://snowtrace.io/address/0x80f64F6dcdB7aceAfA6762Cd33b14abfF32BcA27",
    baselineTruthLabel: "Legacy V2",
  },
];

/** 33 canonical V2 deployments on arbitrum. */
export const ARBITRUM_V2_ADDRESSES: readonly WebsiteAddressEntry[] = [
  {
    name: "MissionEnforcement",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x35978DB675576598F0781dA2133E94cdCf4858bC",
    category: "enforcement",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0x35978DB675576598F0781dA2133E94cdCf4858bC",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AntiSurveillance",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xD9bF6D92a1D9ee44a48c38481c046a819CBdf2ba",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0xD9bF6D92a1D9ee44a48c38481c046a819CBdf2ba",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "PrivacyGuarantees",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xC574CF2a09B0B470933f0c6a3ef422e3fb25b4b4",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0xC574CF2a09B0B470933f0c6a3ef422e3fb25b4b4",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ERC8004IdentityRegistry",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x83dd216449B3F0574E39043ECFE275946fa492e9",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0x83dd216449B3F0574E39043ECFE275946fa492e9",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "BeliefAttestationVerifier",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xf92baef9523BC264144F80F9c31D5c5C017c6Da8",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0xf92baef9523BC264144F80F9c31D5c5C017c6Da8",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AIPartnershipBondsV2",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xdB54B8925664816187646174bdBb6Ac658A55a5F",
    category: "partnership-bond",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0xdB54B8925664816187646174bdBb6Ac658A55a5F",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AIAccountabilityBondsV2",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xef3A944f4d7bb376699C83A29d7Cb42C90D9B6F0",
    category: "accountability-bond",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0xef3A944f4d7bb376699C83A29d7Cb42C90D9B6F0",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "FlourishingMetricsOracle",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x54e00081978eE2C8d9Ada8e9975B0Bb543D06A55",
    category: "oracle",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0x54e00081978eE2C8d9Ada8e9975B0Bb543D06A55",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ERC8004ReputationRegistry",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x8B8Ba34F8AAB800F0Ba8391fb1388c6EFb911F92",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0x8B8Ba34F8AAB800F0Ba8391fb1388c6EFb911F92",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ERC8004ValidationRegistry",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xa5CEC47B48999EB398707838E3A18dd20A1ae272",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0xa5CEC47B48999EB398707838E3A18dd20A1ae272",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireERC8004Adapter",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xBBC0EFdEE23854e7cb7C4c0f56fF7670BB0530A4",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0xBBC0EFdEE23854e7cb7C4c0f56fF7670BB0530A4",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "MultisigGovernance",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x94F54c849692Cc64C35468D0A87D2Ab9D7Cb6Fb2",
    category: "governance",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0x94F54c849692Cc64C35468D0A87D2Ab9D7Cb6Fb2",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ProductionBeliefAttestationVerifier",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xf757f8650109cE7a89dd8f041DE69D861B64DD23",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0xf757f8650109cE7a89dd8f041DE69D861B64DD23",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "DilithiumAttestor",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xA4F4EDd4ed280Bd784650c048190fBA16e0AFd11",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0xA4F4EDd4ed280Bd784650c048190fBA16e0AFd11",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTeleporterBridge",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x7b9293B05Bd0fcb7458d06A364078761B8E8848e",
    category: "bridge",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0x7b9293B05Bd0fcb7458d06A364078761B8E8848e",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTrustAttestation",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x1a7391DD19Dadab89757E58F4Cf988455263533e",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0x1a7391DD19Dadab89757E58F4Cf988455263533e",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireNameService",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x7448057C95Fb8a8B974a566cdcc9Cd042166A3f8",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0x7448057C95Fb8a8B974a566cdcc9Cd042166A3f8",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTaskEscrow",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x5F7680a9a720c03812532A735D1165D9f97c0Cd1",
    category: "escrow",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0x5F7680a9a720c03812532A735D1165D9f97c0Cd1",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VKPSessionKeyManager",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x796d903923a0f4264E5B4dB46013cB186Fc610E2",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0x796d903923a0f4264E5B4dB46013cB186Fc610E2",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VKPDelegationRegistry",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xA505996f4A1291DD7a6981Ab825E35418b2711de",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0xA505996f4A1291DD7a6981Ab825E35418b2711de",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VKPFactory",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x65adEd8CCAe58FD3fAd6a84BDA323C78d9eD4269",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0x65adEd8CCAe58FD3fAd6a84BDA323C78d9eD4269",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireReputationStaking",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x9d4AbeAa8201e6f1649c296dd179Bbb3c401f96F",
    category: "reputation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0x9d4AbeAa8201e6f1649c296dd179Bbb3c401f96F",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTrustOracle",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xFeF83A66fC1f3c8311070FDd502cd90deD0B3C33",
    category: "oracle",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0xFeF83A66fC1f3c8311070FDd502cd90deD0B3C33",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireBondInsurancePool",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xAca6fe18917a985F6741FB986461B976e2A0a5DB",
    category: "mutual-aid",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0xAca6fe18917a985F6741FB986461B976e2A0a5DB",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireCapabilityCredentials",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x472dF1dD6D8218D0BF748e910E32861dAb88EDA6",
    category: "credential",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0x472dF1dD6D8218D0BF748e910E32861dAb88EDA6",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireDisputeResolution",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x152a0446958f48EB3F1f5126FAF418D663359e95",
    category: "dispute",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0x152a0446958f48EB3F1f5126FAF418D663359e95",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AgentInsurancePool",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x7E0297CDaDcA840388622Bced7A1a7B262deBa4f",
    category: "mutual-aid",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0x7E0297CDaDcA840388622Bced7A1a7B262deBa4f",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AgentSafetyManager",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xa2bE41F6fA82dE27fbB7838A0308d05741C1e9c8",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0xa2bE41F6fA82dE27fbB7838A0308d05741C1e9c8",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ComplianceRegistry",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x6f038c99547e81FCD844D82ee7d6C5A2EF8584Dd",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0x6f038c99547e81FCD844D82ee7d6C5A2EF8584Dd",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ReputationDecay",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x70098737Cb41827b7a86397B42c166020BCcC03b",
    category: "reputation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0x70098737Cb41827b7a86397B42c166020BCcC03b",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ScopedDelegation",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xd42BBfD3061A38D4B5540317A31D90212380069b",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0xd42BBfD3061A38D4B5540317A31D90212380069b",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AgentSLAEnforcer",
    chain: "arbitrum",
    chainId: 42161,
    address: "0xF945aA87dB4E1d14aa7d0572501afa166374B776",
    category: "enforcement",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://arbiscan.io/address/0xF945aA87dB4E1d14aa7d0572501afa166374B776",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireForumRegistry",
    chain: "arbitrum",
    chainId: 42161,
    address: "0x87404357B9D978E4754c542f54E6724E0cda846e",
    category: "meta",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://arbiscan.io/address/0x87404357B9D978E4754c542f54E6724E0cda846e",
    baselineTruthLabel: "Legacy V2",
  },
];

/** 33 canonical V2 deployments on polygon. */
export const POLYGON_V2_ADDRESSES: readonly WebsiteAddressEntry[] = [
  {
    name: "MissionEnforcement",
    chain: "polygon",
    chainId: 137,
    address: "0x722E37A7D6f27896C688336AaaFb0dDA80D25E57",
    category: "enforcement",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0x722E37A7D6f27896C688336AaaFb0dDA80D25E57",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AntiSurveillance",
    chain: "polygon",
    chainId: 137,
    address: "0xE2f75A4B14ffFc1f9C2b1ca22Fdd6877E5BD5045",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0xE2f75A4B14ffFc1f9C2b1ca22Fdd6877E5BD5045",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "PrivacyGuarantees",
    chain: "polygon",
    chainId: 137,
    address: "0x35978DB675576598F0781dA2133E94cdCf4858bC",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0x35978DB675576598F0781dA2133E94cdCf4858bC",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ERC8004IdentityRegistry",
    chain: "polygon",
    chainId: 137,
    address: "0xD9bF6D92a1D9ee44a48c38481c046a819CBdf2ba",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0xD9bF6D92a1D9ee44a48c38481c046a819CBdf2ba",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "BeliefAttestationVerifier",
    chain: "polygon",
    chainId: 137,
    address: "0xC574CF2a09B0B470933f0c6a3ef422e3fb25b4b4",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0xC574CF2a09B0B470933f0c6a3ef422e3fb25b4b4",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AIPartnershipBondsV2",
    chain: "polygon",
    chainId: 137,
    address: "0x83dd216449B3F0574E39043ECFE275946fa492e9",
    category: "partnership-bond",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x83dd216449B3F0574E39043ECFE275946fa492e9",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AIAccountabilityBondsV2",
    chain: "polygon",
    chainId: 137,
    address: "0xdB54B8925664816187646174bdBb6Ac658A55a5F",
    category: "accountability-bond",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0xdB54B8925664816187646174bdBb6Ac658A55a5F",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "FlourishingMetricsOracle",
    chain: "polygon",
    chainId: 137,
    address: "0xf92baef9523BC264144F80F9c31D5c5C017c6Da8",
    category: "oracle",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0xf92baef9523BC264144F80F9c31D5c5C017c6Da8",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ERC8004ReputationRegistry",
    chain: "polygon",
    chainId: 137,
    address: "0x54e00081978eE2C8d9Ada8e9975B0Bb543D06A55",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0x54e00081978eE2C8d9Ada8e9975B0Bb543D06A55",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ERC8004ValidationRegistry",
    chain: "polygon",
    chainId: 137,
    address: "0xBBC0EFdEE23854e7cb7C4c0f56fF7670BB0530A4",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0xBBC0EFdEE23854e7cb7C4c0f56fF7670BB0530A4",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireERC8004Adapter",
    chain: "polygon",
    chainId: 137,
    address: "0x94F54c849692Cc64C35468D0A87D2Ab9D7Cb6Fb2",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x94F54c849692Cc64C35468D0A87D2Ab9D7Cb6Fb2",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "MultisigGovernance",
    chain: "polygon",
    chainId: 137,
    address: "0x5DB1B4b412b80d03819395794fCcF5A73BF30656",
    category: "governance",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0x5DB1B4b412b80d03819395794fCcF5A73BF30656",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ProductionBeliefAttestationVerifier",
    chain: "polygon",
    chainId: 137,
    address: "0xf757f8650109cE7a89dd8f041DE69D861B64DD23",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0xf757f8650109cE7a89dd8f041DE69D861B64DD23",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "DilithiumAttestor",
    chain: "polygon",
    chainId: 137,
    address: "0xA4F4EDd4ed280Bd784650c048190fBA16e0AFd11",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0xA4F4EDd4ed280Bd784650c048190fBA16e0AFd11",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTeleporterBridge",
    chain: "polygon",
    chainId: 137,
    address: "0x7b9293B05Bd0fcb7458d06A364078761B8E8848e",
    category: "bridge",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x7b9293B05Bd0fcb7458d06A364078761B8E8848e",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTrustAttestation",
    chain: "polygon",
    chainId: 137,
    address: "0x1a7391DD19Dadab89757E58F4Cf988455263533e",
    category: "attestation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x1a7391DD19Dadab89757E58F4Cf988455263533e",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireNameService",
    chain: "polygon",
    chainId: 137,
    address: "0x7448057C95Fb8a8B974a566cdcc9Cd042166A3f8",
    category: "identity",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x7448057C95Fb8a8B974a566cdcc9Cd042166A3f8",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTaskEscrow",
    chain: "polygon",
    chainId: 137,
    address: "0x69D3458aba750Fa85d4a25b3A23B398A3D9494fe",
    category: "escrow",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x69D3458aba750Fa85d4a25b3A23B398A3D9494fe",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VKPSessionKeyManager",
    chain: "polygon",
    chainId: 137,
    address: "0x4A614DB779e38B47952DCCc2e88F0A6afb35c419",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0x4A614DB779e38B47952DCCc2e88F0A6afb35c419",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VKPDelegationRegistry",
    chain: "polygon",
    chainId: 137,
    address: "0x064d7e8a3A24909ef83d537dBA10Dfcd3D44912C",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0x064d7e8a3A24909ef83d537dBA10Dfcd3D44912C",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VKPFactory",
    chain: "polygon",
    chainId: 137,
    address: "0x1d7eDE881093748B0a6feBc47cA9D681C19d8333",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0x1d7eDE881093748B0a6feBc47cA9D681C19d8333",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireReputationStaking",
    chain: "polygon",
    chainId: 137,
    address: "0x3ceA2B0853B76Ac75603C1fa2A29D96A4467Bb79",
    category: "reputation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x3ceA2B0853B76Ac75603C1fa2A29D96A4467Bb79",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireTrustOracle",
    chain: "polygon",
    chainId: 137,
    address: "0xFa8ed66E27379942cB90BB5f612F0170a5dE4924",
    category: "oracle",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0xFa8ed66E27379942cB90BB5f612F0170a5dE4924",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireBondInsurancePool",
    chain: "polygon",
    chainId: 137,
    address: "0x9CF1fcba0c657e9FD807a9c8c028E0ef561b6B56",
    category: "mutual-aid",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x9CF1fcba0c657e9FD807a9c8c028E0ef561b6B56",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireCapabilityCredentials",
    chain: "polygon",
    chainId: 137,
    address: "0x1762e484A48558Ea5Cd056ac2CDf43FBbA52ba58",
    category: "credential",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x1762e484A48558Ea5Cd056ac2CDf43FBbA52ba58",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireDisputeResolution",
    chain: "polygon",
    chainId: 137,
    address: "0x5F7680a9a720c03812532A735D1165D9f97c0Cd1",
    category: "dispute",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x5F7680a9a720c03812532A735D1165D9f97c0Cd1",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AgentInsurancePool",
    chain: "polygon",
    chainId: 137,
    address: "0x5eAac9045C29650e72Bd5C923954fA528fD26952",
    category: "mutual-aid",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x5eAac9045C29650e72Bd5C923954fA528fD26952",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AgentSafetyManager",
    chain: "polygon",
    chainId: 137,
    address: "0xCA5380aF3dd6a29C217cE0c0c9f45999B47cbdF3",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0xCA5380aF3dd6a29C217cE0c0c9f45999B47cbdF3",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ComplianceRegistry",
    chain: "polygon",
    chainId: 137,
    address: "0x2DF3182EcD93AA33Deba464B5E6Bd616432DA42e",
    category: "policy",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0x2DF3182EcD93AA33Deba464B5E6Bd616432DA42e",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ReputationDecay",
    chain: "polygon",
    chainId: 137,
    address: "0x12f3e926122DB6A9A65740b90981c947EF18aC40",
    category: "reputation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x12f3e926122DB6A9A65740b90981c947EF18aC40",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "ScopedDelegation",
    chain: "polygon",
    chainId: 137,
    address: "0xE02F5029fcDd6c51e957eb3895bd5805126A5Cdc",
    category: "delegation",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0xE02F5029fcDd6c51e957eb3895bd5805126A5Cdc",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "AgentSLAEnforcer",
    chain: "polygon",
    chainId: 137,
    address: "0x3f385774dba7d067cda7E5190a659029BF8219dB",
    category: "enforcement",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: false,
    explorer: "https://polygonscan.com/address/0x3f385774dba7d067cda7E5190a659029BF8219dB",
    baselineTruthLabel: "Legacy V2",
  },
  {
    name: "VaultfireForumRegistry",
    chain: "polygon",
    chainId: 137,
    address: "0x80f64F6dcdB7aceAfA6762Cd33b14abfF32BcA27",
    category: "meta",
    protocolVersion: "v2",
    status: "active",
    custodiesFunds: true,
    explorer: "https://polygonscan.com/address/0x80f64F6dcdB7aceAfA6762Cd33b14abfF32BcA27",
    baselineTruthLabel: "Legacy V2",
  },
];

export const V2_ADDRESSES: readonly WebsiteAddressEntry[] = [
  ...BASE_V2_ADDRESSES,
  ...AVALANCHE_V2_ADDRESSES,
  ...ARBITRUM_V2_ADDRESSES,
  ...POLYGON_V2_ADDRESSES,
];

/**
 * No V3 deployment is recorded in the canonical inventory yet. This stays empty
 * until verified V3 addresses land in baseline/deployments.json, which is what
 * makes every V3 money-moving gate fail closed today.
 */
export const V3_ADDRESSES: readonly WebsiteAddressEntry[] = [];

function key(name: string, chain: WebsiteChain): string {
  return `${chain}:${name}`;
}

export const V2_ADDRESS_INDEX: ReadonlyMap<string, WebsiteAddressEntry> = new Map(
  V2_ADDRESSES.map((entry) => [key(entry.name, entry.chain), entry]),
);

export const V3_ADDRESS_INDEX: ReadonlyMap<string, WebsiteAddressEntry> = new Map(
  V3_ADDRESSES.map((entry) => [key(entry.name, entry.chain), entry]),
);

/** Returns null rather than throwing so callers can fail closed explicitly. */
export function findDeployment(
  name: string,
  chain: WebsiteChain,
  protocolVersion: "v2" | "v3",
): WebsiteAddressEntry | null {
  const index = protocolVersion === "v3" ? V3_ADDRESS_INDEX : V2_ADDRESS_INDEX;
  return index.get(key(name, chain)) ?? null;
}
