{
  "schema": "verifyhash/build-provenance@1",
  "description": "Maps each published verifyhash standalone bundle's sha256 to the ordered, individually-hashed in-tree source files it inlines. Reproduce + attest the whole chain offline with: node verifier/build-standalone.js --check",
  "targets": {
    "verify": {
      "bundle": "verify-vh-standalone.js",
      "sidecar": "verify-vh-standalone.js.sha256",
      "bundleBytes": 278235,
      "bundleSha256": "699485793b6fb0e79281993e1c06e78ff331d26407796e871028200d29663b4f",
      "sidecarLine": "699485793b6fb0e79281993e1c06e78ff331d26407796e871028200d29663b4f  verify-vh-standalone.js",
      "modules": [
        {
          "id": "keccak256-vendored",
          "synthetic": false,
          "sourceFile": "verifier/lib/keccak256-vendored.js",
          "sourceSha256": "4f5f2dda618a5889ab5b3f8498dc64ddeacdd22b57349d97824f60960ee334a1",
          "inlinedSha256": "4f5f2dda618a5889ab5b3f8498dc64ddeacdd22b57349d97824f60960ee334a1",
          "entry": false
        },
        {
          "id": "keccak",
          "synthetic": true,
          "sourceFile": null,
          "sourceSha256": null,
          "inlinedSha256": "7ead489c805c4e62e8338dbcfde77a85ca52076e2a3639e2ba57ce3b2415828e",
          "note": "swapped body (keccak provider shim) — defined in build-standalone.js, not a source file"
        },
        {
          "id": "merkle",
          "synthetic": false,
          "sourceFile": "verifier/lib/merkle.js",
          "sourceSha256": "1bea7bab4b479962225279f4590c5524fad5295c7c70cf01d4978dbf9f37f34b",
          "inlinedSha256": "e65be5614998f9a00ca9b58a6c79b05abe7f70ed2e0dad61ece07a41ee5da876",
          "entry": false
        },
        {
          "id": "canonical",
          "synthetic": false,
          "sourceFile": "verifier/lib/canonical.js",
          "sourceSha256": "edc190dcabd2b34b33c54240fc951141de13d2c7d2759184cacb160dfdf3e764",
          "inlinedSha256": "edc190dcabd2b34b33c54240fc951141de13d2c7d2759184cacb160dfdf3e764",
          "entry": false
        },
        {
          "id": "secp256k1-recover",
          "synthetic": false,
          "sourceFile": "verifier/lib/secp256k1-recover.js",
          "sourceSha256": "34bb39eed0afc5f55241419ba827404bf767fa5dde1363dba5ad9c419cf91dab",
          "inlinedSha256": "c8bab43d54b01dd7e55aeae6bc6d27986b868cbc7ebc1b1279dc70f032dbc122",
          "entry": false
        },
        {
          "id": "revocation-core",
          "synthetic": false,
          "sourceFile": "verifier/lib/revocation-core.js",
          "sourceSha256": "99377291d5455b7a01a3eca313cd1289f6df8ce76a37bcb0aacc68ebe70601b1",
          "inlinedSha256": "6a426132b56560771fc187caaeee308cd4aaaf87b211aff87dff04cbc622bd2e",
          "entry": false
        },
        {
          "id": "revocation",
          "synthetic": false,
          "sourceFile": "verifier/lib/revocation.js",
          "sourceSha256": "538b09ca210e47b51319b89fc681229ee16873425f2635855dc0d6f0dc57374f",
          "inlinedSha256": "ba7ae1d7600289d7584e998f02fffb82eaa03dfb55e2e2373bda374144ce9d44",
          "entry": false
        },
        {
          "id": "verify-vh",
          "synthetic": false,
          "sourceFile": "verifier/verify-vh.js",
          "sourceSha256": "05d5c51292a38f1e751fda81e5edf3c9b268df4137f74ac86f3411205c3a1549",
          "inlinedSha256": "2fec41fe8d1a359e935d9dff914d6e525c9007903c097b7d553ff048f4be8316",
          "entry": true
        }
      ]
    },
    "seal": {
      "bundle": "seal-vh-standalone.js",
      "sidecar": "seal-vh-standalone.js.sha256",
      "bundleBytes": 39477,
      "bundleSha256": "6e61e8638464475870e12760f326d30c7eefb5858ad1bccd2fdcd721b1b8a0c6",
      "sidecarLine": "6e61e8638464475870e12760f326d30c7eefb5858ad1bccd2fdcd721b1b8a0c6  seal-vh-standalone.js",
      "modules": [
        {
          "id": "keccak256-vendored",
          "synthetic": false,
          "sourceFile": "verifier/lib/keccak256-vendored.js",
          "sourceSha256": "4f5f2dda618a5889ab5b3f8498dc64ddeacdd22b57349d97824f60960ee334a1",
          "inlinedSha256": "4f5f2dda618a5889ab5b3f8498dc64ddeacdd22b57349d97824f60960ee334a1",
          "entry": false
        },
        {
          "id": "keccak",
          "synthetic": true,
          "sourceFile": null,
          "sourceSha256": null,
          "inlinedSha256": "7ead489c805c4e62e8338dbcfde77a85ca52076e2a3639e2ba57ce3b2415828e",
          "note": "swapped body (keccak provider shim) — defined in build-standalone.js, not a source file"
        },
        {
          "id": "merkle",
          "synthetic": false,
          "sourceFile": "verifier/lib/merkle.js",
          "sourceSha256": "1bea7bab4b479962225279f4590c5524fad5295c7c70cf01d4978dbf9f37f34b",
          "inlinedSha256": "e65be5614998f9a00ca9b58a6c79b05abe7f70ed2e0dad61ece07a41ee5da876",
          "entry": false
        },
        {
          "id": "seal-cli",
          "synthetic": false,
          "sourceFile": "verifier/lib/seal-cli.js",
          "sourceSha256": "7a68adacb21ace3c3a77a3bc9bc27ec8a4732c77df3e8d6a6c5864d44a7a13bc",
          "inlinedSha256": "8ba0e03a6a9bcaa5ee400d045fc13c4eb7e99b2d7f4effb307135e7b02d8804d",
          "entry": true
        }
      ]
    },
    "verify-html": {
      "bundle": "verify-vh-standalone.html",
      "sidecar": "verify-vh-standalone.html.sha256",
      "bundleBytes": 169902,
      "bundleSha256": "ce444165734a34745756aeefd34025f53c457389e57e5c10ce5d03b2ebe8eee3",
      "sidecarLine": "ce444165734a34745756aeefd34025f53c457389e57e5c10ce5d03b2ebe8eee3  verify-vh-standalone.html",
      "modules": [
        {
          "id": "vh-buffer",
          "synthetic": true,
          "sourceFile": null,
          "sourceSha256": null,
          "inlinedSha256": "9ad808104bafe9808e00f854f093b355373b6cc77816b15fdaef1a90886b2b14",
          "note": "pure-JS browser Buffer subset shim — defined in build-standalone-html.js, not a source file"
        },
        {
          "id": "keccak256-vendored",
          "synthetic": false,
          "sourceFile": "verifier/lib/keccak256-vendored.js",
          "sourceSha256": "4f5f2dda618a5889ab5b3f8498dc64ddeacdd22b57349d97824f60960ee334a1",
          "inlinedSha256": "4f5f2dda618a5889ab5b3f8498dc64ddeacdd22b57349d97824f60960ee334a1",
          "entry": false
        },
        {
          "id": "keccak",
          "synthetic": true,
          "sourceFile": null,
          "sourceSha256": null,
          "inlinedSha256": "ed26685779b189ecc7e62daf2a17ce366de3c64f2198cd4b64f8dbc40b68c86d",
          "note": "swapped body (keccak provider shim over the vendored pure-JS keccak256, returning vh-buffer Buffers) — defined in build-standalone-html.js, not a source file"
        },
        {
          "id": "merkle",
          "synthetic": false,
          "sourceFile": "verifier/lib/merkle.js",
          "sourceSha256": "1bea7bab4b479962225279f4590c5524fad5295c7c70cf01d4978dbf9f37f34b",
          "inlinedSha256": "e65be5614998f9a00ca9b58a6c79b05abe7f70ed2e0dad61ece07a41ee5da876",
          "entry": false
        },
        {
          "id": "canonical",
          "synthetic": false,
          "sourceFile": "verifier/lib/canonical.js",
          "sourceSha256": "edc190dcabd2b34b33c54240fc951141de13d2c7d2759184cacb160dfdf3e764",
          "inlinedSha256": "edc190dcabd2b34b33c54240fc951141de13d2c7d2759184cacb160dfdf3e764",
          "entry": false
        },
        {
          "id": "secp256k1-recover",
          "synthetic": false,
          "sourceFile": "verifier/lib/secp256k1-recover.js",
          "sourceSha256": "34bb39eed0afc5f55241419ba827404bf767fa5dde1363dba5ad9c419cf91dab",
          "inlinedSha256": "c8bab43d54b01dd7e55aeae6bc6d27986b868cbc7ebc1b1279dc70f032dbc122",
          "entry": false
        },
        {
          "id": "revocation-core",
          "synthetic": false,
          "sourceFile": "verifier/lib/revocation-core.js",
          "sourceSha256": "99377291d5455b7a01a3eca313cd1289f6df8ce76a37bcb0aacc68ebe70601b1",
          "inlinedSha256": "6a426132b56560771fc187caaeee308cd4aaaf87b211aff87dff04cbc622bd2e",
          "entry": false
        },
        {
          "id": "verify-vh-engine",
          "synthetic": false,
          "sourceFile": "verifier/verify-vh.js",
          "sourceSha256": "05d5c51292a38f1e751fda81e5edf3c9b268df4137f74ac86f3411205c3a1549",
          "inlinedSha256": "ad1c57564efc7d2a79fa024f71a02e702267e2140546a036f887dbd5fcdbfc5c",
          "entry": true,
          "note": "the marked T-66.1 pure-engine slice of verifier/verify-vh.js (the bytes between its BEGIN/END engine markers), wrapped in a build-generated __require preamble + exports postamble; sourceSha256 pins the WHOLE verify-vh.js source file"
        },
        {
          "id": "challenge-fixture",
          "synthetic": true,
          "sourceFile": null,
          "sourceSha256": null,
          "inlinedSha256": "8db0c9080d5f5904ebc2f4c8c26cf80c4012cd9c05e74a5c78ebf970f8f3f462",
          "note": "the verifier's shipped demo packet (DEMO_SIGNER/DEMO_FILES/DEMO_CONTAINER/DEMO_PACKET_NAME), extracted verbatim at build time from verifier/verify-vh.js (pinned by the verify-vh-engine record's sourceSha256) — defined in build-standalone-html.js"
        },
        {
          "id": "challenge",
          "synthetic": true,
          "sourceFile": null,
          "sourceSha256": null,
          "inlinedSha256": "e037b92fa4225cd2375547537195dffe366e124bbfa6db51785b431a40784693",
          "note": "the built-in 60-second-challenge runner over the embedded demo fixture — defined in build-standalone-html.js, not a source file"
        }
      ]
    }
  }
}
