{
  "description": "Typed-data signature request digest vectors. Fixed-order canonical_form is the exact UTF-8 input to request_digest. These are public fictional data, not signable production requests. The fixture runner cross-checks EIP-712 digests with ethers and viem.",
  "cases": [
    {
      "name": "permit",
      "note": "Baseline fictional ERC-2612-shaped approval; no delivery restriction.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000000",
            "nonce": "7",
            "deadline": "1800000100"
          }
        },
        "valid_until": "1800000000"
      },
      "domain_separator": "0x93ca96f8729c574068fa783f8dcd9e2771562c00d09dbba158d4ba4f467ae94f",
      "message_hash": "0x3450df19acca7b756d3d2e4ef2d9fca0039d6963a874e7be3232b7e273b95b10",
      "signing_digest": "0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f\",\"valid_until\":\"1800000000\",\"delivery\":null}",
      "request_digest": "0x52966f5b3b68cc7c68070316bbf3155d902e6cc27b163174bae549b1d9e3e90d"
    },
    {
      "name": "object-key-order",
      "note": "Object key order changes exact bytes but not either semantic digest. Type member array order is preserved.",
      "request": {
        "valid_until": "1800000000",
        "typed_data": {
          "message": {
            "deadline": "1800000100",
            "nonce": "7",
            "value": "1000000",
            "spender": "0x3333333333333333333333333333333333333333",
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01"
          },
          "domain": {
            "verifyingContract": "0x2222222222222222222222222222222222222222",
            "chainId": "1",
            "version": "1",
            "name": "Example Token"
          },
          "primaryType": "Permit",
          "types": {
            "Permit": [
              {
                "type": "address",
                "name": "owner"
              },
              {
                "type": "address",
                "name": "spender"
              },
              {
                "type": "uint256",
                "name": "value"
              },
              {
                "type": "uint256",
                "name": "nonce"
              },
              {
                "type": "uint256",
                "name": "deadline"
              }
            ],
            "EIP712Domain": [
              {
                "type": "string",
                "name": "name"
              },
              {
                "type": "string",
                "name": "version"
              },
              {
                "type": "uint256",
                "name": "chainId"
              },
              {
                "type": "address",
                "name": "verifyingContract"
              }
            ]
          }
        },
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "kind": "typed_data_signature_request",
        "schema_version": "1"
      },
      "domain_separator": "0x93ca96f8729c574068fa783f8dcd9e2771562c00d09dbba158d4ba4f467ae94f",
      "message_hash": "0x3450df19acca7b756d3d2e4ef2d9fca0039d6963a874e7be3232b7e273b95b10",
      "signing_digest": "0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f\",\"valid_until\":\"1800000000\",\"delivery\":null}",
      "request_digest": "0x52966f5b3b68cc7c68070316bbf3155d902e6cc27b163174bae549b1d9e3e90d"
    },
    {
      "name": "hexadecimal-case",
      "note": "Consumers normalize hexadecimal case. Non-lowercase producers are noncanonical, but this is a required consumer normalization vector.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xABCDEF0123456789ABCDEF0123456789ABCDEF01",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xABCDEF0123456789ABCDEF0123456789ABCDEF01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000000",
            "nonce": "7",
            "deadline": "1800000100"
          }
        },
        "valid_until": "1800000000"
      },
      "domain_separator": "0x93ca96f8729c574068fa783f8dcd9e2771562c00d09dbba158d4ba4f467ae94f",
      "message_hash": "0x3450df19acca7b756d3d2e4ef2d9fca0039d6963a874e7be3232b7e273b95b10",
      "signing_digest": "0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f\",\"valid_until\":\"1800000000\",\"delivery\":null}",
      "request_digest": "0x52966f5b3b68cc7c68070316bbf3155d902e6cc27b163174bae549b1d9e3e90d"
    },
    {
      "name": "domain-chain",
      "note": "Same message struct hash, different signing and request digests.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "8453",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000000",
            "nonce": "7",
            "deadline": "1800000100"
          }
        },
        "valid_until": "1800000000"
      },
      "domain_separator": "0x0bb054ad21b2e7ed1128021942f645bf516af4e95acb3fd014ad6a594e2a37e0",
      "message_hash": "0x3450df19acca7b756d3d2e4ef2d9fca0039d6963a874e7be3232b7e273b95b10",
      "signing_digest": "0x0ffef066c9b3cfe9cb79d8766f1c7e0dfe70d3b907560905bdb4d4196a9823db",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0x0ffef066c9b3cfe9cb79d8766f1c7e0dfe70d3b907560905bdb4d4196a9823db\",\"valid_until\":\"1800000000\",\"delivery\":null}",
      "request_digest": "0x15020989b8d7cf63220a0bc9107032d2bae1b750d08e0ce9c6b2b645b231f88d"
    },
    {
      "name": "domain-verifier",
      "note": "Same message struct hash, different domain verifier.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x4444444444444444444444444444444444444444"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000000",
            "nonce": "7",
            "deadline": "1800000100"
          }
        },
        "valid_until": "1800000000"
      },
      "domain_separator": "0xf0049eeb97bab3089c91d67fe5e91cf963d0b602d6bf98e7a98013c5784caedd",
      "message_hash": "0x3450df19acca7b756d3d2e4ef2d9fca0039d6963a874e7be3232b7e273b95b10",
      "signing_digest": "0xfbd0f7dfa1b612cd74c5f5dbfbd523cd132ca2976554f1768480d87bb50b0c5a",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0xfbd0f7dfa1b612cd74c5f5dbfbd523cd132ca2976554f1768480d87bb50b0c5a\",\"valid_until\":\"1800000000\",\"delivery\":null}",
      "request_digest": "0x4f623f2766f4e3ef286a7e208e4365b39c4670175dd14f39510e73c9150c6a19"
    },
    {
      "name": "signer",
      "note": "Changes only requested signer, not message. A real permit policy must reject owner/signer mismatch.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0x5555555555555555555555555555555555555555",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000000",
            "nonce": "7",
            "deadline": "1800000100"
          }
        },
        "valid_until": "1800000000"
      },
      "domain_separator": "0x93ca96f8729c574068fa783f8dcd9e2771562c00d09dbba158d4ba4f467ae94f",
      "message_hash": "0x3450df19acca7b756d3d2e4ef2d9fca0039d6963a874e7be3232b7e273b95b10",
      "signing_digest": "0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0x5555555555555555555555555555555555555555\",\"signing_digest\":\"0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f\",\"valid_until\":\"1800000000\",\"delivery\":null}",
      "request_digest": "0xe80e45330e23d4a1b43cde1d601c0ae89afa955fba61e98cea23b6fd930204fb"
    },
    {
      "name": "amount",
      "note": "Changing authorized amount changes both semantic digests.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000001",
            "nonce": "7",
            "deadline": "1800000100"
          }
        },
        "valid_until": "1800000000"
      },
      "domain_separator": "0x93ca96f8729c574068fa783f8dcd9e2771562c00d09dbba158d4ba4f467ae94f",
      "message_hash": "0xe184c48b6d50d22d90a0f1c1bc3155925827d9971cf3f5a13498fab85ea1e310",
      "signing_digest": "0x51bf5b4db6e49a9ad3f9b42c5324e91d98624306f9b070be679d139bb0365ff4",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0x51bf5b4db6e49a9ad3f9b42c5324e91d98624306f9b070be679d139bb0365ff4\",\"valid_until\":\"1800000000\",\"delivery\":null}",
      "request_digest": "0x6587502c430eded76ce93db1de55ad7ba32b0a12b8dd64deb8229bae6274dde8"
    },
    {
      "name": "protocol-deadline",
      "note": "Signed protocol deadline changes both semantic digests.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000000",
            "nonce": "7",
            "deadline": "1800000200"
          }
        },
        "valid_until": "1800000000"
      },
      "domain_separator": "0x93ca96f8729c574068fa783f8dcd9e2771562c00d09dbba158d4ba4f467ae94f",
      "message_hash": "0xf36d6407f9365351d367b3fd1e9f4f98dca03e13e4ba98fee82db300fd85390e",
      "signing_digest": "0x3e8ce9fce22e79d03fb0de3352b310e4c99e6b62bc4c236ae282f337f9a7038e",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0x3e8ce9fce22e79d03fb0de3352b310e4c99e6b62bc4c236ae282f337f9a7038e\",\"valid_until\":\"1800000000\",\"delivery\":null}",
      "request_digest": "0xc3616ddbea67c6dc5c6baefea6a1ed8344c7490071a0a502328b6875928220de"
    },
    {
      "name": "wallet-cutoff",
      "note": "Wallet cutoff changes only request digest.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000000",
            "nonce": "7",
            "deadline": "1800000100"
          }
        },
        "valid_until": "1799999999"
      },
      "domain_separator": "0x93ca96f8729c574068fa783f8dcd9e2771562c00d09dbba158d4ba4f467ae94f",
      "message_hash": "0x3450df19acca7b756d3d2e4ef2d9fca0039d6963a874e7be3232b7e273b95b10",
      "signing_digest": "0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f\",\"valid_until\":\"1799999999\",\"delivery\":null}",
      "request_digest": "0xbd136b37684f72dc5746cd84f44d5b52bc008c60acb354952f9449c90179edc5"
    },
    {
      "name": "no-wallet-cutoff",
      "note": "Absent cutoff becomes null in projection only.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000000",
            "nonce": "7",
            "deadline": "1800000100"
          }
        }
      },
      "domain_separator": "0x93ca96f8729c574068fa783f8dcd9e2771562c00d09dbba158d4ba4f467ae94f",
      "message_hash": "0x3450df19acca7b756d3d2e4ef2d9fca0039d6963a874e7be3232b7e273b95b10",
      "signing_digest": "0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f\",\"valid_until\":null,\"delivery\":null}",
      "request_digest": "0xb250bfba1de3a54857828acec8d09a9948499e65a7d299cb6b54e3f9592faec1"
    },
    {
      "name": "delivery",
      "note": "Controlled release requirement changes only request digest; verified fetch origin must match.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000000",
            "nonce": "7",
            "deadline": "1800000100"
          }
        },
        "valid_until": "1800000000",
        "delivery": {
          "url": "https://producer.example/signature-results",
          "request_id": "quote-123-permit-1"
        }
      },
      "domain_separator": "0x93ca96f8729c574068fa783f8dcd9e2771562c00d09dbba158d4ba4f467ae94f",
      "message_hash": "0x3450df19acca7b756d3d2e4ef2d9fca0039d6963a874e7be3232b7e273b95b10",
      "signing_digest": "0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f\",\"valid_until\":\"1800000000\",\"delivery\":{\"url\":\"https://producer.example/signature-results\",\"request_id\":\"quote-123-permit-1\"}}",
      "request_digest": "0xda8a7dc203d45cd0926e32913552de435982798bab6d241f0c4126946c6bbb48"
    },
    {
      "name": "delivery-url",
      "note": "Changing endpoint path changes request digest, not signing digest.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000000",
            "nonce": "7",
            "deadline": "1800000100"
          }
        },
        "valid_until": "1800000000",
        "delivery": {
          "url": "https://producer.example/v2/signature-results",
          "request_id": "quote-123-permit-1"
        }
      },
      "domain_separator": "0x93ca96f8729c574068fa783f8dcd9e2771562c00d09dbba158d4ba4f467ae94f",
      "message_hash": "0x3450df19acca7b756d3d2e4ef2d9fca0039d6963a874e7be3232b7e273b95b10",
      "signing_digest": "0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f\",\"valid_until\":\"1800000000\",\"delivery\":{\"url\":\"https://producer.example/v2/signature-results\",\"request_id\":\"quote-123-permit-1\"}}",
      "request_digest": "0x51a981f6680a9cf2899f19da9fbb1cae190a6b31f6ddf2f6582a8c8a014b8ac6"
    },
    {
      "name": "delivery-request-id",
      "note": "Producer request correlation is bound to request digest.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000000",
            "nonce": "7",
            "deadline": "1800000100"
          }
        },
        "valid_until": "1800000000",
        "delivery": {
          "url": "https://producer.example/signature-results",
          "request_id": "quote-124-permit-1"
        }
      },
      "domain_separator": "0x93ca96f8729c574068fa783f8dcd9e2771562c00d09dbba158d4ba4f467ae94f",
      "message_hash": "0x3450df19acca7b756d3d2e4ef2d9fca0039d6963a874e7be3232b7e273b95b10",
      "signing_digest": "0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0xe7f18db2b4d1fcc298da816d44dc9358d62866803fb92dd0aecf70106dc87c3f\",\"valid_until\":\"1800000000\",\"delivery\":{\"url\":\"https://producer.example/signature-results\",\"request_id\":\"quote-124-permit-1\"}}",
      "request_digest": "0x14c56edf2dd380cb7ca9c97a30d3b885ea256c7957b88f95587eaa2bc5dfecb0"
    },
    {
      "name": "uint256-max",
      "note": "Full uint256 range is represented without JSON floating-point loss.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "115792089237316195423570985008687907853269984665640564039457584007913129639935",
            "nonce": "7",
            "deadline": "1800000100"
          }
        },
        "valid_until": "1800000000"
      },
      "domain_separator": "0x93ca96f8729c574068fa783f8dcd9e2771562c00d09dbba158d4ba4f467ae94f",
      "message_hash": "0x40ac7121e1e92bf42c760d114010e91f9864c2019e5f102e8d2f53c1f53bfd8a",
      "signing_digest": "0x2ba1277d18cdb82d5d2e19378ed7d75cf867ca82eddf924465aa6aab25146938",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0x2ba1277d18cdb82d5d2e19378ed7d75cf867ca82eddf924465aa6aab25146938\",\"valid_until\":\"1800000000\",\"delivery\":null}",
      "request_digest": "0x7d269d41a7d7d987f80a0a3da855388adad1c5181cb8f6fdb03b511ecf5661ac"
    },
    {
      "name": "chainless",
      "note": "Portable format permits chainless typed data; wallets may reject it by policy.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "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",
          "domain": {
            "name": "Example Token",
            "version": "1",
            "verifyingContract": "0x2222222222222222222222222222222222222222"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "spender": "0x3333333333333333333333333333333333333333",
            "value": "1000000",
            "nonce": "7",
            "deadline": "1800000100"
          }
        },
        "valid_until": "1800000000"
      },
      "domain_separator": "0x215eca837ed8b6a626fd45beb3763a3c55ed063b6772ec0c833f334b807c432f",
      "message_hash": "0x3450df19acca7b756d3d2e4ef2d9fca0039d6963a874e7be3232b7e273b95b10",
      "signing_digest": "0xf10f4807de762a7913cc6252c8b20faeeb7db71b5393a85972613c7ee566995f",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0xf10f4807de762a7913cc6252c8b20faeeb7db71b5393a85972613c7ee566995f\",\"valid_until\":\"1800000000\",\"delivery\":null}",
      "request_digest": "0xd8693cea428e9dcc1b96595c0676cc213b6e2b29e423ea5820b549a8361eee22"
    },
    {
      "name": "second-round-order",
      "note": "Illustrative concrete order includes two approval signature byte strings in an array of structs. These are not real signatures or an Aave order schema.",
      "request": {
        "schema_version": "1",
        "kind": "typed_data_signature_request",
        "signer": "0xabcdef0123456789abcdef0123456789abcdef01",
        "typed_data": {
          "types": {
            "EIP712Domain": [
              {
                "name": "name",
                "type": "string"
              },
              {
                "name": "version",
                "type": "string"
              },
              {
                "name": "chainId",
                "type": "uint256"
              },
              {
                "name": "verifyingContract",
                "type": "address"
              }
            ],
            "Order": [
              {
                "name": "owner",
                "type": "address"
              },
              {
                "name": "receiver",
                "type": "address"
              },
              {
                "name": "minimumOutput",
                "type": "uint256"
              },
              {
                "name": "nonce",
                "type": "uint256"
              },
              {
                "name": "deadline",
                "type": "uint256"
              },
              {
                "name": "approvals",
                "type": "Approval[]"
              }
            ],
            "Approval": [
              {
                "name": "token",
                "type": "address"
              },
              {
                "name": "signature",
                "type": "bytes"
              }
            ]
          },
          "primaryType": "Order",
          "domain": {
            "name": "Example Intent",
            "version": "1",
            "chainId": "1",
            "verifyingContract": "0x4444444444444444444444444444444444444444"
          },
          "message": {
            "owner": "0xabcdef0123456789abcdef0123456789abcdef01",
            "receiver": "0xabcdef0123456789abcdef0123456789abcdef01",
            "minimumOutput": "900000",
            "nonce": "42",
            "deadline": "1800000100",
            "approvals": [
              {
                "token": "0x2222222222222222222222222222222222222222",
                "signature": "0x1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
              },
              {
                "token": "0x6666666666666666666666666666666666666666",
                "signature": "0x2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222"
              }
            ]
          }
        },
        "valid_until": "1800000000",
        "delivery": {
          "url": "https://producer.example/signature-results",
          "request_id": "quote-123-order"
        }
      },
      "domain_separator": "0x3fed7b4c52053eb9be2219675a37578a3d9e6cc75c48f6da9b4ec794cee0fa01",
      "message_hash": "0x4919d39505f23decafcead39e7707f9a35dbecc28a5f0196ce24123f66813048",
      "signing_digest": "0x99fa0495573fef21d9a3c39aea4bf9d4f1bbcb5098110338df3cd6a74d032f70",
      "canonical_form": "{\"kind\":\"typed_data_signature_request\",\"schema_version\":\"1\",\"signer\":\"0xabcdef0123456789abcdef0123456789abcdef01\",\"signing_digest\":\"0x99fa0495573fef21d9a3c39aea4bf9d4f1bbcb5098110338df3cd6a74d032f70\",\"valid_until\":\"1800000000\",\"delivery\":{\"url\":\"https://producer.example/signature-results\",\"request_id\":\"quote-123-order\"}}",
      "request_digest": "0x3f60834f75f597869baeff21dbae6657ceed4fa1a79dd53a4444fad1afccaba2"
    }
  ]
}
