{
  "tool_id": "art-389-tempo-mainnet-fee-capacity",
  "note": "golden_hash filled by golden-parity.test.mjs --update. Vector 1 covers a two-line payment mix against the default TIP-1010 constants; vector 2 is the empty-input finite-gate edge (no payment mix, no block time).",
  "vectors": [
    {
      "name": "two_line_payment_mix_default_constants",
      "description": "100 plain TIP-20 transfers (50k gas) + 10 complex txs (200k gas) at a 1s block time, against the default TIP-1010 constants.",
      "policy_parameters": {
        "block_time_seconds": 1,
        "payment_mix": [
          {
            "label": "tip20-transfer",
            "gas_used": "50000",
            "count": "100"
          },
          {
            "label": "complex-tx",
            "gas_used": "200000",
            "count": "10"
          }
        ]
      },
      "output_payload": {
        "protocol_version": "TIP-1010",
        "protocol_parameters_used": {
          "base_fee_attodollars_per_gas": "20000000000",
          "block_gas_limit": "500000000",
          "payment_lane_gas_limit": "470000000",
          "general_lane_gas_limit": "30000000"
        },
        "block_time_seconds": 1,
        "line_items": [
          {
            "label": "tip20-transfer",
            "gas_used": "50000",
            "count": "100",
            "fee_microusd_per_tx": "1000",
            "total_fee_microusd": "100000",
            "max_tx_per_block_payment_lane": "9400",
            "tps_headroom": 9400
          },
          {
            "label": "complex-tx",
            "gas_used": "200000",
            "count": "10",
            "fee_microusd_per_tx": "4000",
            "total_fee_microusd": "40000",
            "max_tx_per_block_payment_lane": "2350",
            "tps_headroom": 2350
          }
        ],
        "summary": {
          "total_gas_used": "7000000",
          "total_fee_microusd": "140000",
          "line_item_count": 2
        },
        "note": "Base fee and lane limits are DECLARED per TIP-1010 and are governance-adjustable via hardfork -- re-pin protocol_parameters when TIP-1010 is superseded, never hard-code a new constant into this kernel. Not fetched from /docs/api/rpc (outside Tempo's stable API contract)."
      },
      "golden_hash": "2249beb168a62d989a13094f45c12d9149c78145d3330d33bbe7e7b008f9515b"
    },
    {
      "name": "empty_input_finite_gate",
      "description": "Empty policy_parameters: no payment mix, no block time -- both flagged, zero totals, no NaN/Infinity.",
      "policy_parameters": {},
      "output_payload": {
        "protocol_version": "TIP-1010",
        "protocol_parameters_used": {
          "base_fee_attodollars_per_gas": "20000000000",
          "block_gas_limit": "500000000",
          "payment_lane_gas_limit": "470000000",
          "general_lane_gas_limit": "30000000"
        },
        "block_time_seconds": null,
        "line_items": [],
        "summary": {
          "total_gas_used": "0",
          "total_fee_microusd": "0",
          "line_item_count": 0
        },
        "note": "Base fee and lane limits are DECLARED per TIP-1010 and are governance-adjustable via hardfork -- re-pin protocol_parameters when TIP-1010 is superseded, never hard-code a new constant into this kernel. Not fetched from /docs/api/rpc (outside Tempo's stable API contract)."
      },
      "golden_hash": "16dd2d2aa0d623135dc63c74b012f6db13886eb40a1f3da5a58b94e0bc366d26"
    }
  ]
}
