{
  "status": "passed-local-and-read-only-fork",
  "contract": "BotblockGenesis",
  "sourceHash": "0x144f94f26f4e7e45283875080cd1117ba5249494aac36a7d2a6e0aac4f562321",
  "runtimeBytes": 10181,
  "publicChainTransactions": 0,
  "realBNBSpent": "0",
  "deploymentStatus": "not-deployed",
  "independentSecurityAudit": false,
  "mainnetRegistryProvenanceVerified": false,
  "liveVRFDeliveryTested": false,
  "officialWalletApprovalTested": false,
  "productionMetadataCommitted": false,
  "localContractTests": {
    "scope": "Local Ganache simulation only; no public RPC, testnet deployment or real wallet transactions.",
    "productionContract": "BotblockGenesis",
    "chainId": 1337,
    "sourceHash": "0x144f94f26f4e7e45283875080cd1117ba5249494aac36a7d2a6e0aac4f562321",
    "testSourceHash": "0x6a0152894ffc5c43a30fed51c583aee59c9e28673a5065fdc6faeb5eb24eec29",
    "randomnessMock": "@chainlink/contracts@1.5.0 VRFCoordinatorV2_5Mock",
    "malformedCallbackHelper": "Derived official mock adds unknown-ID, empty-word and duplicate delivery only.",
    "catalog": {
      "manifestHash": "0x97c76cc858ac5a119aee54a99b4ab06495ccda7f8e1398ab54588d20ff19e997",
      "metadataSlots": 4096,
      "status": "Preview catalog, not production content-addressed metadata"
    },
    "scenarios": [
      {
        "name": "Canonical preview catalog has 4096 consecutive slots and exact authored rarity quotas",
        "status": "passed",
        "durationMs": 1
      },
      {
        "name": "Immutable deployment configuration, no owner reroll or coordinator migration surface",
        "status": "passed",
        "durationMs": 1021
      },
      {
        "name": "Constructor rejects invalid registries, coordinator, commitment, URI, timing and VRF bounds",
        "status": "passed",
        "durationMs": 3869,
        "detail": {
          "rejectedConfigurations": 14
        }
      },
      {
        "name": "Only .ai-eligible wallets mint; exact price and one mint per wallet",
        "status": "passed",
        "durationMs": 1570
      },
      {
        "name": "Transfers preserve original minter and cannot reset the wallet mint allowance",
        "status": "passed",
        "durationMs": 507
      },
      {
        "name": "Unsafe ERC721 receiver rejection rolls back ownership, supply, balance and mint allowance",
        "status": "passed",
        "durationMs": 785
      },
      {
        "name": "ERC721 callback reentrancy cannot mint a second NFT",
        "status": "passed",
        "durationMs": 774
      },
      {
        "name": "Anyone can withdraw only to the fixed treasury",
        "status": "passed",
        "durationMs": 237
      },
      {
        "name": "Unrevealed metadata is honest JSON and assigned metadata is inaccessible before reveal",
        "status": "passed",
        "durationMs": 30
      },
      {
        "name": "Sale opens at the immutable start, closes at deadline, and empty sales cannot request reveal",
        "status": "passed",
        "durationMs": 1523
      },
      {
        "name": "Reveal requires closed nonempty sale; only one official Chainlink request is accepted",
        "status": "passed",
        "durationMs": 757
      },
      {
        "name": "Unauthorized, unknown-ID and empty callbacks cannot reveal; zero is a valid official VRF seed",
        "status": "passed",
        "durationMs": 2049
      },
      {
        "name": "Synchronous ID-zero and returned-ID callbacks are ignored until request storage is armed",
        "status": "passed",
        "durationMs": 3849
      },
      {
        "name": "Rejected coordinator requests roll back state and permit one successful retry",
        "status": "passed",
        "durationMs": 2557
      },
      {
        "name": "Independent Feistel vectors, full-domain permutations, boundaries and random seeds match Solidity",
        "status": "passed",
        "durationMs": 12337
      },
      {
        "name": "4096 actual unique local-wallet mints sell out, enforce cap and unlock reveal before deadline",
        "status": "passed",
        "durationMs": 26141
      }
    ],
    "permutation": {
      "algorithm": "8-round balanced Feistel on 12-bit domain; abi.encode(domain, round, seed, right)",
      "fullDomains": [
        {
          "seed": "0",
          "idsCompared": 4096,
          "uniqueOutputs": 4096,
          "exactRarityQuotas": true
        },
        {
          "seed": "1",
          "idsCompared": 4096,
          "uniqueOutputs": 4096,
          "exactRarityQuotas": true
        },
        {
          "seed": "115792089237316195423570985008687907853269984665640564039457584007913129639935",
          "idsCompared": 4096,
          "uniqueOutputs": 4096,
          "exactRarityQuotas": true
        }
      ],
      "fullDomainComparisons": 12288,
      "additionalSeedComparisons": 96,
      "additionalSeeds": [
        "185053452",
        "37992918046230918961280658807272883239536753390383127927333094458482653124337",
        "57896044618658097711785492504343953926634992332820282019728792003956564819968"
      ],
      "totalContractOutputsCompared": 12384,
      "canonicalRarityQuotas": {
        "common": 2048,
        "uncommon": 1024,
        "rare": 640,
        "epic": 256,
        "legendary": 128
      },
      "partial64Example": {
        "common": 33,
        "uncommon": 10,
        "rare": 12,
        "epic": 7,
        "legendary": 2
      },
      "partialSupplyCaveat": "A partial minted subset is a random subset of the full catalog; full-collection rarity quotas are not guaranteed within it."
    },
    "actualMints": {
      "fullSupplyFixture": 4096,
      "uniqueConstructorWallets": 4096,
      "batchTransactions": 32,
      "otherFixtureMints": 5,
      "note": "4096 successful public mint() calls from distinct locally created constructor-wallet addresses. Registry mock marks these eligible; this does not verify production Agent ID issuance."
    },
    "startedAt": "2026-10-28T22:23:17.625Z",
    "contractRuntimeBytes": 10181,
    "contractRuntimeTemplateHash": "0x60ecf966080ab0f74ec61b0192cf875574b6f45070af218ae34bc91f99cd5fa2",
    "status": "passed",
    "finishedAt": "2026-10-28T22:24:18.836Z",
    "scenarioCount": 16,
    "passedScenarios": 16
  },
  "agentPreflight": {
    "status": "passed",
    "nodeTestCases": 9,
    "scope": "Mocked read-only RPC, metadata hashes and quota validation; zero broadcast methods"
  },
  "frontendRegression": {
    "status": "passed",
    "nodeTestCases": 11
  },
  "catalog": {
    "status": "preview-not-for-production",
    "hashConvention": "keccak256 of exact UTF-8 bytes of catalog-preview.json, compact JSON with no trailing newline",
    "manifestHash": "0x97c76cc858ac5a119aee54a99b4ab06495ccda7f8e1398ab54588d20ff19e997",
    "sha256": "0c195db72a477c29f182bd96fe100e91f8bd510ab91692d9158188abfcd2eb83",
    "bytes": 2398085,
    "maxSupply": 4096,
    "counts": {
      "uncommon": 1024,
      "rare": 640,
      "legendary": 128,
      "common": 2048,
      "epic": 256
    },
    "artworkCount": 5,
    "imageBaseURI": "http://127.0.0.1:8787/assets/rarity-v5/",
    "finalMetadataCommitted": false,
    "productionContentAddressingVerified": false
  },
  "fork": {
    "scope": "Mainnet state copied into an isolated in-process local EVM. Upstream method allowlist permits reads only.",
    "status": "passed",
    "publicChainTransactions": 0,
    "realWalletKeysUsed": false,
    "realVRFDeliveryTested": false,
    "registryProvenanceVerified": false,
    "positiveIdentityCase": "explicit locally deployed registry mock; not a claim about a real .ai holder",
    "checks": [
      "Forked registry bytecode matches the pinned BSC snapshot",
      "Actual registry balanceOf rejects the fresh local wallet as unqualified",
      "Genesis mint rejects that wallet using the copied real registry",
      "Genesis mints and owns one NFT on the local fork with explicitly mocked eligibility"
    ],
    "snapshotBlock": 130360814,
    "registryCodeHash": "0xc4006e6e6ffaaf6996116617392beabe4f5f0a0795841322f91c2ceac34d6ace",
    "contractSourceHash": "0x144f94f26f4e7e45283875080cd1117ba5249494aac36a7d2a6e0aac4f562321",
    "contractRuntimeBytes": 10181,
    "localMints": 1,
    "upstreamMethods": {
      "eth_chainId": 2,
      "eth_blockNumber": 2,
      "eth_getCode": 7,
      "eth_getBlockByNumber": 2,
      "net_version": 1,
      "eth_getTransactionCount": 9,
      "eth_getBalance": 6,
      "eth_getStorageAt": 23
    },
    "blockedUpstreamMethods": [],
    "finishedAt": "2026-10-28T22:25:17.978Z"
  },
  "remainingProductionInputs": [
    "Verified public content-addressed images and metadata",
    "Production manifest hash and URI",
    "Treasury, price, opening and closing times",
    "Verified registry and VRF coordinator/key/subscription/funding",
    "Matching deployed runtime, public skill/config and Genesis indexer"
  ]
}
