{
  "tool_id": "art-279-state-proof-verifier",
  "note": "golden_hash empty until first `node golden-parity.test.mjs --update`. Proof bytes are self-constructed (clean-room RLP+HP+keccak256 fixture builder, not from a live chain) but verified via an independent BigInt-based Keccak-256 cross-check across block boundaries (0/1/20/32/64/135/136/137/200/272/300/532 byte inputs) and against the reference vectors keccak256(\"\")=c5d24601... and keccak256(\"abc\")=4e036...",
  "vectors": [
    {
      "name": "empty-input",
      "policy_parameters": {},
      "output_payload": {
        "verdict": "INVALID_PROOF",
        "address": "",
        "block_state_root": "",
        "account_exists": false,
        "account": null,
        "storage_results": [],
        "proof_nodes_consumed": 0,
        "diagnostic": null,
        "errors": [
          "block_state_root must be 32 bytes hex",
          "address must be 20 bytes hex",
          "account_proof must be non-empty"
        ],
        "bounded_limits": {
          "max_account_proof_nodes": 32,
          "max_node_hex_len": 1200,
          "max_storage_slots": 8,
          "max_storage_proof_nodes": 16
        },
        "receipt_statement": null,
        "regulatory_note": "Consensus-proof (light-client header) verification is out of scope for this tool — the state root is a caller-supplied trust anchor, not independently verified against a beacon-chain header."
      },
      "golden_hash": "f29c05f7d8f3127bf11d1ed60e28e0fb3b1a9b419177a06207da01eddc2f1673"
    },
    {
      "name": "single-leaf-account-verified",
      "policy_parameters": {
        "block_state_root": "0xc050a4c52553f7be1a89089544146ce6540bf373e6b9839dcfa8aa4da2373bde",
        "address": "0x1111111111111111111111111111111111111111",
        "account_proof": [
          "0xf872a120e2c07404b8c1df4c46226425cac68c28d27a766bbddce62309f36724839b22c0b84ef84c03884563918244f40000a0db81b4d58595fbbbb592d3661a34cdca14d7ab379441400cbfa1b78bc447c365a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
        ]
      },
      "output_payload": {
        "verdict": "VERIFIED",
        "address": "0x1111111111111111111111111111111111111111",
        "block_state_root": "0xc050a4c52553f7be1a89089544146ce6540bf373e6b9839dcfa8aa4da2373bde",
        "account_exists": true,
        "account": {
          "nonce_hex": "0x03",
          "balance_hex": "0x4563918244f40000",
          "storage_root_hex": "0xdb81b4d58595fbbbb592d3661a34cdca14d7ab379441400cbfa1b78bc447c365",
          "code_hash_hex": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
        },
        "storage_results": [],
        "proof_nodes_consumed": 1,
        "diagnostic": null,
        "errors": [],
        "bounded_limits": {
          "max_account_proof_nodes": 32,
          "max_node_hex_len": 1200,
          "max_storage_slots": 8,
          "max_storage_proof_nodes": 16
        },
        "receipt_statement": "Address 0x1111111111111111111111111111111111111111 verified under state root 0xc050a4c52553f7be1a89089544146ce6540bf373e6b9839dcfa8aa4da2373bde: balance 0x4563918244f40000, nonce 0x03.",
        "regulatory_note": "Consensus-proof (light-client header) verification is out of scope for this tool — the state root is a caller-supplied trust anchor, not independently verified against a beacon-chain header. Persona: fund administrator or auditor confirming tokenized-MMF/deposit-token holdings without trusting an RPC provider."
      },
      "golden_hash": "dc9b844fe69fbd7b88854e8012bc9c59fb571bd903c61f88878bbfdd4649df60"
    },
    {
      "name": "extension-leaf-account-with-storage-slot-verified",
      "policy_parameters": {
        "block_state_root": "0xe1097addc4d1fbf08d8e105b94318042f5c01654c58418c548c2d70c975781ed",
        "address": "0x2222222222222222222222222222222222222222",
        "account_proof": [
          "0xe785002ab0a444a0aca244f989e43f31cf751b68fa1a6bb7525643a5dca66372182fa17e63e0fc27",
          "0xf86e9d203bbea3fbe4d0e1503d11ff1367842fb0c8b28a5c8550f27599a40751b84ef84c80880de0b6b3a7640000a0a72affd9ae0d6be6fe964dea4b9162de0b2216a45e005c99dade94632f714a57a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
        ],
        "storage_slots": [
          {
            "slot": "0x22ae6da6b482f9b1b19b0b897c3fd43884180a1c5ee361e1107a1bc635649dda",
            "expected_value": "0x067932",
            "proof": [
              "0xe7a120443ed13a79fee12095646ee4eb6b41ddadb4ce668caa55e5218bf9d49006afc18483067932"
            ]
          }
        ]
      },
      "output_payload": {
        "verdict": "VERIFIED",
        "address": "0x2222222222222222222222222222222222222222",
        "block_state_root": "0xe1097addc4d1fbf08d8e105b94318042f5c01654c58418c548c2d70c975781ed",
        "account_exists": true,
        "account": {
          "nonce_hex": "0x",
          "balance_hex": "0x0de0b6b3a7640000",
          "storage_root_hex": "0xa72affd9ae0d6be6fe964dea4b9162de0b2216a45e005c99dade94632f714a57",
          "code_hash_hex": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
        },
        "storage_results": [
          {
            "slot": "0x22ae6da6b482f9b1b19b0b897c3fd43884180a1c5ee361e1107a1bc635649dda",
            "exists": true,
            "value_hex": "0x067932",
            "matches_expected": true,
            "reason": null
          }
        ],
        "proof_nodes_consumed": 2,
        "diagnostic": null,
        "errors": [],
        "bounded_limits": {
          "max_account_proof_nodes": 32,
          "max_node_hex_len": 1200,
          "max_storage_slots": 8,
          "max_storage_proof_nodes": 16
        },
        "receipt_statement": "Address 0x2222222222222222222222222222222222222222 verified under state root 0xe1097addc4d1fbf08d8e105b94318042f5c01654c58418c548c2d70c975781ed: balance 0x0de0b6b3a7640000, nonce 0x.",
        "regulatory_note": "Consensus-proof (light-client header) verification is out of scope for this tool — the state root is a caller-supplied trust anchor, not independently verified against a beacon-chain header. Persona: fund administrator or auditor confirming tokenized-MMF/deposit-token holdings without trusting an RPC provider."
      },
      "golden_hash": "66935e16f33bb7bf98da1dcb3c907ba306714a1e063dcd17e7fa049d24fca4e5"
    },
    {
      "name": "tampered-root-invalid-proof",
      "policy_parameters": {
        "block_state_root": "0x897be06efbc95259a64d8c3a7a121feef34d087430baa458f7c9fbdf75e0e3da",
        "address": "0x1111111111111111111111111111111111111111",
        "account_proof": [
          "0xf872a120e2c07404b8c1df4c46226425cac68c28d27a766bbddce62309f36724839b22c0b84ef84c03884563918244f40000a0db81b4d58595fbbbb592d3661a34cdca14d7ab379441400cbfa1b78bc447c365a0c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470"
        ]
      },
      "output_payload": {
        "verdict": "INVALID_PROOF",
        "address": "0x1111111111111111111111111111111111111111",
        "block_state_root": "0x897be06efbc95259a64d8c3a7a121feef34d087430baa458f7c9fbdf75e0e3da",
        "account_exists": false,
        "account": null,
        "storage_results": [],
        "proof_nodes_consumed": 1,
        "diagnostic": "node 0 hash mismatch (broken proof chain)",
        "errors": [],
        "bounded_limits": {
          "max_account_proof_nodes": 32,
          "max_node_hex_len": 1200,
          "max_storage_slots": 8,
          "max_storage_proof_nodes": 16
        },
        "receipt_statement": null,
        "regulatory_note": "Consensus-proof (light-client header) verification is out of scope for this tool — the state root is a caller-supplied trust anchor, not independently verified against a beacon-chain header. Persona: fund administrator or auditor confirming tokenized-MMF/deposit-token holdings without trusting an RPC provider."
      },
      "golden_hash": "c424b60216d43868b64ff20936dd1a3d74d3dab4eb000be6594a2cab916af70a"
    }
  ]
}
