{
  "tool_id": "art-700-authorization-payload-linter",
  "note": "golden_hash filled by research/art700-dev/gen-fixtures.mjs (AUTH-PAYLOAD-LINTER-1). Every vector carries expectation_basis + expected_verdict written from the pinned primary text in research/clause-snapshots/gasless-2026-09/ BEFORE the kernel was run; the generator refuses to write this file if the kernel disagrees with any of them, so no golden here was minted by round-tripping the implementation.",
  "vectors": [
    {
      "name": "erc2612-permit-classified",
      "expectation_basis": "ERC-2612 canonical Permit type string, pinned excerpt 10; no policy declared so only the structural checks evaluate.",
      "expected_verdict": {
        "standard": "ERC2612_PERMIT",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "USD Coin",
            "version": "2",
            "chainId": 1,
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "Permit": [
              {
                "name": "owner",
                "type": "address"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "value",
                "type": "uint256"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "Permit",
          "message": {
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "ERC2612_PERMIT",
          "primary_type": "Permit",
          "encode_type": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "Permit",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.value",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 7,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "params": {
              "raw": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x1111111111111111111111111111111111111111",
            "params": {
              "raw": "0x1111111111111111111111111111111111111111"
            }
          },
          {
            "path": "message.value",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          }
        ],
        "handoffs": {
          "art_612": {
            "name": "USD Coin",
            "version": "2",
            "chainId": "1",
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000",
            "r": null,
            "s": null,
            "yParity": null
          }
        },
        "signature_form": null,
        "warnings": [
          "29 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "5b490d32b349d6dd020fb7484027254939121c5478e4cc2d429bb15f958be12f"
    },
    {
      "name": "dai-legacy-permit-unlimited-no-expiry",
      "expectation_basis": "Pinned excerpt 11: allowed true grants the maximum allowance and expiry 0 never expires, so both facts flag.",
      "expected_verdict": {
        "standard": "DAI_LEGACY_PERMIT",
        "conformance": "DEVIATES",
        "flagged": [
          "NO_EXPIRY",
          "UNLIMITED_AMOUNT"
        ]
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "Dai Stablecoin",
            "version": "1",
            "chainId": 1,
            "verifyingContract": "0x6b175474e89094c44da98b954eedeac495271d0f"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "Permit": [
              {
                "name": "holder",
                "type": "address"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "expiry",
                "type": "uint256"
              },
              {
                "name": "allowed",
                "type": "bool"
              }
            ]
          },
          "primaryType": "Permit",
          "message": {
            "holder": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "nonce": "0",
            "expiry": "0",
            "allowed": true
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "DAI_LEGACY_PERMIT",
          "primary_type": "Permit",
          "encode_type": "Permit(address holder,address spender,uint256 nonce,uint256 expiry,bool allowed)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "Permit",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "FLAGGED",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [
                "message.expiry"
              ],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "FLAGGED",
            "severity": "policy",
            "field_path": "message.allowed",
            "observed": {
              "allowed": true,
              "effect": "grants the maximum allowance"
            },
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "Permit(address holder,address spender,uint256 nonce,uint256 expiry,bool allowed)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 7,
        "flagged_count": 2,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0x6b175474e89094c44da98b954eedeac495271d0f",
            "params": {
              "raw": "0x6b175474e89094c44da98b954eedeac495271d0f"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x1111111111111111111111111111111111111111",
            "params": {
              "raw": "0x1111111111111111111111111111111111111111"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "29 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "30336762194b0a2f6b4001596284164e6ce51935350c178c139cda4233a52790"
    },
    {
      "name": "permit2-permit-transfer-from-classified",
      "expectation_basis": "Pinned excerpts 01 and PermitHash: 3-field domain named Permit2 at the canonical address.",
      "expected_verdict": {
        "standard": "PERMIT2_PERMIT_TRANSFER_FROM",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "Permit2",
            "chainId": 8453,
            "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "PermitTransferFrom": [
              {
                "name": "permitted",
                "type": "TokenPermissions"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              }
            ],
            "TokenPermissions": [
              {
                "name": "token",
                "type": "address"
              },
              {
                "name": "amount",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "PermitTransferFrom",
          "message": {
            "permitted": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "amount": "1000000"
            },
            "spender": "0x402085c248EeA27D92E8b30b2C58ed07f9E20001",
            "nonce": "7",
            "deadline": "2000000000"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "PERMIT2_PERMIT_TRANSFER_FROM",
          "primary_type": "PermitTransferFrom",
          "encode_type": "PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": 1,
          "payment_method": "permit2"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "PermitTransferFrom",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "domain",
            "observed": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            },
            "policy": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 8,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "8453",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0x000000000022d473030f116ddee9f6b43ac78ba3",
            "params": {
              "raw": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x402085c248eea27d92e8b30b2c58ed07f9e20001",
            "params": {
              "raw": "0x402085c248eea27d92e8b30b2c58ed07f9e20001"
            }
          },
          {
            "path": "message.permitted.amount",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "28 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "60cd4c8e029d43e03cc7396635c1b5d685b3a393650c4d7f04232596f636cbeb"
    },
    {
      "name": "permit2-permit-batch-transfer-from-classified",
      "expectation_basis": "Batch signature-transfer type string from PermitHash.sol; two entries, neither at the ceiling.",
      "expected_verdict": {
        "standard": "PERMIT2_PERMIT_BATCH_TRANSFER_FROM",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "Permit2",
            "chainId": 8453,
            "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "PermitBatchTransferFrom": [
              {
                "name": "permitted",
                "type": "TokenPermissions[]"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              }
            ],
            "TokenPermissions": [
              {
                "name": "token",
                "type": "address"
              },
              {
                "name": "amount",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "PermitBatchTransferFrom",
          "message": {
            "permitted": [
              {
                "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "amount": "1000000"
              },
              {
                "token": "0x6b175474e89094c44da98b954eedeac495271d0f",
                "amount": "2000000"
              }
            ],
            "spender": "0x402085c248EeA27D92E8b30b2C58ed07f9E20001",
            "nonce": "8",
            "deadline": "2000000000"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "PERMIT2_PERMIT_BATCH_TRANSFER_FROM",
          "primary_type": "PermitBatchTransferFrom",
          "encode_type": "PermitBatchTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": 2,
          "payment_method": "permit2"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.permitted[0].amount",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "PermitBatchTransferFrom",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "domain",
            "observed": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            },
            "policy": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.permitted[0].amount",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "PermitBatchTransferFrom(TokenPermissions[] permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.permitted[0].amount",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 8,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "8453",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0x000000000022d473030f116ddee9f6b43ac78ba3",
            "params": {
              "raw": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x402085c248eea27d92e8b30b2c58ed07f9e20001",
            "params": {
              "raw": "0x402085c248eea27d92e8b30b2c58ed07f9e20001"
            }
          },
          {
            "path": "message.permitted[0].amount",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.permitted[1].amount",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "2000000",
            "params": {
              "token": "0x6b175474e89094c44da98b954eedeac495271d0f",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "28 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "0da2b3683e190236cbec2c09a11e550f64e4394d235dfb9750f80b5ad508f298"
    },
    {
      "name": "permit2-witness-x402-classified",
      "expectation_basis": "Pinned excerpt 02: the witness struct is Witness(address to,uint256 validAfter) and the referenced types sort T before W.",
      "expected_verdict": {
        "standard": "PERMIT2_PERMIT_WITNESS_TRANSFER_FROM",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "Permit2",
            "chainId": 8453,
            "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "PermitWitnessTransferFrom": [
              {
                "name": "permitted",
                "type": "TokenPermissions"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              },
              {
                "name": "witness",
                "type": "Witness"
              }
            ],
            "TokenPermissions": [
              {
                "name": "token",
                "type": "address"
              },
              {
                "name": "amount",
                "type": "uint256"
              }
            ],
            "Witness": [
              {
                "name": "to",
                "type": "address"
              },
              {
                "name": "validAfter",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "PermitWitnessTransferFrom",
          "message": {
            "permitted": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "amount": "1000000"
            },
            "spender": "0x402085c248EeA27D92E8b30b2C58ed07f9E20001",
            "nonce": "9",
            "deadline": "2000000000",
            "witness": {
              "to": "0x2222222222222222222222222222222222222222",
              "validAfter": "1700000000"
            }
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "PERMIT2_PERMIT_WITNESS_TRANSFER_FROM",
          "primary_type": "PermitWitnessTransferFrom",
          "encode_type": "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,Witness witness)TokenPermissions(address token,uint256 amount)Witness(address to,uint256 validAfter)",
          "witness_type": "Witness(address to,uint256 validAfter)",
          "witness_is_named_payment_witness": true,
          "lookalike": false,
          "entry_count": 1,
          "payment_method": "permit2"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "PermitWitnessTransferFrom",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.witness.validAfter",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "domain",
            "observed": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            },
            "policy": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,Witness witness)TokenPermissions(address token,uint256 amount)Witness(address to,uint256 validAfter)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 8,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "8453",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0x000000000022d473030f116ddee9f6b43ac78ba3",
            "params": {
              "raw": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x402085c248eea27d92e8b30b2c58ed07f9e20001",
            "params": {
              "raw": "0x402085c248eea27d92e8b30b2c58ed07f9e20001"
            }
          },
          {
            "path": "message.to",
            "label": "Recipient",
            "format": "addressName",
            "value": "0x2222222222222222222222222222222222222222",
            "params": {
              "raw": "0x2222222222222222222222222222222222222222"
            }
          },
          {
            "path": "message.permitted.amount",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          },
          {
            "path": "message.witness.validAfter",
            "label": "Valid from",
            "format": "date",
            "value": "2023-11-14T22:13:20Z",
            "params": {
              "unix": "1700000000"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "28 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "4652b2ac75e1d3d0abeb5c0c0e3fc03ddd1d45229e1a33a8850a850f2075486f"
    },
    {
      "name": "permit2-permit-single-classified",
      "expectation_basis": "Allowance-transfer single type string from PermitHash.sol.",
      "expected_verdict": {
        "standard": "PERMIT2_PERMIT_SINGLE",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "Permit2",
            "chainId": 8453,
            "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "PermitSingle": [
              {
                "name": "details",
                "type": "PermitDetails"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "sigDeadline",
                "type": "uint256"
              }
            ],
            "PermitDetails": [
              {
                "name": "token",
                "type": "address"
              },
              {
                "name": "amount",
                "type": "uint160"
              },
              {
                "name": "expiration",
                "type": "uint48"
              },
              {
                "name": "nonce",
                "type": "uint48"
              }
            ]
          },
          "primaryType": "PermitSingle",
          "message": {
            "details": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "amount": "1000000",
              "expiration": "1800000000",
              "nonce": "0"
            },
            "spender": "0x1111111111111111111111111111111111111111",
            "sigDeadline": "2000000000"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "PERMIT2_PERMIT_SINGLE",
          "primary_type": "PermitSingle",
          "encode_type": "PermitSingle(PermitDetails details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": 1,
          "payment_method": "permit2"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.details.amount",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.sigDeadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "PermitSingle",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "domain",
            "observed": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            },
            "policy": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.details.amount",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "PermitSingle(PermitDetails details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.sigDeadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.details.amount",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 8,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "8453",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0x000000000022d473030f116ddee9f6b43ac78ba3",
            "params": {
              "raw": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x1111111111111111111111111111111111111111",
            "params": {
              "raw": "0x1111111111111111111111111111111111111111"
            }
          },
          {
            "path": "message.details.amount",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.sigDeadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          },
          {
            "path": "message.details.expiration",
            "label": "Allowance expiration",
            "format": "date",
            "value": "2027-01-15T08:00:00Z",
            "params": {
              "unix": "1800000000"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "28 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "ebbadd280672bcab15b5e5f9f18bfd6bffa26e71cb1903a5a4affeb5cadfc386"
    },
    {
      "name": "permit2-permit-batch-one-unlimited-entry",
      "expectation_basis": "Allowance-transfer amounts are uint160, so the second entry at 2^160-1 is the unlimited case.",
      "expected_verdict": {
        "standard": "PERMIT2_PERMIT_BATCH",
        "conformance": "DEVIATES",
        "flagged": [
          "UNLIMITED_AMOUNT"
        ]
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "Permit2",
            "chainId": 8453,
            "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "PermitBatch": [
              {
                "name": "details",
                "type": "PermitDetails[]"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "sigDeadline",
                "type": "uint256"
              }
            ],
            "PermitDetails": [
              {
                "name": "token",
                "type": "address"
              },
              {
                "name": "amount",
                "type": "uint160"
              },
              {
                "name": "expiration",
                "type": "uint48"
              },
              {
                "name": "nonce",
                "type": "uint48"
              }
            ]
          },
          "primaryType": "PermitBatch",
          "message": {
            "details": [
              {
                "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "amount": "1000000",
                "expiration": "1800000000",
                "nonce": "0"
              },
              {
                "token": "0x6b175474e89094c44da98b954eedeac495271d0f",
                "amount": "1461501637330902918203684832716283019655932542975",
                "expiration": "1800000000",
                "nonce": "0"
              }
            ],
            "spender": "0x1111111111111111111111111111111111111111",
            "sigDeadline": "2000000000"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "PERMIT2_PERMIT_BATCH",
          "primary_type": "PermitBatch",
          "encode_type": "PermitBatch(PermitDetails[] details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": 2,
          "payment_method": "permit2"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.details[0].amount",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.sigDeadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "PermitBatch",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "domain",
            "observed": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            },
            "policy": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "FLAGGED",
            "severity": "policy",
            "field_path": "message.details[0].amount",
            "observed": [
              "message.details[1].amount"
            ],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "PermitBatch(PermitDetails[] details,address spender,uint256 sigDeadline)PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.sigDeadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.details[0].amount",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 8,
        "flagged_count": 1,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "8453",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0x000000000022d473030f116ddee9f6b43ac78ba3",
            "params": {
              "raw": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x1111111111111111111111111111111111111111",
            "params": {
              "raw": "0x1111111111111111111111111111111111111111"
            }
          },
          {
            "path": "message.details[0].amount",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.details[1].amount",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1461501637330902918203684832716283019655932542975",
            "params": {
              "token": "0x6b175474e89094c44da98b954eedeac495271d0f",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.sigDeadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          },
          {
            "path": "message.details[0].expiration",
            "label": "Allowance expiration",
            "format": "date",
            "value": "2027-01-15T08:00:00Z",
            "params": {
              "unix": "1800000000"
            }
          },
          {
            "path": "message.details[1].expiration",
            "label": "Allowance expiration",
            "format": "date",
            "value": "2027-01-15T08:00:00Z",
            "params": {
              "unix": "1800000000"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "28 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "645bca3e4cb4a564c56a48f283e0f5f6f8088640285cbe869d5e3064432d464e"
    },
    {
      "name": "eip3009-transfer-with-authorization-classified",
      "expectation_basis": "Pinned excerpt 12 typehash comment gives the exact type string.",
      "expected_verdict": {
        "standard": "EIP3009_TRANSFER_WITH_AUTHORIZATION",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "USD Coin",
            "version": "2",
            "chainId": 1,
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "TransferWithAuthorization": [
              {
                "name": "from",
                "type": "address"
              },
              {
                "name": "to",
                "type": "address"
              },
              {
                "name": "value",
                "type": "uint256"
              },
              {
                "name": "validAfter",
                "type": "uint256"
              },
              {
                "name": "validBefore",
                "type": "uint256"
              },
              {
                "name": "nonce",
                "type": "bytes32"
              }
            ]
          },
          "primaryType": "TransferWithAuthorization",
          "message": {
            "from": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "to": "0x2222222222222222222222222222222222222222",
            "value": "1000000",
            "validAfter": "0",
            "validBefore": "2000000000",
            "nonce": "0x00000000000000000000000000000000000000000000000000000000000000ab"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "EIP3009_TRANSFER_WITH_AUTHORIZATION",
          "primary_type": "TransferWithAuthorization",
          "encode_type": "TransferWithAuthorization(address from,address to,uint256 value,uint256 validAfter,uint256 validBefore,bytes32 nonce)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "eip3009"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.validBefore",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "TransferWithAuthorization",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.validAfter",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.value",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "TransferWithAuthorization(address from,address to,uint256 value,uint256 validAfter,uint256 validBefore,bytes32 nonce)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.validBefore",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 7,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "params": {
              "raw": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            }
          },
          {
            "path": "message.to",
            "label": "Recipient",
            "format": "addressName",
            "value": "0x2222222222222222222222222222222222222222",
            "params": {
              "raw": "0x2222222222222222222222222222222222222222"
            }
          },
          {
            "path": "message.value",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.validBefore",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          },
          {
            "path": "message.validAfter",
            "label": "Valid from",
            "format": "date",
            "value": "1970-01-01T00:00:00Z",
            "params": {
              "unix": "0"
            }
          }
        ],
        "handoffs": {
          "art_590": {
            "name": "USD Coin",
            "version": "2",
            "chainId": "1",
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "from": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "to": "0x2222222222222222222222222222222222222222",
            "value": "1000000",
            "validAfter": "0",
            "validBefore": "2000000000",
            "nonce": "0x00000000000000000000000000000000000000000000000000000000000000ab"
          }
        },
        "signature_form": null,
        "warnings": [
          "29 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "4b8da8f06b37f01fcdac9758d8e6a554632315df971de39c4de87f7c316235d8"
    },
    {
      "name": "eip3009-receive-with-authorization-classified",
      "expectation_basis": "Same member list as the transfer form under a different struct name.",
      "expected_verdict": {
        "standard": "EIP3009_RECEIVE_WITH_AUTHORIZATION",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "USD Coin",
            "version": "2",
            "chainId": 1,
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "ReceiveWithAuthorization": [
              {
                "name": "from",
                "type": "address"
              },
              {
                "name": "to",
                "type": "address"
              },
              {
                "name": "value",
                "type": "uint256"
              },
              {
                "name": "validAfter",
                "type": "uint256"
              },
              {
                "name": "validBefore",
                "type": "uint256"
              },
              {
                "name": "nonce",
                "type": "bytes32"
              }
            ]
          },
          "primaryType": "ReceiveWithAuthorization",
          "message": {
            "from": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "to": "0x2222222222222222222222222222222222222222",
            "value": "1000000",
            "validAfter": "0",
            "validBefore": "2000000000",
            "nonce": "0x00000000000000000000000000000000000000000000000000000000000000ab"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "EIP3009_RECEIVE_WITH_AUTHORIZATION",
          "primary_type": "ReceiveWithAuthorization",
          "encode_type": "ReceiveWithAuthorization(address from,address to,uint256 value,uint256 validAfter,uint256 validBefore,bytes32 nonce)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "eip3009"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.validBefore",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "ReceiveWithAuthorization",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.validAfter",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.value",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "ReceiveWithAuthorization(address from,address to,uint256 value,uint256 validAfter,uint256 validBefore,bytes32 nonce)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.validBefore",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 7,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "params": {
              "raw": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            }
          },
          {
            "path": "message.to",
            "label": "Recipient",
            "format": "addressName",
            "value": "0x2222222222222222222222222222222222222222",
            "params": {
              "raw": "0x2222222222222222222222222222222222222222"
            }
          },
          {
            "path": "message.value",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.validBefore",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          },
          {
            "path": "message.validAfter",
            "label": "Valid from",
            "format": "date",
            "value": "1970-01-01T00:00:00Z",
            "params": {
              "unix": "0"
            }
          }
        ],
        "handoffs": {
          "art_590": {
            "name": "USD Coin",
            "version": "2",
            "chainId": "1",
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "from": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "to": "0x2222222222222222222222222222222222222222",
            "value": "1000000",
            "validAfter": "0",
            "validBefore": "2000000000",
            "nonce": "0x00000000000000000000000000000000000000000000000000000000000000ab"
          }
        },
        "signature_form": null,
        "warnings": [
          "29 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "49388948c812a0865123dd0986159cf1a5187cd71eb3e733a23aacae81ab2c85"
    },
    {
      "name": "eip3009-cancel-authorization-classified",
      "expectation_basis": "Cancel type string from the pinned typehash comment; it carries no amount and no window.",
      "expected_verdict": {
        "standard": "EIP3009_CANCEL_AUTHORIZATION",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "USD Coin",
            "version": "2",
            "chainId": 1,
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "CancelAuthorization": [
              {
                "name": "authorizer",
                "type": "address"
              },
              {
                "name": "nonce",
                "type": "bytes32"
              }
            ]
          },
          "primaryType": "CancelAuthorization",
          "message": {
            "authorizer": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "nonce": "0x00000000000000000000000000000000000000000000000000000000000000ab"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "EIP3009_CANCEL_AUTHORIZATION",
          "primary_type": "CancelAuthorization",
          "encode_type": "CancelAuthorization(address authorizer,bytes32 nonce)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "eip3009"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "CancelAuthorization",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "the classified payload carries no deadline or expiration member"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.allowed",
            "observed": null,
            "policy": "the classified payload carries no amount member"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "CancelAuthorization(address authorizer,bytes32 nonce)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "NO_EXPIRY",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "UNLIMITED_AMOUNT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 5,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "params": {
              "raw": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "31 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "4897390c3c837bae5fbc2747f581872ea2cc29908ea2dea38dc8bb4f153e941d"
    },
    {
      "name": "erc4337-packed-userop-classified",
      "expectation_basis": "Pinned excerpt 15b gives the exact typehash string.",
      "expected_verdict": {
        "standard": "ERC4337_PACKED_USER_OPERATION",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "ERC4337",
            "version": "1",
            "chainId": 1,
            "verifyingContract": "0x4337084d9e255ff0702461cf8895ce9e3b5ff108"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "PackedUserOperation": [
              {
                "name": "sender",
                "type": "address"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "initCode",
                "type": "bytes"
              },
              {
                "name": "callData",
                "type": "bytes"
              },
              {
                "name": "accountGasLimits",
                "type": "bytes32"
              },
              {
                "name": "preVerificationGas",
                "type": "uint256"
              },
              {
                "name": "gasFees",
                "type": "bytes32"
              },
              {
                "name": "paymasterAndData",
                "type": "bytes"
              }
            ]
          },
          "primaryType": "PackedUserOperation",
          "message": {
            "sender": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "nonce": "1",
            "initCode": "0x",
            "callData": "0x",
            "accountGasLimits": "0x1111111111111111111111111111111111111111111111111111111111111111",
            "preVerificationGas": "21000",
            "gasFees": "0x1111111111111111111111111111111111111111111111111111111111111111",
            "paymasterAndData": "0x"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "ERC4337_PACKED_USER_OPERATION",
          "primary_type": "PackedUserOperation",
          "encode_type": "PackedUserOperation(address sender,uint256 nonce,bytes initCode,bytes callData,bytes32 accountGasLimits,uint256 preVerificationGas,bytes32 gasFees,bytes paymasterAndData)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "PackedUserOperation",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "the classified payload carries no deadline or expiration member"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.allowed",
            "observed": null,
            "policy": "the classified payload carries no amount member"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "PackedUserOperation(address sender,uint256 nonce,bytes initCode,bytes callData,bytes32 accountGasLimits,uint256 preVerificationGas,bytes32 gasFees,bytes paymasterAndData)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "NO_EXPIRY",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "UNLIMITED_AMOUNT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 5,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0x4337084d9e255ff0702461cf8895ce9e3b5ff108",
            "params": {
              "raw": "0x4337084d9e255ff0702461cf8895ce9e3b5ff108"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "31 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "dd5353ba684c8778c27aed04e22447d47d0d1e8a827ea687f09fe1834b1b12f2"
    },
    {
      "name": "erc2771-forward-request-classified",
      "expectation_basis": "Pinned excerpt 20 gives the forwarder type string.",
      "expected_verdict": {
        "standard": "ERC2771_FORWARD_REQUEST",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "Forwarder",
            "version": "1",
            "chainId": 1,
            "verifyingContract": "0x4444444444444444444444444444444444444444"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "ForwardRequest": [
              {
                "name": "from",
                "type": "address"
              },
              {
                "name": "to",
                "type": "address"
              },
              {
                "name": "value",
                "type": "uint256"
              },
              {
                "name": "gas",
                "type": "uint256"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint48"
              },
              {
                "name": "data",
                "type": "bytes"
              }
            ]
          },
          "primaryType": "ForwardRequest",
          "message": {
            "from": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "to": "0x2222222222222222222222222222222222222222",
            "value": "0",
            "gas": "100000",
            "nonce": "0",
            "deadline": "2000000000",
            "data": "0x"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "ERC2771_FORWARD_REQUEST",
          "primary_type": "ForwardRequest",
          "encode_type": "ForwardRequest(address from,address to,uint256 value,uint256 gas,uint256 nonce,uint48 deadline,bytes data)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "ForwardRequest",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.value",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "ForwardRequest(address from,address to,uint256 value,uint256 gas,uint256 nonce,uint48 deadline,bytes data)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 7,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0x4444444444444444444444444444444444444444",
            "params": {
              "raw": "0x4444444444444444444444444444444444444444"
            }
          },
          {
            "path": "message.to",
            "label": "Recipient",
            "format": "addressName",
            "value": "0x2222222222222222222222222222222222222222",
            "params": {
              "raw": "0x2222222222222222222222222222222222222222"
            }
          },
          {
            "path": "message.value",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "0",
            "params": {
              "token": null,
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "29 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "cef03bcdbff227ef2a2ed7a0a2e2632907bc343d0d38dab9ebd1178b79261265"
    },
    {
      "name": "lookalike-permit-fields-reordered",
      "expectation_basis": "Pinned excerpt 09: member order is part of the encoding, so a reordered Permit is a different type that keeps the known name.",
      "expected_verdict": {
        "standard": "UNRECOGNIZED",
        "conformance": "DEVIATES",
        "flagged": [
          "LOOKALIKE_TYPE",
          "UNRECOGNIZED_TYPE"
        ]
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "USD Coin",
            "version": "2",
            "chainId": 1,
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "Permit": [
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "owner",
                "type": "address"
              },
              {
                "name": "value",
                "type": "uint256"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "Permit",
          "message": {
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "UNRECOGNIZED",
          "primary_type": "Permit",
          "encode_type": "Permit(address spender,address owner,uint256 value,uint256 nonce,uint256 deadline)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": true,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "FLAGGED",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": {
              "primary_type": "Permit",
              "encode_type": "Permit(address spender,address owner,uint256 value,uint256 nonce,uint256 deadline)"
            },
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "the classified payload carries no deadline or expiration member"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.allowed",
            "observed": null,
            "policy": "the classified payload carries no amount member"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "FLAGGED",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "Permit(address spender,address owner,uint256 value,uint256 nonce,uint256 deadline)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "NO_EXPIRY",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "UNLIMITED_AMOUNT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 5,
        "flagged_count": 2,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "params": {
              "raw": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "31 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "cc12b6ae44dd7bbb274983693215d36509569c0435ba4cdf6d8699961f304fed"
    },
    {
      "name": "message-field-absent-from-types",
      "expectation_basis": "A member present in message but absent from types is outside the hashed struct and is never shown by a type-driven renderer.",
      "expected_verdict": {
        "standard": "ERC2612_PERMIT",
        "conformance": "DEVIATES",
        "flagged": [
          "MESSAGE_FIELD_NOT_IN_TYPES"
        ]
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "USD Coin",
            "version": "2",
            "chainId": 1,
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "Permit": [
              {
                "name": "owner",
                "type": "address"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "value",
                "type": "uint256"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "Permit",
          "message": {
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000",
            "hiddenSpender": "0x2222222222222222222222222222222222222222"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "ERC2612_PERMIT",
          "primary_type": "Permit",
          "encode_type": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "Permit",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "FLAGGED",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [
              "message.hiddenSpender"
            ],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.value",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 7,
        "flagged_count": 1,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "params": {
              "raw": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x1111111111111111111111111111111111111111",
            "params": {
              "raw": "0x1111111111111111111111111111111111111111"
            }
          },
          {
            "path": "message.value",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          }
        ],
        "handoffs": {
          "art_612": {
            "name": "USD Coin",
            "version": "2",
            "chainId": "1",
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000",
            "r": null,
            "s": null,
            "yParity": null
          }
        },
        "signature_form": null,
        "warnings": [
          "29 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "b2f3a32ba3ef5a1b7aebbc91cacbe7b467d5572ae3dc39d4264daf9cffba8185"
    },
    {
      "name": "permit2-type-with-four-field-domain",
      "expectation_basis": "Pinned excerpt 01: the allowance-router domain has three fields and no version, so a version field changes the separator.",
      "expected_verdict": {
        "standard": "PERMIT2_PERMIT_TRANSFER_FROM",
        "conformance": "DEVIATES",
        "flagged": [
          "PERMIT2_DOMAIN_SHAPE"
        ]
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "Permit2",
            "version": "1",
            "chainId": 8453,
            "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "PermitTransferFrom": [
              {
                "name": "permitted",
                "type": "TokenPermissions"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              }
            ],
            "TokenPermissions": [
              {
                "name": "token",
                "type": "address"
              },
              {
                "name": "amount",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "PermitTransferFrom",
          "message": {
            "permitted": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "amount": "1000000"
            },
            "spender": "0x402085c248EeA27D92E8b30b2C58ed07f9E20001",
            "nonce": "7",
            "deadline": "2000000000"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "PERMIT2_PERMIT_TRANSFER_FROM",
          "primary_type": "PermitTransferFrom",
          "encode_type": "PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": 1,
          "payment_method": "permit2"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "PermitTransferFrom",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "FLAGGED",
            "severity": "policy",
            "field_path": "domain",
            "observed": {
              "domain_fields": [
                "name",
                "version",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            },
            "policy": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "PermitTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline)TokenPermissions(address token,uint256 amount)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 8,
        "flagged_count": 1,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "8453",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0x000000000022d473030f116ddee9f6b43ac78ba3",
            "params": {
              "raw": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x402085c248eea27d92e8b30b2c58ed07f9e20001",
            "params": {
              "raw": "0x402085c248eea27d92e8b30b2c58ed07f9e20001"
            }
          },
          {
            "path": "message.permitted.amount",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "28 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "9570acab321d7b2573f09bbe8ea2072fea5b70c1296256d3d71bc00c36b29371"
    },
    {
      "name": "blind-32-byte-hash",
      "expectation_basis": "A bare hash carries no structure, so every other check reports NOT_EVALUATED and the lint stops.",
      "expected_verdict": {
        "standard": "BLIND_HASH",
        "conformance": "DEVIATES",
        "flagged": [
          "BLIND_SIGNATURE"
        ]
      },
      "policy_parameters": {
        "mode": "raw_hash",
        "raw_hash": "0xdededededededededededededededededededededededededededededededede"
      },
      "output_payload": {
        "mode": "raw_hash",
        "classification": {
          "standard": "BLIND_HASH",
          "primary_type": null,
          "encode_type": null,
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "FLAGGED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": "0xdededededededededededededededededededededededededededededededede",
            "policy": "a bare hash carries no readable structure, so nothing about what is being authorized can be checked"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "NO_EXPIRY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "raw_hash",
            "observed": null,
            "policy": "a bare hash exposes no field to read"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "LOOKALIKE_TYPE",
          "MESSAGE_FIELD_MISSING",
          "MESSAGE_FIELD_NOT_IN_TYPES",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "NO_EXPIRY",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "UNLIMITED_AMOUNT",
          "UNRECOGNIZED_TYPE",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 1,
        "flagged_count": 1,
        "policy_conformance": "DEVIATES",
        "display": [],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "35 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "2c523f595ba9a0cb5fbe077754f3df7b33b688ea0d8113ef5b79dffffb87e400"
    },
    {
      "name": "eip3009-transfer-to-declared-contract-payee",
      "expectation_basis": "Pinned excerpt 12 security note: a contract payee should take the receive form, because the transfer form can be front-run out of its wrapper.",
      "expected_verdict": {
        "standard": "EIP3009_TRANSFER_WITH_AUTHORIZATION",
        "conformance": "DEVIATES",
        "flagged": [
          "EIP3009_TRANSFER_TO_CONTRACT"
        ]
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "USD Coin",
            "version": "2",
            "chainId": 1,
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "TransferWithAuthorization": [
              {
                "name": "from",
                "type": "address"
              },
              {
                "name": "to",
                "type": "address"
              },
              {
                "name": "value",
                "type": "uint256"
              },
              {
                "name": "validAfter",
                "type": "uint256"
              },
              {
                "name": "validBefore",
                "type": "uint256"
              },
              {
                "name": "nonce",
                "type": "bytes32"
              }
            ]
          },
          "primaryType": "TransferWithAuthorization",
          "message": {
            "from": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "to": "0x2222222222222222222222222222222222222222",
            "value": "1000000",
            "validAfter": "0",
            "validBefore": "2000000000",
            "nonce": "0x00000000000000000000000000000000000000000000000000000000000000ab"
          }
        },
        "policy": {
          "contract_addresses": [
            "0x2222222222222222222222222222222222222222"
          ]
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "EIP3009_TRANSFER_WITH_AUTHORIZATION",
          "primary_type": "TransferWithAuthorization",
          "encode_type": "TransferWithAuthorization(address from,address to,uint256 value,uint256 validAfter,uint256 validBefore,bytes32 nonce)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "eip3009"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "FLAGGED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": "0x2222222222222222222222222222222222222222",
            "policy": "a declared contract payee should receive the receive-form authorization instead"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.validBefore",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "TransferWithAuthorization",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.validAfter",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.value",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "TransferWithAuthorization(address from,address to,uint256 value,uint256 validAfter,uint256 validBefore,bytes32 nonce)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.validBefore",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 8,
        "flagged_count": 1,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "params": {
              "raw": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            }
          },
          {
            "path": "message.to",
            "label": "Recipient",
            "format": "addressName",
            "value": "0x2222222222222222222222222222222222222222",
            "params": {
              "raw": "0x2222222222222222222222222222222222222222"
            }
          },
          {
            "path": "message.value",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.validBefore",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          },
          {
            "path": "message.validAfter",
            "label": "Valid from",
            "format": "date",
            "value": "1970-01-01T00:00:00Z",
            "params": {
              "unix": "0"
            }
          }
        ],
        "handoffs": {
          "art_590": {
            "name": "USD Coin",
            "version": "2",
            "chainId": "1",
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "from": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "to": "0x2222222222222222222222222222222222222222",
            "value": "1000000",
            "validAfter": "0",
            "validBefore": "2000000000",
            "nonce": "0x00000000000000000000000000000000000000000000000000000000000000ab"
          }
        },
        "signature_form": null,
        "warnings": [
          "28 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "29027816ea824c08bfe18b12daf66216283d24a3795fac547cb93232991f26f2"
    },
    {
      "name": "tuple-chain-id-zero",
      "expectation_basis": "Pinned excerpt 14 rule 1: a zero chain id is accepted on every chain, so the delegation is replayable.",
      "expected_verdict": {
        "standard": "EIP7702_AUTHORIZATION_TUPLE",
        "conformance": "DEVIATES",
        "flagged": [
          "CROSS_CHAIN_AUTHORIZATION"
        ]
      },
      "policy_parameters": {
        "mode": "eip7702_tuple",
        "tuple": {
          "chain_id": 0,
          "address": "0x3333333333333333333333333333333333333333",
          "nonce": "3"
        },
        "signature": {
          "r": "0x1111111111111111111111111111111111111111111111111111111111111111",
          "s": "0x0000000000000000000000000000000000000000000000000000000000000011",
          "y_parity": 0
        },
        "policy": {
          "delegate_allowlist": [
            "0x3333333333333333333333333333333333333333"
          ]
        }
      },
      "output_payload": {
        "mode": "eip7702_tuple",
        "classification": {
          "standard": "EIP7702_AUTHORIZATION_TUPLE",
          "primary_type": null,
          "encode_type": null,
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "eip7702_tuple",
            "policy": "a structured tuple was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "FLAGGED",
            "severity": "policy",
            "field_path": "tuple.chain_id",
            "observed": "0",
            "policy": "a zero chain id authorizes the delegation on every chain"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "tuple.address",
            "observed": "0x3333333333333333333333333333333333333333",
            "policy": [
              "0x3333333333333333333333333333333333333333"
            ]
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "tuple.address",
            "observed": "0x3333333333333333333333333333333333333333",
            "policy": "the zero address clears the account code rather than naming a delegate"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "signature.s",
            "observed": "0x0000000000000000000000000000000000000000000000000000000000000011",
            "policy": "the low-s half order; a tuple above it is skipped by clients"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "tuple.nonce",
            "observed": "3",
            "policy": "18446744073709551615"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "NO_EXPIRY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "signature.y_parity",
            "observed": "0",
            "policy": "0 or 1"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "LOOKALIKE_TYPE",
          "MESSAGE_FIELD_MISSING",
          "MESSAGE_FIELD_NOT_IN_TYPES",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "NO_EXPIRY",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "UNLIMITED_AMOUNT",
          "UNRECOGNIZED_TYPE",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH"
        ],
        "evaluated_count": 7,
        "flagged_count": 1,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "tuple.chain_id",
            "label": "Chain",
            "format": "chainId",
            "value": "0",
            "params": {}
          },
          {
            "path": "tuple.address",
            "label": "Delegate",
            "format": "addressName",
            "value": "0x3333333333333333333333333333333333333333",
            "params": {
              "raw": "0x3333333333333333333333333333333333333333"
            }
          }
        ],
        "handoffs": {
          "art_614": {
            "chainId": "0",
            "address": "0x3333333333333333333333333333333333333333",
            "nonce": "3",
            "r": "0x1111111111111111111111111111111111111111111111111111111111111111",
            "s": "0x0000000000000000000000000000000000000000000000000000000000000011",
            "yParity": 0
          }
        },
        "signature_form": null,
        "warnings": [
          "29 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "b266705baadc68b2bfbf8c5dcd49be5519afea41012815cc3494e495eedcd321"
    },
    {
      "name": "tuple-zero-delegate-clears-delegation",
      "expectation_basis": "Pinned excerpt 14 step 8: the zero address clears the account code, so the allowlist check does not apply to it.",
      "expected_verdict": {
        "standard": "EIP7702_AUTHORIZATION_TUPLE",
        "conformance": "DEVIATES",
        "flagged": [
          "DELEGATION_CLEAR"
        ]
      },
      "policy_parameters": {
        "mode": "eip7702_tuple",
        "tuple": {
          "chain_id": 8453,
          "address": "0x0000000000000000000000000000000000000000",
          "nonce": "4"
        },
        "signature": {
          "r": "0x1111111111111111111111111111111111111111111111111111111111111111",
          "s": "0x0000000000000000000000000000000000000000000000000000000000000011",
          "y_parity": 1
        },
        "policy": {
          "delegate_allowlist": [
            "0x3333333333333333333333333333333333333333"
          ]
        }
      },
      "output_payload": {
        "mode": "eip7702_tuple",
        "classification": {
          "standard": "EIP7702_AUTHORIZATION_TUPLE",
          "primary_type": null,
          "encode_type": null,
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "eip7702_tuple",
            "policy": "a structured tuple was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "tuple.chain_id",
            "observed": "8453",
            "policy": "a zero chain id authorizes the delegation on every chain"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "tuple.address",
            "observed": null,
            "policy": "delegate_allowlist was not declared, or the tuple clears the delegation instead of naming one"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "FLAGGED",
            "severity": "informational",
            "field_path": "tuple.address",
            "observed": "0x0000000000000000000000000000000000000000",
            "policy": "the zero address clears the account code rather than naming a delegate"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "signature.s",
            "observed": "0x0000000000000000000000000000000000000000000000000000000000000011",
            "policy": "the low-s half order; a tuple above it is skipped by clients"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "tuple.nonce",
            "observed": "4",
            "policy": "18446744073709551615"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "NO_EXPIRY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "signature.y_parity",
            "observed": "1",
            "policy": "0 or 1"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "DELEGATE_NOT_ALLOWLISTED",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "LOOKALIKE_TYPE",
          "MESSAGE_FIELD_MISSING",
          "MESSAGE_FIELD_NOT_IN_TYPES",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "NO_EXPIRY",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "UNLIMITED_AMOUNT",
          "UNRECOGNIZED_TYPE",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH"
        ],
        "evaluated_count": 6,
        "flagged_count": 1,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "tuple.chain_id",
            "label": "Chain",
            "format": "chainId",
            "value": "8453",
            "params": {}
          },
          {
            "path": "tuple.address",
            "label": "Delegate",
            "format": "addressName",
            "value": "0x0000000000000000000000000000000000000000",
            "params": {
              "raw": "0x0000000000000000000000000000000000000000"
            }
          }
        ],
        "handoffs": {
          "art_614": {
            "chainId": "8453",
            "address": "0x0000000000000000000000000000000000000000",
            "nonce": "4",
            "r": "0x1111111111111111111111111111111111111111111111111111111111111111",
            "s": "0x0000000000000000000000000000000000000000000000000000000000000011",
            "yParity": 1
          }
        },
        "signature_form": null,
        "warnings": [
          "30 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "4216b9c5b6c7dbdc21cdcf36ceeb8fea9f66e38adaf11972d7ed46011b998a5d"
    },
    {
      "name": "tuple-high-s",
      "expectation_basis": "Pinned excerpt 14 step 3 requires s at or below the half order; the value here is the half order plus one.",
      "expected_verdict": {
        "standard": "EIP7702_AUTHORIZATION_TUPLE",
        "conformance": "DEVIATES",
        "flagged": [
          "EIP2_HIGH_S"
        ]
      },
      "policy_parameters": {
        "mode": "eip7702_tuple",
        "tuple": {
          "chain_id": 8453,
          "address": "0x3333333333333333333333333333333333333333",
          "nonce": "5"
        },
        "signature": {
          "r": "0x1111111111111111111111111111111111111111111111111111111111111111",
          "s": "0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1",
          "y_parity": 0
        },
        "policy": {
          "delegate_allowlist": [
            "0x3333333333333333333333333333333333333333"
          ]
        }
      },
      "output_payload": {
        "mode": "eip7702_tuple",
        "classification": {
          "standard": "EIP7702_AUTHORIZATION_TUPLE",
          "primary_type": null,
          "encode_type": null,
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "eip7702_tuple",
            "policy": "a structured tuple was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "tuple.chain_id",
            "observed": "8453",
            "policy": "a zero chain id authorizes the delegation on every chain"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "tuple.address",
            "observed": "0x3333333333333333333333333333333333333333",
            "policy": [
              "0x3333333333333333333333333333333333333333"
            ]
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "tuple.address",
            "observed": "0x3333333333333333333333333333333333333333",
            "policy": "the zero address clears the account code rather than naming a delegate"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "FLAGGED",
            "severity": "policy",
            "field_path": "signature.s",
            "observed": "0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1",
            "policy": "the low-s half order; a tuple above it is skipped by clients"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "tuple.nonce",
            "observed": "5",
            "policy": "18446744073709551615"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "NO_EXPIRY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "structure",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read structured data; this payload is a delegation tuple"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "signature.y_parity",
            "observed": "0",
            "policy": "0 or 1"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "LOOKALIKE_TYPE",
          "MESSAGE_FIELD_MISSING",
          "MESSAGE_FIELD_NOT_IN_TYPES",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "NO_EXPIRY",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "UNLIMITED_AMOUNT",
          "UNRECOGNIZED_TYPE",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH"
        ],
        "evaluated_count": 7,
        "flagged_count": 1,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "tuple.chain_id",
            "label": "Chain",
            "format": "chainId",
            "value": "8453",
            "params": {}
          },
          {
            "path": "tuple.address",
            "label": "Delegate",
            "format": "addressName",
            "value": "0x3333333333333333333333333333333333333333",
            "params": {
              "raw": "0x3333333333333333333333333333333333333333"
            }
          }
        ],
        "handoffs": {
          "art_614": {
            "chainId": "8453",
            "address": "0x3333333333333333333333333333333333333333",
            "nonce": "5",
            "r": "0x1111111111111111111111111111111111111111111111111111111111111111",
            "s": "0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a1",
            "yParity": 0
          }
        },
        "signature_form": null,
        "warnings": [
          "29 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "ca01b46e85ca119f102e2cfb5f984a52a3278c5b60a37cde5b3853d687e4f2f6"
    },
    {
      "name": "signature-65-byte-raw-yparity-v",
      "expectation_basis": "Pinned excerpt 13a: the recovery path rejects a v outside 27 and 28, so a raw parity byte fails there.",
      "expected_verdict": {
        "standard": "ERC2612_PERMIT",
        "conformance": "DEVIATES",
        "flagged": [
          "V_FORM_RAW_YPARITY"
        ]
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "USD Coin",
            "version": "2",
            "chainId": 1,
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "Permit": [
              {
                "name": "owner",
                "type": "address"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "value",
                "type": "uint256"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "Permit",
          "message": {
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000"
          }
        },
        "signature": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa111111111111111111111111111111111111111111111111111111111111111100"
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "ERC2612_PERMIT",
          "primary_type": "Permit",
          "encode_type": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "signature",
            "observed": "65",
            "policy": "the wrapper suffix marks a counterfactual smart-wallet signature, where key recovery does not apply"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "signature",
            "observed": "0x1111111111111111111111111111111111111111111111111111111111111111",
            "policy": "the low-s half order"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "Permit",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "signature",
            "observed": {
              "length_class": "65",
              "bytes": 65
            },
            "policy": "65-byte, 64-byte compact, or a wrapped smart-wallet form"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.value",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "FLAGGED",
            "severity": "policy",
            "field_path": "signature",
            "observed": 0,
            "policy": "a 65-byte signature carries v of 27 or 28 on the paths that recover it"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "NONCE_OUT_OF_RANGE",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 11,
        "flagged_count": 1,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "params": {
              "raw": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x1111111111111111111111111111111111111111",
            "params": {
              "raw": "0x1111111111111111111111111111111111111111"
            }
          },
          {
            "path": "message.value",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          }
        ],
        "handoffs": {
          "art_612": {
            "name": "USD Coin",
            "version": "2",
            "chainId": "1",
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000",
            "r": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
            "s": "0x1111111111111111111111111111111111111111111111111111111111111111",
            "yParity": 0
          }
        },
        "signature_form": {
          "length_class": "65",
          "bytes": 65,
          "v": 0
        },
        "warnings": [
          "25 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "c40095f3a5ce7a9cf8613301b783c1bc108702009e1d7f80d339d1009a40ce48"
    },
    {
      "name": "signature-65-byte-legacy-v",
      "expectation_basis": "Control for the raw-parity vector: the same payload with v of 27 raises no signature-form flag.",
      "expected_verdict": {
        "standard": "ERC2612_PERMIT",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "USD Coin",
            "version": "2",
            "chainId": 1,
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "Permit": [
              {
                "name": "owner",
                "type": "address"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "value",
                "type": "uint256"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "Permit",
          "message": {
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000"
          }
        },
        "signature": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa11111111111111111111111111111111111111111111111111111111111111111b"
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "ERC2612_PERMIT",
          "primary_type": "Permit",
          "encode_type": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "signature",
            "observed": "65",
            "policy": "the wrapper suffix marks a counterfactual smart-wallet signature, where key recovery does not apply"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "signature",
            "observed": "0x1111111111111111111111111111111111111111111111111111111111111111",
            "policy": "the low-s half order"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "Permit",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "signature",
            "observed": {
              "length_class": "65",
              "bytes": 65
            },
            "policy": "65-byte, 64-byte compact, or a wrapped smart-wallet form"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.value",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "signature",
            "observed": 27,
            "policy": "a 65-byte signature carries v of 27 or 28 on the paths that recover it"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "NONCE_OUT_OF_RANGE",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 11,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "params": {
              "raw": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x1111111111111111111111111111111111111111",
            "params": {
              "raw": "0x1111111111111111111111111111111111111111"
            }
          },
          {
            "path": "message.value",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          }
        ],
        "handoffs": {
          "art_612": {
            "name": "USD Coin",
            "version": "2",
            "chainId": "1",
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000",
            "r": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
            "s": "0x1111111111111111111111111111111111111111111111111111111111111111",
            "yParity": 0
          }
        },
        "signature_form": {
          "length_class": "65",
          "bytes": 65,
          "v": 27
        },
        "warnings": [
          "25 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "0846952f56af3f21a7570f49b50bac87fb8060040db8707eff894bfdadbe9a5c"
    },
    {
      "name": "x402-exact-amount-above-requirement",
      "expectation_basis": "Pinned excerpt 04: under the exact scheme the signed amount is the charged amount, so 1000000 against a 500000 requirement deviates.",
      "expected_verdict": {
        "standard": "PERMIT2_PERMIT_WITNESS_TRANSFER_FROM",
        "conformance": "DEVIATES",
        "flagged": [
          "X402_AMOUNT_MISMATCH"
        ]
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "Permit2",
            "chainId": 8453,
            "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "PermitWitnessTransferFrom": [
              {
                "name": "permitted",
                "type": "TokenPermissions"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              },
              {
                "name": "witness",
                "type": "Witness"
              }
            ],
            "TokenPermissions": [
              {
                "name": "token",
                "type": "address"
              },
              {
                "name": "amount",
                "type": "uint256"
              }
            ],
            "Witness": [
              {
                "name": "to",
                "type": "address"
              },
              {
                "name": "validAfter",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "PermitWitnessTransferFrom",
          "message": {
            "permitted": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "amount": "1000000"
            },
            "spender": "0x402085c248EeA27D92E8b30b2C58ed07f9E20001",
            "nonce": "9",
            "deadline": "2000000000",
            "witness": {
              "to": "0x2222222222222222222222222222222222222222",
              "validAfter": "1700000000"
            }
          }
        },
        "policy": {
          "expected_x402": {
            "scheme": "exact",
            "asset": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "payTo": "0x2222222222222222222222222222222222222222",
            "amount": "500000"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "PERMIT2_PERMIT_WITNESS_TRANSFER_FROM",
          "primary_type": "PermitWitnessTransferFrom",
          "encode_type": "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,Witness witness)TokenPermissions(address token,uint256 amount)Witness(address to,uint256 validAfter)",
          "witness_type": "Witness(address to,uint256 validAfter)",
          "witness_is_named_payment_witness": true,
          "lookalike": false,
          "entry_count": 1,
          "payment_method": "permit2"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "PermitWitnessTransferFrom",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.witness.validAfter",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "domain",
            "observed": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            },
            "policy": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,Witness witness)TokenPermissions(address token,uint256 amount)Witness(address to,uint256 validAfter)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "FLAGGED",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": "1000000",
            "policy": {
              "scheme": "exact",
              "amount": "500000",
              "rule": "the signed amount equals the required amount"
            }
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "policy": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": "permit2",
            "policy": "only the authorization-signature methods can be checked without a chain read"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": "0x2222222222222222222222222222222222222222",
            "policy": "0x2222222222222222222222222222222222222222"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_NETWORK_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 12,
        "flagged_count": 1,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "8453",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0x000000000022d473030f116ddee9f6b43ac78ba3",
            "params": {
              "raw": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x402085c248eea27d92e8b30b2c58ed07f9e20001",
            "params": {
              "raw": "0x402085c248eea27d92e8b30b2c58ed07f9e20001"
            }
          },
          {
            "path": "message.to",
            "label": "Recipient",
            "format": "addressName",
            "value": "0x2222222222222222222222222222222222222222",
            "params": {
              "raw": "0x2222222222222222222222222222222222222222"
            }
          },
          {
            "path": "message.permitted.amount",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          },
          {
            "path": "message.witness.validAfter",
            "label": "Valid from",
            "format": "date",
            "value": "2023-11-14T22:13:20Z",
            "params": {
              "unix": "1700000000"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "24 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "bd21fd72ad5d5de5cf0ef1e1e7c03a7513c33b265cbc4898cd6dc04ef250a019"
    },
    {
      "name": "x402-upto-amount-above-requirement",
      "expectation_basis": "Pinned excerpt 04: under the upto scheme the signed amount is a ceiling and the settled amount must be at or below it, so the same pair conforms.",
      "expected_verdict": {
        "standard": "PERMIT2_PERMIT_WITNESS_TRANSFER_FROM",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "Permit2",
            "chainId": 8453,
            "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "PermitWitnessTransferFrom": [
              {
                "name": "permitted",
                "type": "TokenPermissions"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              },
              {
                "name": "witness",
                "type": "Witness"
              }
            ],
            "TokenPermissions": [
              {
                "name": "token",
                "type": "address"
              },
              {
                "name": "amount",
                "type": "uint256"
              }
            ],
            "Witness": [
              {
                "name": "to",
                "type": "address"
              },
              {
                "name": "validAfter",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "PermitWitnessTransferFrom",
          "message": {
            "permitted": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "amount": "1000000"
            },
            "spender": "0x402085c248EeA27D92E8b30b2C58ed07f9E20001",
            "nonce": "9",
            "deadline": "2000000000",
            "witness": {
              "to": "0x2222222222222222222222222222222222222222",
              "validAfter": "1700000000"
            }
          }
        },
        "policy": {
          "expected_x402": {
            "scheme": "upto",
            "asset": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "payTo": "0x2222222222222222222222222222222222222222",
            "amount": "500000"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "PERMIT2_PERMIT_WITNESS_TRANSFER_FROM",
          "primary_type": "PermitWitnessTransferFrom",
          "encode_type": "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,Witness witness)TokenPermissions(address token,uint256 amount)Witness(address to,uint256 validAfter)",
          "witness_type": "Witness(address to,uint256 validAfter)",
          "witness_is_named_payment_witness": true,
          "lookalike": false,
          "entry_count": 1,
          "payment_method": "permit2"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "PermitWitnessTransferFrom",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.witness.validAfter",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "domain",
            "observed": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            },
            "policy": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,Witness witness)TokenPermissions(address token,uint256 amount)Witness(address to,uint256 validAfter)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": "1000000",
            "policy": {
              "scheme": "upto",
              "amount": "500000",
              "rule": "the signed amount is a ceiling and is at least the required amount"
            }
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "policy": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": "permit2",
            "policy": "only the authorization-signature methods can be checked without a chain read"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": "0x2222222222222222222222222222222222222222",
            "policy": "0x2222222222222222222222222222222222222222"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_NETWORK_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 12,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "8453",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0x000000000022d473030f116ddee9f6b43ac78ba3",
            "params": {
              "raw": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x402085c248eea27d92e8b30b2c58ed07f9e20001",
            "params": {
              "raw": "0x402085c248eea27d92e8b30b2c58ed07f9e20001"
            }
          },
          {
            "path": "message.to",
            "label": "Recipient",
            "format": "addressName",
            "value": "0x2222222222222222222222222222222222222222",
            "params": {
              "raw": "0x2222222222222222222222222222222222222222"
            }
          },
          {
            "path": "message.permitted.amount",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          },
          {
            "path": "message.witness.validAfter",
            "label": "Valid from",
            "format": "date",
            "value": "2023-11-14T22:13:20Z",
            "params": {
              "unix": "1700000000"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "24 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "94bd8e5ca66dd5429b42880990e07f0c00582f4d702aab7310ea1b875475677c"
    },
    {
      "name": "x402-intent-mismatch-on-payto",
      "expectation_basis": "The recipient bound into the witness is not the payee the request decided on, which is the sign-what-you-validated failure.",
      "expected_verdict": {
        "standard": "PERMIT2_PERMIT_WITNESS_TRANSFER_FROM",
        "conformance": "DEVIATES",
        "flagged": [
          "PAYLOAD_DIVERGES_FROM_INTENT"
        ]
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "Permit2",
            "chainId": 8453,
            "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "PermitWitnessTransferFrom": [
              {
                "name": "permitted",
                "type": "TokenPermissions"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              },
              {
                "name": "witness",
                "type": "Witness"
              }
            ],
            "TokenPermissions": [
              {
                "name": "token",
                "type": "address"
              },
              {
                "name": "amount",
                "type": "uint256"
              }
            ],
            "Witness": [
              {
                "name": "to",
                "type": "address"
              },
              {
                "name": "validAfter",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "PermitWitnessTransferFrom",
          "message": {
            "permitted": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "amount": "1000000"
            },
            "spender": "0x402085c248EeA27D92E8b30b2C58ed07f9E20001",
            "nonce": "9",
            "deadline": "2000000000",
            "witness": {
              "to": "0x2222222222222222222222222222222222222222",
              "validAfter": "1700000000"
            }
          }
        },
        "policy": {
          "intent": {
            "payee": "0x1111111111111111111111111111111111111111",
            "asset": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "max_amount": "1000000",
            "chain_id": 8453
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "PERMIT2_PERMIT_WITNESS_TRANSFER_FROM",
          "primary_type": "PermitWitnessTransferFrom",
          "encode_type": "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,Witness witness)TokenPermissions(address token,uint256 amount)Witness(address to,uint256 validAfter)",
          "witness_type": "Witness(address to,uint256 validAfter)",
          "witness_is_named_payment_witness": true,
          "lookalike": false,
          "entry_count": 1,
          "payment_method": "permit2"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "PermitWitnessTransferFrom",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.witness.validAfter",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "FLAGGED",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "diverging": [
                {
                  "field": "payee",
                  "observed": "0x2222222222222222222222222222222222222222",
                  "intent": "0x1111111111111111111111111111111111111111"
                }
              ],
              "compared": [
                "payee",
                "asset",
                "max_amount",
                "chain_id"
              ]
            },
            "policy": "the payload must carry the values the request decided on"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "domain",
            "observed": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            },
            "policy": {
              "domain_fields": [
                "name",
                "chainId",
                "verifyingContract"
              ],
              "name": "Permit2",
              "verifying_contract": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "PermitWitnessTransferFrom(TokenPermissions permitted,address spender,uint256 nonce,uint256 deadline,Witness witness)TokenPermissions(address token,uint256 amount)Witness(address to,uint256 validAfter)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.permitted.amount",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 9,
        "flagged_count": 1,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "8453",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0x000000000022d473030f116ddee9f6b43ac78ba3",
            "params": {
              "raw": "0x000000000022d473030f116ddee9f6b43ac78ba3"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x402085c248eea27d92e8b30b2c58ed07f9e20001",
            "params": {
              "raw": "0x402085c248eea27d92e8b30b2c58ed07f9e20001"
            }
          },
          {
            "path": "message.to",
            "label": "Recipient",
            "format": "addressName",
            "value": "0x2222222222222222222222222222222222222222",
            "params": {
              "raw": "0x2222222222222222222222222222222222222222"
            }
          },
          {
            "path": "message.permitted.amount",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          },
          {
            "path": "message.witness.validAfter",
            "label": "Valid from",
            "format": "date",
            "value": "2023-11-14T22:13:20Z",
            "params": {
              "unix": "1700000000"
            }
          }
        ],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "27 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "15da7fdf7f3e05ea516fa49bdf4d4c195d93c331cab893c8e1a2aad88a7878b4"
    },
    {
      "name": "absence-no-policy-declared",
      "expectation_basis": "No policy member is declared, so every policy check reports NOT_EVALUATED and is listed separately rather than counted CLEAR.",
      "expected_verdict": {
        "standard": "ERC2612_PERMIT",
        "conformance": "CONFORMS",
        "flagged": []
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "USD Coin",
            "version": "2",
            "chainId": 1,
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "Permit": [
              {
                "name": "owner",
                "type": "address"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "value",
                "type": "uint256"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "Permit",
          "message": {
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "ERC2612_PERMIT",
          "primary_type": "Permit",
          "encode_type": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "max_amount_by_token was not declared, or the classified payload carries no amount member"
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "active_chain_id was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "Permit",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "spender_allowlist was not declared, or the classified payload carries no spender"
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.value",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "AMOUNT_ABOVE_POLICY",
          "CHAIN_MISMATCH_ACTIVE",
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_ALLOWLISTED",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 7,
        "flagged_count": 0,
        "policy_conformance": "CONFORMS",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "params": {
              "raw": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x1111111111111111111111111111111111111111",
            "params": {
              "raw": "0x1111111111111111111111111111111111111111"
            }
          },
          {
            "path": "message.value",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          }
        ],
        "handoffs": {
          "art_612": {
            "name": "USD Coin",
            "version": "2",
            "chainId": "1",
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000",
            "r": null,
            "s": null,
            "yParity": null
          }
        },
        "signature_form": null,
        "warnings": [
          "29 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "5b490d32b349d6dd020fb7484027254939121c5478e4cc2d429bb15f958be12f"
    },
    {
      "name": "absence-same-payload-with-policy-declared",
      "expectation_basis": "The same payload with the three members declared: the chain matches, the spender is outside the allowlist, and the amount is above the per-token maximum.",
      "expected_verdict": {
        "standard": "ERC2612_PERMIT",
        "conformance": "DEVIATES",
        "flagged": [
          "AMOUNT_ABOVE_POLICY",
          "SPENDER_NOT_ALLOWLISTED"
        ]
      },
      "policy_parameters": {
        "mode": "typed_data",
        "typed_data": {
          "domain": {
            "name": "USD Coin",
            "version": "2",
            "chainId": 1,
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
          },
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "Permit": [
              {
                "name": "owner",
                "type": "address"
              },
              {
                "name": "spender",
                "type": "address"
              },
              {
                "name": "value",
                "type": "uint256"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              }
            ]
          },
          "primaryType": "Permit",
          "message": {
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000"
          }
        },
        "policy": {
          "active_chain_id": 1,
          "spender_allowlist": [
            "0x2222222222222222222222222222222222222222"
          ],
          "max_amount_by_token": {
            "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "500000"
          }
        }
      },
      "output_payload": {
        "mode": "typed_data",
        "classification": {
          "standard": "ERC2612_PERMIT",
          "primary_type": "Permit",
          "encode_type": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)",
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [
          {
            "id": "AMOUNT_ABOVE_POLICY",
            "status": "FLAGGED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": {
              "over_policy": [
                {
                  "path": "message.value",
                  "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                  "amount": "1000000",
                  "max": "500000"
                }
              ],
              "compared": [
                {
                  "path": "message.value",
                  "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                  "amount": "1000000",
                  "max": "500000"
                }
              ],
              "entry_count": null
            },
            "policy": {
              "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": "500000"
            }
          },
          {
            "id": "BLIND_SIGNATURE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "mode",
            "observed": "typed_data",
            "policy": "a structured payload was supplied"
          },
          {
            "id": "CHAIN_MISMATCH_ACTIVE",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": "1",
            "policy": "1"
          },
          {
            "id": "CHAIN_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "allowed_chain_ids was not declared, or the payload carries no domain.chainId"
          },
          {
            "id": "CROSS_CHAIN_AUTHORIZATION",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "DELEGATION_CLEAR",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP2_HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "EIP3009_TRANSFER_TO_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.to",
            "observed": null,
            "policy": "contract_addresses was not declared, or the payload is not the transfer-form authorization"
          },
          {
            "id": "ERC6492_WRAPPED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "ERC7730_DESCRIPTOR_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "erc7730_descriptor was not declared"
          },
          {
            "id": "EXPIRED",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "now_unix or a deadline member was not present"
          },
          {
            "id": "HIGH_S",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied, or it carries no recoverable s"
          },
          {
            "id": "LOOKALIKE_TYPE",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.primaryType",
            "observed": "Permit",
            "policy": "a known struct name must carry its canonical encodeType"
          },
          {
            "id": "MESSAGE_FIELD_MISSING",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every declared member must be present in message"
          },
          {
            "id": "MESSAGE_FIELD_NOT_IN_TYPES",
            "status": "CLEAR",
            "severity": "structure",
            "field_path": "typed_data.message",
            "observed": [],
            "policy": "every message member must be declared in types"
          },
          {
            "id": "NONCE_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          },
          {
            "id": "NON_ECDSA_LENGTH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no signature was supplied"
          },
          {
            "id": "NOT_YET_VALID",
            "status": "NOT_EVALUATED",
            "severity": "informational",
            "field_path": "message",
            "observed": null,
            "policy": "now_unix or a start-of-window member was not present"
          },
          {
            "id": "NO_EXPIRY",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message",
            "observed": {
              "no_expiry": [],
              "expires_this_block": []
            },
            "policy": "a ceiling deadline, or a zero expiry on the legacy permit struct, never expires"
          },
          {
            "id": "PAYEE_NOT_ALLOWLISTED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "payee_allowlist was not declared, or the classified payload carries no payee"
          },
          {
            "id": "PAYLOAD_DIVERGES_FROM_INTENT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "intent was not declared"
          },
          {
            "id": "PERMIT2_DOMAIN_SHAPE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain",
            "observed": null,
            "policy": "the payload is not classified as one of the recognised allowance-router types"
          },
          {
            "id": "SPENDER_NOT_ALLOWLISTED",
            "status": "FLAGGED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": "0x1111111111111111111111111111111111111111",
            "policy": [
              "0x2222222222222222222222222222222222222222"
            ]
          },
          {
            "id": "SPENDER_NOT_DECLARED_CONTRACT",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.spender",
            "observed": null,
            "policy": "contract_addresses was not declared, or the classified payload carries no spender"
          },
          {
            "id": "UNLIMITED_AMOUNT",
            "status": "CLEAR",
            "severity": "policy",
            "field_path": "message.value",
            "observed": [],
            "policy": "an amount at its type ceiling is an unlimited allowance"
          },
          {
            "id": "UNRECOGNIZED_TYPE",
            "status": "CLEAR",
            "severity": "informational",
            "field_path": "typed_data.primaryType",
            "observed": "Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)",
            "policy": "classification by encodeType string equality"
          },
          {
            "id": "VALIDITY_BEYOND_POLICY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.deadline",
            "observed": null,
            "policy": "max_validity_seconds, now_unix, or a deadline member was not present"
          },
          {
            "id": "VERIFYING_CONTRACT_NOT_ALLOWED",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.verifyingContract",
            "observed": null,
            "policy": "allowed_verifying_contracts was not declared, or the payload carries no domain.verifyingContract"
          },
          {
            "id": "V_FORM_RAW_YPARITY",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "signature",
            "observed": null,
            "policy": "no 65-byte signature was supplied"
          },
          {
            "id": "X402_AMOUNT_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message.value",
            "observed": null,
            "policy": "expected_x402.scheme, expected_x402.amount, or an amount member was not present"
          },
          {
            "id": "X402_ASSET_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.asset was not declared, or the classified payload carries no token"
          },
          {
            "id": "X402_METHOD_NOT_OFFLINE_CHECKABLE",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "typed_data.primaryType",
            "observed": null,
            "policy": "expected_x402 was not declared"
          },
          {
            "id": "X402_NETWORK_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "domain.chainId",
            "observed": null,
            "policy": "expected_x402.network, the caller-declared network_chain_ids map, or domain.chainId was not present"
          },
          {
            "id": "X402_PAYTO_MISMATCH",
            "status": "NOT_EVALUATED",
            "severity": "policy",
            "field_path": "message",
            "observed": null,
            "policy": "expected_x402.payTo was not declared, or the classified payload carries no payee"
          },
          {
            "id": "Y_PARITY_OUT_OF_RANGE",
            "status": "NOT_EVALUATED",
            "severity": "eip7702",
            "field_path": "mode",
            "observed": null,
            "policy": "these checks read a delegation tuple; this payload is structured data"
          }
        ],
        "not_evaluated": [
          "CHAIN_NOT_ALLOWED",
          "CROSS_CHAIN_AUTHORIZATION",
          "DELEGATE_NOT_ALLOWLISTED",
          "DELEGATION_CLEAR",
          "EIP2_HIGH_S",
          "EIP3009_TRANSFER_TO_CONTRACT",
          "ERC6492_WRAPPED",
          "ERC7730_DESCRIPTOR_MISMATCH",
          "EXPIRED",
          "HIGH_S",
          "NONCE_OUT_OF_RANGE",
          "NON_ECDSA_LENGTH",
          "NOT_YET_VALID",
          "PAYEE_NOT_ALLOWLISTED",
          "PAYLOAD_DIVERGES_FROM_INTENT",
          "PERMIT2_DOMAIN_SHAPE",
          "SPENDER_NOT_DECLARED_CONTRACT",
          "VALIDITY_BEYOND_POLICY",
          "VERIFYING_CONTRACT_NOT_ALLOWED",
          "V_FORM_RAW_YPARITY",
          "X402_AMOUNT_MISMATCH",
          "X402_ASSET_MISMATCH",
          "X402_METHOD_NOT_OFFLINE_CHECKABLE",
          "X402_NETWORK_MISMATCH",
          "X402_PAYTO_MISMATCH",
          "Y_PARITY_OUT_OF_RANGE"
        ],
        "evaluated_count": 10,
        "flagged_count": 2,
        "policy_conformance": "DEVIATES",
        "display": [
          {
            "path": "domain.chainId",
            "label": "Chain",
            "format": "chainId",
            "value": "1",
            "params": {}
          },
          {
            "path": "domain.verifyingContract",
            "label": "Verifying contract",
            "format": "addressName",
            "value": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "params": {
              "raw": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
            }
          },
          {
            "path": "message.spender",
            "label": "Spender",
            "format": "addressName",
            "value": "0x1111111111111111111111111111111111111111",
            "params": {
              "raw": "0x1111111111111111111111111111111111111111"
            }
          },
          {
            "path": "message.value",
            "label": "Amount",
            "format": "tokenAmount",
            "value": "1000000",
            "params": {
              "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
              "decimals": null,
              "ticker": null,
              "raw_base_units": true
            }
          },
          {
            "path": "message.deadline",
            "label": "Expires",
            "format": "date",
            "value": "2033-05-18T03:33:20Z",
            "params": {
              "unix": "2000000000"
            }
          }
        ],
        "handoffs": {
          "art_612": {
            "name": "USD Coin",
            "version": "2",
            "chainId": "1",
            "verifyingContract": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
            "owner": "0xe05fcc23807536bee418f142d19fa0d21bb0cff7",
            "spender": "0x1111111111111111111111111111111111111111",
            "value": "1000000",
            "nonce": "0",
            "deadline": "2000000000",
            "r": null,
            "s": null,
            "yParity": null
          }
        },
        "signature_form": null,
        "warnings": [
          "26 check(s) could not be evaluated because a declared input was absent; they are listed in not_evaluated and are never counted as CLEAR"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "3909d0eccb3c44fd35d6a786562039d36f312540cbbd96bfa1941480ce129a05"
    },
    {
      "name": "mode-not-declared",
      "expectation_basis": "mode is mandatory and is never inferred; nothing is read and no check is evaluated.",
      "expected_verdict": {
        "standard": "NOT_CLASSIFIED",
        "conformance": "INDETERMINATE",
        "flagged": []
      },
      "policy_parameters": {},
      "output_payload": {
        "mode": null,
        "classification": {
          "standard": "NOT_CLASSIFIED",
          "primary_type": null,
          "encode_type": null,
          "witness_type": null,
          "witness_is_named_payment_witness": false,
          "lookalike": false,
          "entry_count": null,
          "payment_method": "not_detected"
        },
        "checks": [],
        "not_evaluated": [],
        "evaluated_count": 0,
        "flagged_count": 0,
        "policy_conformance": "INDETERMINATE",
        "display": [],
        "handoffs": {},
        "signature_form": null,
        "warnings": [
          "mode is required and must be one of typed_data, eip7702_tuple, raw_hash; nothing was read"
        ],
        "scope_note": "Classifies an authorization payload that is about to be signed and reports how it stands against a signing policy the caller declares. Classification is string equality of the computed encodeType against canonical type strings, so a type this node does not recognise is reported as UNRECOGNIZED and never guessed. Every threshold, allowlist, counterparty set and clock reading is a caller-declared input: a check whose input was not declared reports NOT_EVALUATED and is listed separately, never folded into a CLEAR. This node performs no chain read, recovers no signer, computes no digest, and never submits anything. It reports flags against a declared policy; it does not judge a counterparty, a delegate contract, or an outcome."
      },
      "golden_hash": "f3d39520a12430e629c9d6527f9a2e0af671a346558cc146f31528b51eea6e61"
    }
  ]
}
