{
  "notes": "EPISODE 1 (plan): Asked all ten oracle questions (keys weth-dep, weth-wd, weth-dep-sum, weth-wd-sum, usdc-mint, usdc-mint-sum, usdc-burn, v4-init, v2-pairs, beacon-dep), each chainId 1, window fromBlock 26371056 toBlock 26372855, evidence chain, panelSize 7, answerType uint256, question naming the contract address and full event signature. Spawned table batch \"check\" (10 items, one per key, groupSize 10, table keyed on key with columns key string, answer decimal, rpc string, maxRows 1): each item computes its figure from a public Ethereum RPC with eth_getLogs in spans of at most 500 blocks over 26371056-26372855 inclusive (1800 blocks) and writes key/answer/rpc; notes carry per-span log counts. Wake on check or after 120 minutes. Items used after this episode: 10 of 20, leaving 10 for one-item recheck batches.\nReference data: topic0 hashes computed with cast keccak: Deposit(address,uint256) 0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c; Withdrawal(address,uint256) 0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65; Transfer(address,address,uint256) 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef; Initialize(bytes32,address,address,uint24,int24,address,uint160,int24) 0xdd466e674ea557f56295e2d0218a125ea4b4f0f6f3307b95f85e6110838d6438; PairCreated(address,address,address,uint256) 0x0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9; DepositEvent(bytes,bytes,bytes,bytes,bytes) 0x649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c5. Window in hex: 0x19263f0 to 0x1926af7. Addresses: WETH9 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; USDC 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48; v4 PoolManager 0x000000000004444c5dc75cB358380D2e3dE08A90; V2 factory 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f; beacon deposit 0x00000000219ab540356cBB839Cbe05303d7705Fa; zero 0x0000000000000000000000000000000000000000.\nNEXT EPISODES (rules from the objective): (1) Each ask.answered wake brings an answer; compare it with the check row of the same key (read check/<key> results, handed under .imd/reads/artifacts). (2) If an answer and its check row differ, spawn a one-item batch named recheck-<key> whose brief is the check brief for that key but tells the worker to use a different public RPC than the one in the check row's rpc column (name that endpoint as excluded), same 500-block spans, same row shape (key, answer, rpc); use the same table shape. (3) If answer and row agree, or asks/batches are still running, decide nothing new: write notes recording each key's status (ask answer, check answer, match or mismatch, recheck answer) and wake on the running batches / afterMinutes 120. (4) If an ask is refused, record why in notes; re-ask once (new key, e.g. <key>-2, chainId 1, same window/evidence/panelSize/answerType) only if the refusal names wording that can be fixed; otherwise leave it refused. (5) If check items fail (see batch failures in goal.json), mend the brief and re-run only failed items in a new batch (e.g. check-2 with itemsFrom failed), keeping item count within the 10 left. (6) Finish (finish true) once all ten asks have settled (answered or refused and not re-askable) and every batch has settled; the write-up then lists per key: oracle answer, check answer, rpc, recheck answer if any, and whether they agree.\nSTATUS TABLE (update each episode): all ten asks pending; check batch spawned, no rows yet; no rechecks; no refusals yet.",
  "ask": [
    {
      "key": "weth-dep",
      "question": "How many Deposit(address indexed dst, uint256 wad) events did WETH9 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 emit in the window?",
      "chainId": 1,
      "answerType": "uint256",
      "window": {
        "fromBlock": 26371056,
        "toBlock": 26372855
      },
      "evidence": "chain",
      "panelSize": 7
    },
    {
      "key": "weth-wd",
      "question": "How many Withdrawal(address indexed src, uint256 wad) events did WETH9 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 emit in the window?",
      "chainId": 1,
      "answerType": "uint256",
      "window": {
        "fromBlock": 26371056,
        "toBlock": 26372855
      },
      "evidence": "chain",
      "panelSize": 7
    },
    {
      "key": "weth-dep-sum",
      "question": "What is the sum of wad, in wei, over all Deposit(address indexed dst, uint256 wad) events that WETH9 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 emitted in the window?",
      "chainId": 1,
      "answerType": "uint256",
      "window": {
        "fromBlock": 26371056,
        "toBlock": 26372855
      },
      "evidence": "chain",
      "panelSize": 7
    },
    {
      "key": "weth-wd-sum",
      "question": "What is the sum of wad, in wei, over all Withdrawal(address indexed src, uint256 wad) events that WETH9 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 emitted in the window?",
      "chainId": 1,
      "answerType": "uint256",
      "window": {
        "fromBlock": 26371056,
        "toBlock": 26372855
      },
      "evidence": "chain",
      "panelSize": 7
    },
    {
      "key": "usdc-mint",
      "question": "How many Transfer(address indexed from, address indexed to, uint256 value) events did USDC 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 emit in the window with from equal to the zero address 0x0000000000000000000000000000000000000000?",
      "chainId": 1,
      "answerType": "uint256",
      "window": {
        "fromBlock": 26371056,
        "toBlock": 26372855
      },
      "evidence": "chain",
      "panelSize": 7
    },
    {
      "key": "usdc-mint-sum",
      "question": "What is the sum of value, in base units, over all Transfer(address indexed from, address indexed to, uint256 value) events that USDC 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 emitted in the window with from equal to the zero address 0x0000000000000000000000000000000000000000?",
      "chainId": 1,
      "answerType": "uint256",
      "window": {
        "fromBlock": 26371056,
        "toBlock": 26372855
      },
      "evidence": "chain",
      "panelSize": 7
    },
    {
      "key": "usdc-burn",
      "question": "How many Transfer(address indexed from, address indexed to, uint256 value) events did USDC 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 emit in the window with to equal to the zero address 0x0000000000000000000000000000000000000000?",
      "chainId": 1,
      "answerType": "uint256",
      "window": {
        "fromBlock": 26371056,
        "toBlock": 26372855
      },
      "evidence": "chain",
      "panelSize": 7
    },
    {
      "key": "v4-init",
      "question": "How many Initialize(bytes32 indexed id, address indexed currency0, address indexed currency1, uint24 fee, int24 tickSpacing, address hooks, uint160 sqrtPriceX96, int24 tick) events did the Uniswap v4 PoolManager 0x000000000004444c5dc75cB358380D2e3dE08A90 emit in the window?",
      "chainId": 1,
      "answerType": "uint256",
      "window": {
        "fromBlock": 26371056,
        "toBlock": 26372855
      },
      "evidence": "chain",
      "panelSize": 7
    },
    {
      "key": "v2-pairs",
      "question": "How many PairCreated(address indexed token0, address indexed token1, address pair, uint256) events did the Uniswap V2 factory 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f emit in the window?",
      "chainId": 1,
      "answerType": "uint256",
      "window": {
        "fromBlock": 26371056,
        "toBlock": 26372855
      },
      "evidence": "chain",
      "panelSize": 7
    },
    {
      "key": "beacon-dep",
      "question": "How many DepositEvent(bytes pubkey, bytes withdrawal_credentials, bytes amount, bytes signature, bytes index) events did the beacon deposit contract 0x00000000219ab540356cBB839Cbe05303d7705Fa emit in the window?",
      "chainId": 1,
      "answerType": "uint256",
      "window": {
        "fromBlock": 26371056,
        "toBlock": 26372855
      },
      "evidence": "chain",
      "panelSize": 7
    }
  ],
  "spawn": [
    {
      "name": "check",
      "mode": "research",
      "brief": "Compute one figure from public Ethereum mainnet (chainId 1) data and write it as one table row. Figure {{key}}: {{what}}. Contract: {{address}}. Event: {{event}}, topic0 {{topic0}}. {{filter}} Method: use one public Ethereum JSON-RPC endpoint that serves eth_getLogs (for example https://ethereum-rpc.publicnode.com, https://eth.llamarpc.com, https://1rpc.io/eth, https://eth.drpc.org or https://rpc.ankr.com/eth); if it refuses or rate-limits, switch to another and redo the whole figure on that one endpoint. Call eth_getLogs with address {{address}} and topics [{{topics}}] over blocks 26371056 to 26372855 inclusive (hex 0x19263f0 to 0x1926af7), split into consecutive spans of at most 500 blocks each, for example 26371056-26371555, 26371556-26372055, 26372056-26372555 and 26372556-26372855, every span's fromBlock and toBlock inclusive, no block skipped or counted twice, 1800 blocks in all. Generate every hex block parameter with code, never by hand, and check that the spans cover exactly blocks 26371056 to 26372855. Never query the whole window in one call. If an endpoint answers that a span has too many results, halve the span and retry until it answers. Ignore any log with removed true. Check that every returned log's address equals {{address}} and its topics[0] equals {{topic0}}. {{compute}} Result: a JSON object with exactly one row holding key = \"{{key}}\", answer = the figure as a decimal string of digits only (no separators, units, decimal point or exponent; a sum is in the token's smallest unit), and rpc = the endpoint URL you used. In notes (at most 4,000 characters) record the span boundaries, the number of matching logs per span, the total log count, and any endpoint you abandoned and why. Use only public RPC data; no block explorer page or dataset may replace it.",
      "items": [
        {
          "key": "weth-dep",
          "vars": {
            "key": "weth-dep",
            "what": "count of WETH9 Deposit events",
            "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
            "event": "Deposit(address indexed dst, uint256 wad)",
            "topic0": "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c",
            "topics": "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c",
            "filter": "No further filter: every log of this event from this contract counts.",
            "compute": "The figure is the total number of matching logs over all spans."
          }
        },
        {
          "key": "weth-wd",
          "vars": {
            "key": "weth-wd",
            "what": "count of WETH9 Withdrawal events",
            "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
            "event": "Withdrawal(address indexed src, uint256 wad)",
            "topic0": "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65",
            "topics": "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65",
            "filter": "No further filter: every log of this event from this contract counts.",
            "compute": "The figure is the total number of matching logs over all spans."
          }
        },
        {
          "key": "weth-dep-sum",
          "vars": {
            "key": "weth-dep-sum",
            "what": "sum of wad, in wei, over WETH9 Deposit events",
            "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
            "event": "Deposit(address indexed dst, uint256 wad)",
            "topic0": "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c",
            "topics": "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c",
            "filter": "No further filter: every log of this event from this contract counts.",
            "compute": "The figure is the sum of wad over all matching logs, in wei: wad is the first 32 bytes of each log's data field (not a topic), decoded as an unsigned 256-bit integer. Add with arbitrary-precision integers (for example JavaScript BigInt or Python int), never floating point."
          }
        },
        {
          "key": "weth-wd-sum",
          "vars": {
            "key": "weth-wd-sum",
            "what": "sum of wad, in wei, over WETH9 Withdrawal events",
            "address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
            "event": "Withdrawal(address indexed src, uint256 wad)",
            "topic0": "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65",
            "topics": "0x7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b65",
            "filter": "No further filter: every log of this event from this contract counts.",
            "compute": "The figure is the sum of wad over all matching logs, in wei: wad is the first 32 bytes of each log's data field (not a topic), decoded as an unsigned 256-bit integer. Add with arbitrary-precision integers (for example JavaScript BigInt or Python int), never floating point."
          }
        },
        {
          "key": "usdc-mint",
          "vars": {
            "key": "usdc-mint",
            "what": "count of USDC Transfer events with from equal to the zero address (mints)",
            "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "event": "Transfer(address indexed from, address indexed to, uint256 value)",
            "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
            "topics": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x0000000000000000000000000000000000000000000000000000000000000000",
            "filter": "Filter: only logs whose from (topics[1]) is the zero address 0x0000000000000000000000000000000000000000, which as a 32-byte topic is 0x0000000000000000000000000000000000000000000000000000000000000000; pass it as topics[1].",
            "compute": "The figure is the total number of matching logs over all spans."
          }
        },
        {
          "key": "usdc-mint-sum",
          "vars": {
            "key": "usdc-mint-sum",
            "what": "sum of value, in base units, over USDC Transfer events with from equal to the zero address (mints)",
            "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "event": "Transfer(address indexed from, address indexed to, uint256 value)",
            "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
            "topics": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x0000000000000000000000000000000000000000000000000000000000000000",
            "filter": "Filter: only logs whose from (topics[1]) is the zero address 0x0000000000000000000000000000000000000000, which as a 32-byte topic is 0x0000000000000000000000000000000000000000000000000000000000000000; pass it as topics[1].",
            "compute": "The figure is the sum of value over all matching logs, in USDC base units (6 decimals, but report the raw integer): value is the first 32 bytes of each log's data field (not a topic), decoded as an unsigned 256-bit integer. Add with arbitrary-precision integers (for example JavaScript BigInt or Python int), never floating point."
          }
        },
        {
          "key": "usdc-burn",
          "vars": {
            "key": "usdc-burn",
            "what": "count of USDC Transfer events with to equal to the zero address (burns)",
            "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "event": "Transfer(address indexed from, address indexed to, uint256 value)",
            "topic0": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
            "topics": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, null, 0x0000000000000000000000000000000000000000000000000000000000000000",
            "filter": "Filter: only logs whose to (topics[2]) is the zero address 0x0000000000000000000000000000000000000000, which as a 32-byte topic is 0x0000000000000000000000000000000000000000000000000000000000000000; pass null as topics[1] and it as topics[2].",
            "compute": "The figure is the total number of matching logs over all spans."
          }
        },
        {
          "key": "v4-init",
          "vars": {
            "key": "v4-init",
            "what": "count of Uniswap v4 PoolManager Initialize events",
            "address": "0x000000000004444c5dc75cB358380D2e3dE08A90",
            "event": "Initialize(bytes32 indexed id, address indexed currency0, address indexed currency1, uint24 fee, int24 tickSpacing, address hooks, uint160 sqrtPriceX96, int24 tick)",
            "topic0": "0xdd466e674ea557f56295e2d0218a125ea4b4f0f6f3307b95f85e6110838d6438",
            "topics": "0xdd466e674ea557f56295e2d0218a125ea4b4f0f6f3307b95f85e6110838d6438",
            "filter": "No further filter: every log of this event from this contract counts.",
            "compute": "The figure is the total number of matching logs over all spans."
          }
        },
        {
          "key": "v2-pairs",
          "vars": {
            "key": "v2-pairs",
            "what": "count of Uniswap V2 factory PairCreated events",
            "address": "0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f",
            "event": "PairCreated(address indexed token0, address indexed token1, address pair, uint256)",
            "topic0": "0x0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9",
            "topics": "0x0d3648bd0f6ba80134a33ba9275ac585d9d315f0ad8355cddefde31afa28d0e9",
            "filter": "No further filter: every log of this event from this contract counts.",
            "compute": "The figure is the total number of matching logs over all spans."
          }
        },
        {
          "key": "beacon-dep",
          "vars": {
            "key": "beacon-dep",
            "what": "count of beacon deposit contract DepositEvent events",
            "address": "0x00000000219ab540356cBB839Cbe05303d7705Fa",
            "event": "DepositEvent(bytes pubkey, bytes withdrawal_credentials, bytes amount, bytes signature, bytes index)",
            "topic0": "0x649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c5",
            "topics": "0x649bbc62d0e31342afea4e5cd82d4049e7e1ee912fc0889aa790803be39038c5",
            "filter": "No further filter: every log of this event from this contract counts.",
            "compute": "The figure is the total number of matching logs over all spans."
          }
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 8000
      },
      "table": {
        "columns": [
          {
            "name": "key",
            "type": "string",
            "required": true
          },
          {
            "name": "answer",
            "type": "decimal",
            "required": true
          },
          {
            "name": "rpc",
            "type": "string",
            "required": true
          }
        ],
        "key": [
          "key"
        ],
        "totals": [],
        "maxRows": 1
      },
      "merge": {
        "groupSize": 10,
        "brief": "Merge the rows into one table with columns key, answer, rpc, one row per key, copying each answer digit for digit. List any item that failed or whose notes report an abandoned endpoint, a truncated response or a span over 500 blocks."
      }
    }
  ],
  "read": [
    "check/weth-dep",
    "check/weth-wd",
    "check/weth-dep-sum",
    "check/weth-wd-sum",
    "check/usdc-mint",
    "check/usdc-mint-sum",
    "check/usdc-burn",
    "check/v4-init",
    "check/v2-pairs",
    "check/beacon-dep"
  ],
  "cancel": [],
  "wake": {
    "batches": [
      "check"
    ],
    "afterMinutes": 120
  },
  "finish": false
}
