{
  "schemaVersion": 1,
  "wpId": 6025,
  "checkedAt": "2026-08-31",
  "fixtureOnly": true,
  "externalRpc": false,
  "walletOpened": false,
  "accountConnected": false,
  "signatureCreated": false,
  "privateKeyPresent": false,
  "seedPhrasePresent": false,
  "transactionBroadcast": false,
  "purpose": "Compare public request fields and deterministic unsigned digests without a wallet, secret, RPC, or asset.",
  "values": {
    "account": "0x000000000000000000000000000000000000a11c",
    "spender": "0x000000000000000000000000000000000000beef",
    "token": "0x000000000000000000000000000000000000cafe",
    "verifier": "0x0000000000000000000000000000000000007120",
    "delegate": "0x0000000000000000000000000000000000007702",
    "permit2": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
  },
  "requests": {
    "ethSign": {
      "method": "eth_sign",
      "opaquePayload": "0x4d8f2f4f0a25f2bb78d3f7bfbd33d8d66219c41c4a04b526c29617455ba8036f",
      "normalizedDigest": null,
      "reason": "Official client documentation diverges; this fixture does not pretend that one universal eth_sign digest or display exists.",
      "stopWhen": "The method, payload meaning, and wallet implementation are not independently known."
    },
    "personalSign": {
      "method": "personal_sign",
      "standard": "ERC-191 version 0x45",
      "message": "3MIKAN read-only signature safety fixture\nOrigin: https://example.invalid\nNonce: mikan-6025",
      "digest": "0xb7eceb1db0e699fd3076b33af5edf51d81ed878170e0614b2f085f99f5d1a554",
      "visibleChecks": [
        "request origin",
        "account",
        "complete human-readable message"
      ],
      "downstreamEffect": "Application-defined proof; the message may still be used as an authorization."
    },
    "eip712": {
      "method": "eth_signTypedData_v4",
      "standard": "EIP-712",
      "domain": {
        "name": "3MIKAN Safety Fixture",
        "version": "1",
        "chainId": 31337,
        "verifyingContract": "0x0000000000000000000000000000000000007120"
      },
      "primaryType": "SafetyRequest",
      "message": {
        "account": "0x000000000000000000000000000000000000a11c",
        "spender": "0x000000000000000000000000000000000000beef",
        "amount": "5000000",
        "nonce": "7",
        "deadline": "1893456000"
      },
      "digest": "0xd7e9a49f944e12033d3a3b2beef3502d23490b664c7dd381dff86bcacefe602c",
      "visibleChecks": [
        "request origin",
        "account",
        "chainId",
        "verifyingContract",
        "primaryType",
        "all message fields"
      ],
      "replayBoundary": "Application-defined nonce and deadline; EIP-712 does not add replay protection by itself."
    },
    "siwe": {
      "method": "personal_sign",
      "standard": "ERC-4361 over ERC-191",
      "message": "example.invalid wants you to sign in with your Ethereum account:\n0x000000000000000000000000000000000000a11c\n\nRead-only documentation fixture. No wallet or session is created.\n\nURI: https://example.invalid/login\nVersion: 1\nChain ID: 1\nNonce: mikan6025\nIssued At: 2026-08-31T00:00:00.000Z\nExpiration Time: 2026-08-31T00:10:00.000Z",
      "digest": "0xa68d099110facce894f90cc3a3cf53102cff91a3b42fd4fb817dc9afa2dfa32a",
      "visibleChecks": [
        "request origin",
        "domain",
        "URI",
        "account",
        "chain ID",
        "nonce",
        "issued at",
        "expiration time"
      ],
      "downstreamEffect": "Web authentication challenge that may create an application session after server validation."
    },
    "erc2612Permit": {
      "method": "eth_signTypedData_v4",
      "standard": "ERC-2612",
      "domain": {
        "name": "Fixture Token",
        "version": "1",
        "chainId": 1,
        "verifyingContract": "0x000000000000000000000000000000000000cafe"
      },
      "primaryType": "Permit",
      "message": {
        "owner": "0x000000000000000000000000000000000000a11c",
        "spender": "0x000000000000000000000000000000000000beef",
        "value": "5000000",
        "nonce": "12",
        "deadline": "1893456000"
      },
      "digest": "0xd075cf62c1b5dfad9c809138543690cbd2d1934ce687b4972afa1192f1be3f1c",
      "visibleChecks": [
        "token/verifyingContract",
        "chainId",
        "owner",
        "spender",
        "value",
        "nonce",
        "deadline"
      ],
      "downstreamEffect": "A submitted permit can create or replace token allowance without the signer submitting the transaction."
    },
    "permit2AllowanceTransfer": {
      "method": "eth_signTypedData_v4",
      "standard": "Permit2 PermitSingle / AllowanceTransfer",
      "domain": {
        "name": "Permit2",
        "chainId": 1,
        "verifyingContract": "0x000000000022D473030F116dDEE9F6B43aC78BA3"
      },
      "primaryType": "PermitSingle",
      "message": {
        "details": {
          "token": "0x000000000000000000000000000000000000cafe",
          "amount": "5000000",
          "expiration": 1893456000,
          "nonce": 12
        },
        "spender": "0x000000000000000000000000000000000000beef",
        "sigDeadline": "1893455400"
      },
      "digest": "0x3fac4c86245ffbb5e3518b33b1b36fadf7578461509d51c3e36c6bb2bb72dc94",
      "visibleChecks": [
        "Permit2 contract",
        "chainId",
        "token",
        "amount",
        "expiration",
        "nonce",
        "spender",
        "sigDeadline"
      ],
      "downstreamEffect": "A submitted permit can set a downstream Permit2 allowance; token-to-Permit2 approval is a separate existing layer."
    },
    "eip7702Authorization": {
      "method": "authorization tuple inside an EIP-7702 type-4 transaction",
      "standard": "EIP-7702",
      "authorization": {
        "chainId": 1,
        "address": "0x0000000000000000000000000000000000007702",
        "nonce": 7
      },
      "magic": "0x05",
      "digest": "0x772b7f05347baebdf4193f314e527882207cdc759d6614269ac7827e618caa1e",
      "visibleChecks": [
        "authority account",
        "chain ID",
        "delegate address",
        "authority nonce",
        "outer transaction and caller constraints"
      ],
      "downstreamEffect": "Successful processing sets the authority account delegation indicator; it is not an EIP-712 message."
    }
  },
  "boundaryChecks": {
    "typedDigest": "0xd7e9a49f944e12033d3a3b2beef3502d23490b664c7dd381dff86bcacefe602c",
    "typedDifferentChainDigest": "0x4b834f689e12b19bc47097ae92daf0a92f0596c1f0b5a05f91ceabcfbd5d03a5",
    "typedDifferentContractDigest": "0x144db31d4c20006370b93da876671e450e198e797af2a6ddc348fba12de11884",
    "typedDifferentNonceDigest": "0x28240e56285463d9a6c19151ae9d78f423874172d0f0392483178a3e3a01344d",
    "chainChangesDigest": true,
    "verifyingContractChangesDigest": true,
    "nonceChangesDigest": true
  },
  "limitations": [
    "A digest proves only deterministic encoding of the recorded public fields; it does not prove UI display, origin authenticity, contract safety, application replay handling, or user consent.",
    "No signature, recovery, contract call, RPC observation, wallet result, approval, delegation, session, transaction, or asset state is included.",
    "Method support and displayed fields vary by wallet, version, account type, locale, and security configuration."
  ]
}
