{
  "schema": "chainwright-packed-stats-benchmark-v1",
  "date": "2026-10-30",
  "sameABI": true,
  "sameCompilerAndSettings": true,
  "compiler": "Solidity 0.8.30+commit.73712a01.Emscripten.clang",
  "settings": {
    "evmVersion": "paris",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "metadata": {
      "bytecodeHash": "none"
    },
    "outputSelection": {
      "*": {
        "*": [
          "abi",
          "storageLayout",
          "evm.bytecode.object",
          "evm.deployedBytecode.object",
          "evm.deployedBytecode.opcodes",
          "evm.deployedBytecode.immutableReferences",
          "evm.methodIdentifiers",
          "evm.gasEstimates"
        ],
        "": [
          "ast"
        ]
      }
    }
  },
  "runs": 20,
  "checks": 322,
  "workloads": [
    {
      "profiles": 1,
      "repetitions": 3,
      "new": {
        "name": "Save 1 new profiles",
        "function": "setMany(address[],uint256[8][])",
        "status": "success",
        "referenceGas": 205624,
        "compactGas": 51472,
        "savedGas": 154152,
        "savedPercent": 74.97
      },
      "update": {
        "name": "Update 1 existing profiles",
        "function": "setMany(address[],uint256[8][])",
        "status": "success",
        "referenceGas": 68824,
        "compactGas": 34372,
        "savedGas": 34452,
        "savedPercent": 50.06
      },
      "read": {
        "name": "Read original profile 0",
        "function": "getStats(address)",
        "status": "success",
        "referenceGas": 39611,
        "compactGas": 25012,
        "savedGas": 14599,
        "savedPercent": 36.86
      },
      "allCalls": [
        {
          "name": "Save 1 new profiles",
          "function": "setMany(address[],uint256[8][])",
          "status": "success",
          "referenceGas": 205624,
          "compactGas": 51472,
          "savedGas": 154152,
          "savedPercent": 74.97
        },
        {
          "name": "Read original profile 0",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39611,
          "compactGas": 25012,
          "savedGas": 14599,
          "savedPercent": 36.86
        },
        {
          "name": "Update 1 existing profiles",
          "function": "setMany(address[],uint256[8][])",
          "status": "success",
          "referenceGas": 68824,
          "compactGas": 34372,
          "savedGas": 34452,
          "savedPercent": 50.06
        },
        {
          "name": "Read updated first profile",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39611,
          "compactGas": 25012,
          "savedGas": 14599,
          "savedPercent": 36.86
        },
        {
          "name": "Read updated last profile",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39611,
          "compactGas": 25012,
          "savedGas": 14599,
          "savedPercent": 36.86
        },
        {
          "name": "An unauthorized writer is rejected",
          "function": "setMany(address[],uint256[8][])",
          "status": "revert",
          "referenceGas": 25710,
          "compactGas": 25710,
          "savedGas": 0,
          "savedPercent": 0.0
        },
        {
          "name": "Out-of-range last field rejects the entire batch",
          "function": "setMany(address[],uint256[8][])",
          "status": "revert",
          "referenceGas": 25710,
          "compactGas": 25710,
          "savedGas": 0,
          "savedPercent": 0.0
        },
        {
          "name": "Rejected batch leaves profile 0 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39611,
          "compactGas": 25012,
          "savedGas": 14599,
          "savedPercent": 36.86
        }
      ],
      "setupAndFirstSave": {
        "referenceGas": 638663,
        "compactGas": 557195,
        "savedPercent": 12.76
      }
    },
    {
      "profiles": 4,
      "repetitions": 3,
      "new": {
        "name": "Save 4 new profiles",
        "function": "setMany(address[],uint256[8][])",
        "status": "success",
        "referenceGas": 755050,
        "compactGas": 138442,
        "savedGas": 616608,
        "savedPercent": 81.66
      },
      "update": {
        "name": "Update 4 existing profiles",
        "function": "setMany(address[],uint256[8][])",
        "status": "success",
        "referenceGas": 207850,
        "compactGas": 70042,
        "savedGas": 137808,
        "savedPercent": 66.3
      },
      "read": {
        "name": "Read original profile 0",
        "function": "getStats(address)",
        "status": "success",
        "referenceGas": 39611,
        "compactGas": 25012,
        "savedGas": 14599,
        "savedPercent": 36.86
      },
      "allCalls": [
        {
          "name": "Save 4 new profiles",
          "function": "setMany(address[],uint256[8][])",
          "status": "success",
          "referenceGas": 755050,
          "compactGas": 138442,
          "savedGas": 616608,
          "savedPercent": 81.66
        },
        {
          "name": "Read original profile 0",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39611,
          "compactGas": 25012,
          "savedGas": 14599,
          "savedPercent": 36.86
        },
        {
          "name": "Read original profile 1",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Read original profile 2",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Read original profile 3",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Update 4 existing profiles",
          "function": "setMany(address[],uint256[8][])",
          "status": "success",
          "referenceGas": 207850,
          "compactGas": 70042,
          "savedGas": 137808,
          "savedPercent": 66.3
        },
        {
          "name": "Read updated first profile",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39611,
          "compactGas": 25012,
          "savedGas": 14599,
          "savedPercent": 36.86
        },
        {
          "name": "Read updated last profile",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "An unauthorized writer is rejected",
          "function": "setMany(address[],uint256[8][])",
          "status": "revert",
          "referenceGas": 35250,
          "compactGas": 35250,
          "savedGas": 0,
          "savedPercent": 0.0
        },
        {
          "name": "Out-of-range last field rejects the entire batch",
          "function": "setMany(address[],uint256[8][])",
          "status": "revert",
          "referenceGas": 96842,
          "compactGas": 52286,
          "savedGas": 44556,
          "savedPercent": 46.01
        },
        {
          "name": "Rejected batch leaves profile 0 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39611,
          "compactGas": 25012,
          "savedGas": 14599,
          "savedPercent": 36.86
        },
        {
          "name": "Rejected batch leaves profile 1 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Rejected batch leaves profile 2 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Rejected batch leaves profile 3 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        }
      ],
      "setupAndFirstSave": {
        "referenceGas": 1188089,
        "compactGas": 644165,
        "savedPercent": 45.78
      }
    },
    {
      "profiles": 8,
      "repetitions": 3,
      "new": {
        "name": "Save 8 new profiles",
        "function": "setMany(address[],uint256[8][])",
        "status": "success",
        "referenceGas": 1487634,
        "compactGas": 254418,
        "savedGas": 1233216,
        "savedPercent": 82.9
      },
      "update": {
        "name": "Update 8 existing profiles",
        "function": "setMany(address[],uint256[8][])",
        "status": "success",
        "referenceGas": 393234,
        "compactGas": 117618,
        "savedGas": 275616,
        "savedPercent": 70.09
      },
      "read": {
        "name": "Read original profile 0",
        "function": "getStats(address)",
        "status": "success",
        "referenceGas": 39611,
        "compactGas": 25012,
        "savedGas": 14599,
        "savedPercent": 36.86
      },
      "allCalls": [
        {
          "name": "Save 8 new profiles",
          "function": "setMany(address[],uint256[8][])",
          "status": "success",
          "referenceGas": 1487634,
          "compactGas": 254418,
          "savedGas": 1233216,
          "savedPercent": 82.9
        },
        {
          "name": "Read original profile 0",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39611,
          "compactGas": 25012,
          "savedGas": 14599,
          "savedPercent": 36.86
        },
        {
          "name": "Read original profile 1",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Read original profile 2",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Read original profile 3",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Read original profile 4",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Read original profile 5",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Read original profile 6",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Read original profile 7",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Update 8 existing profiles",
          "function": "setMany(address[],uint256[8][])",
          "status": "success",
          "referenceGas": 393234,
          "compactGas": 117618,
          "savedGas": 275616,
          "savedPercent": 70.09
        },
        {
          "name": "Read updated first profile",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39611,
          "compactGas": 25012,
          "savedGas": 14599,
          "savedPercent": 36.86
        },
        {
          "name": "Read updated last profile",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "An unauthorized writer is rejected",
          "function": "setMany(address[],uint256[8][])",
          "status": "revert",
          "referenceGas": 48000,
          "compactGas": 48000,
          "savedGas": 0,
          "savedPercent": 0.0
        },
        {
          "name": "Out-of-range last field rejects the entire batch",
          "function": "setMany(address[],uint256[8][])",
          "status": "revert",
          "referenceGas": 192625,
          "compactGas": 88661,
          "savedGas": 103964,
          "savedPercent": 53.97
        },
        {
          "name": "Rejected batch leaves profile 0 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39611,
          "compactGas": 25012,
          "savedGas": 14599,
          "savedPercent": 36.86
        },
        {
          "name": "Rejected batch leaves profile 1 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Rejected batch leaves profile 2 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Rejected batch leaves profile 3 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Rejected batch leaves profile 4 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Rejected batch leaves profile 5 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Rejected batch leaves profile 6 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        },
        {
          "name": "Rejected batch leaves profile 7 intact",
          "function": "getStats(address)",
          "status": "success",
          "referenceGas": 39623,
          "compactGas": 25024,
          "savedGas": 14599,
          "savedPercent": 36.84
        }
      ],
      "setupAndFirstSave": {
        "referenceGas": 1920673,
        "compactGas": 760141,
        "savedPercent": 60.42
      }
    }
  ],
  "sourceHashes": {
    "baseline": "ce6c7a9ff3507ac7b9edd1253b5f2a4ed23bb7fb1f223d0c77917f8946fa646f",
    "packed": "df9cf2c0a09ab3589f8ec3999d9032dd6390bcb21967e4c4f849d86cbf1e3946"
  },
  "deployment": {
    "baseline": 433039,
    "packed": 505723
  },
  "bytecode": {
    "baseline": {
      "creationBytes": 1821,
      "runtimeBytes": 1761
    },
    "packed": {
      "creationBytes": 2158,
      "runtimeBytes": 2098
    }
  },
  "boundaryChecksPerVersion": 20,
  "boundaryCalls": [
    {
      "name": "All fields accept uint32 maximum",
      "function": "setStats(address,uint256[8])",
      "status": "success",
      "referenceGas": 204603,
      "compactGas": 50451,
      "savedGas": 154152,
      "savedPercent": 75.34
    },
    {
      "name": "Read all maximum values",
      "function": "getStats(address)",
      "status": "success",
      "referenceGas": 39611,
      "compactGas": 25012,
      "savedGas": 14599,
      "savedPercent": 36.86
    },
    {
      "name": "All fields accept zero",
      "function": "setStats(address,uint256[8])",
      "status": "success",
      "referenceGas": 53936,
      "compactGas": 28167,
      "savedGas": 25769,
      "savedPercent": 47.78
    },
    {
      "name": "Read all zeros",
      "function": "getStats(address)",
      "status": "success",
      "referenceGas": 39611,
      "compactGas": 25012,
      "savedGas": 14599,
      "savedPercent": 36.86
    },
    {
      "name": "Zero player rejected",
      "function": "setStats(address,uint256[8])",
      "status": "revert",
      "referenceGas": 24040,
      "compactGas": 24040,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "Empty batch rejected",
      "function": "setMany(address[],uint256[8][])",
      "status": "revert",
      "referenceGas": 22500,
      "compactGas": 22500,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "Mismatched arrays rejected",
      "function": "setMany(address[],uint256[8][])",
      "status": "revert",
      "referenceGas": 22880,
      "compactGas": 22880,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "Oversized batch rejected",
      "function": "setMany(address[],uint256[8][])",
      "status": "revert",
      "referenceGas": 48780,
      "compactGas": 48780,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "Unknown player reads zero",
      "function": "getStats(address)",
      "status": "success",
      "referenceGas": 39839,
      "compactGas": 25240,
      "savedGas": 14599,
      "savedPercent": 36.64
    },
    {
      "name": "Unauthorized single update rejected",
      "function": "setStats(address,uint256[8])",
      "status": "revert",
      "referenceGas": 25030,
      "compactGas": 25030,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "Reject overflow in field 0",
      "function": "setStats(address,uint256[8])",
      "status": "revert",
      "referenceGas": 24310,
      "compactGas": 24310,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "Reject overflow in field 1",
      "function": "setStats(address,uint256[8])",
      "status": "revert",
      "referenceGas": 24310,
      "compactGas": 24310,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "Reject overflow in field 2",
      "function": "setStats(address,uint256[8])",
      "status": "revert",
      "referenceGas": 24310,
      "compactGas": 24310,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "Reject overflow in field 3",
      "function": "setStats(address,uint256[8])",
      "status": "revert",
      "referenceGas": 24310,
      "compactGas": 24310,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "Reject overflow in field 4",
      "function": "setStats(address,uint256[8])",
      "status": "revert",
      "referenceGas": 24310,
      "compactGas": 24310,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "Reject overflow in field 5",
      "function": "setStats(address,uint256[8])",
      "status": "revert",
      "referenceGas": 24310,
      "compactGas": 24310,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "Reject overflow in field 6",
      "function": "setStats(address,uint256[8])",
      "status": "revert",
      "referenceGas": 24310,
      "compactGas": 24310,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "Reject overflow in field 7",
      "function": "setStats(address,uint256[8])",
      "status": "revert",
      "referenceGas": 24310,
      "compactGas": 24310,
      "savedGas": 0,
      "savedPercent": 0.0
    },
    {
      "name": "All rejected writes retain zero",
      "function": "getStats(address)",
      "status": "success",
      "referenceGas": 39611,
      "compactGas": 25012,
      "savedGas": 14599,
      "savedPercent": 36.86
    }
  ],
  "deploymentIncreasePercent": 16.78,
  "storageLayout": {
    "baseline": {
      "bytesPerRecord": 256,
      "members": [
        {
          "name": "experience",
          "slot": "0",
          "offset": 0,
          "type": "t_uint256"
        },
        {
          "name": "health",
          "slot": "1",
          "offset": 0,
          "type": "t_uint256"
        },
        {
          "name": "mana",
          "slot": "2",
          "offset": 0,
          "type": "t_uint256"
        },
        {
          "name": "stamina",
          "slot": "3",
          "offset": 0,
          "type": "t_uint256"
        },
        {
          "name": "strength",
          "slot": "4",
          "offset": 0,
          "type": "t_uint256"
        },
        {
          "name": "agility",
          "slot": "5",
          "offset": 0,
          "type": "t_uint256"
        },
        {
          "name": "intelligence",
          "slot": "6",
          "offset": 0,
          "type": "t_uint256"
        },
        {
          "name": "level",
          "slot": "7",
          "offset": 0,
          "type": "t_uint256"
        }
      ]
    },
    "packed": {
      "bytesPerRecord": 32,
      "members": [
        {
          "name": "experience",
          "slot": "0",
          "offset": 0,
          "type": "t_uint32"
        },
        {
          "name": "health",
          "slot": "0",
          "offset": 4,
          "type": "t_uint32"
        },
        {
          "name": "mana",
          "slot": "0",
          "offset": 8,
          "type": "t_uint32"
        },
        {
          "name": "stamina",
          "slot": "0",
          "offset": 12,
          "type": "t_uint32"
        },
        {
          "name": "strength",
          "slot": "0",
          "offset": 16,
          "type": "t_uint32"
        },
        {
          "name": "agility",
          "slot": "0",
          "offset": 20,
          "type": "t_uint32"
        },
        {
          "name": "intelligence",
          "slot": "0",
          "offset": 24,
          "type": "t_uint32"
        },
        {
          "name": "level",
          "slot": "0",
          "offset": 28,
          "type": "t_uint32"
        }
      ]
    }
  },
  "baseline": "Original straightforward Solidity reference with eight uint256 storage fields; already checks every input against the uint32 maximum. This is not an external competitor or best-optimized Solidity baseline.",
  "change": "The compact edition uses eight uint32 storage fields packed into one slot; the external uint256 ABI, permitted range, owner checks, batch limit, events and tested outcomes stay the same.",
  "limits": [
    "Only this bounded eight-field record and these input paths are measured; no 75\u201383% claim for arbitrary contracts, all EVM work or transaction fees on every chain.",
    "Values must fit uint32 (0\u20134,294,967,295), enforced in both editions. Unbounded balances/identifiers cannot be narrowed this way.",
    "This changes storage layout and is a new-deployment example, not an existing proxy upgrade.",
    "Synthetic isolated Anvil1.8.6 transactions; no mainnet, real wallet, capital or independent security acceptance.",
    "All getters were sent as transactions for gas measurement; ordinary off-chain reads do not pay transaction gas.",
    "This demonstrates a known Solidity storage-layout technique and a working Chainwright recipe, not a novel compiler optimization or measured superiority over TypeSOL.",
    "The published end-to-end receipt gas includes base/calldata/execution costs for the same batch sizes and bytes."
  ]
}
