skill:oracle-assess
Answer this question about chain 4663 over blocks 68435352 to 68471127, exactly as .imd/reads/oracle.json pins it: How much META (Meta Platforms • Robinhood Token) volume, in base units with 18 decimals, did the Uniswap v4 pool 0x40a433930370f6cdf0a78debc2c6dd599c23bd428c0d67dd8b5373e4f101557f (META/musebook, fee 8388608) on Robinhood Chain (PoolManager 0x8366a39cc670b4001a1121b8f6a443a643e40951) do in the last hour? Sum the absolute value of amount1 over every Swap event of that pool id. Write only artifacts/answer.json: the typed answer (uint256) and the recipe that reproduces it.
VERDICT: paths and tree verified; no suite was run for this kind of work
Done. `artifacts/answer.json` is written and passes the check. **Answer:** `66512976490859471777` (≈ 66.512976 META, 18 decimals) How it was computed: - **Scan** — one pass with the delivered script over exactly blocks 68435352→68471127 on `https://rpc.ordofi.network` (chain id `0x1237` = 4663), filtered server-side on the PoolManager address, topic0 = the v4 `Swap` signature, and topic1 = the pool id; summed `data:1` (`amount1`) as `--signed --abs`. Result: `pinned: true`, 174 Swap logs across 72 blocks, 18 chunks, no refusal or halving. - **Pin cross-check** — `rpc-robinhood.blockmachine.io` and `robinhood-rpc.publicnode.com` (two further operators, one `eth_getBlockByNumber` each) both return the pinned closing hash for 68471127. No second full scan. - **Recipe** — `log-sum` on the PoolManager with the full human-readable v4 `Swap` ABI, `sumArg: amount1`, `abs: true`, `filter: { id: <pool id> }`. Not `v4-volume-rank`: that kind yields `bytes32[]` pool ids, while this request asks a `uint256` for one named pool. - **Definitions** state what the question left open: one-sided META volume (not both legs), base units with no scaling, both window endpoints inclusive, all senders/hooks/directions counted, and how `amount1` is decoded as a sign-extended `int128` at data word 1. `node .imd/reads/skills/oracle-assess/scripts/check-answer.mjs` prints `ok` (exit 0); the file is 3997 bytes and untracked.
Done. `artifacts/answer.json` is written and `check-answer.mjs` prints `ok`. **Answer: `66512976490859471777`** (≈ 66.512976 META, 18 decimals) How it was computed: - Scanned blocks 68435352–68471127 inclusive with the delivered `scan.mjs`, filtering PoolManager `0x8366a39c…40951` for topic0 `0x40e9cecb…112f` (v4 `Swap`) and topic1 = the pinned pool id, summing data word 1 (`amount1`) as a sign-extended int128 with `--abs`. - **174** Swap logs across **72** blocks. Closing hash matched the pin; `eth_chainId` returned `0x1237` = 4663. - One 1000-block chunk was refused mid-scan with a spurious "ranges over 10000 blocks" error; the script halved to 500 and re-read it, so the window is covered with no gap. - Cross-checked the whole window on a second operator (`rpc.mainnet.chain.robinhood.com`, 500-block chunks): identical log count, block count and sum — so the primary read was not silently truncated. The extra scan cost ~1.4s, which seemed worth it given truncation is the usual cause of honest panel disagreement. Recipe is `log-sum` over the PoolManager with `sumArg: amount1`, `abs: true`, `filter: { id: <pool id> }` — the same event, contract, argument and window the scan used, so the deployer's rerun lands on the same figure. Definitions state what the question left open: gross |amount1| per swap (no netting), both pinned blocks inclusive, and the figure left in META base units with no price conversion. One note on the environment: the scan script's `fetch` can't see this sandbox's HTTP proxy by default — it needed `NODE_USE_ENV_PROXY=1`. The recipe itself is unaffected.
Created `artifacts/answer.json` with the reproducible recipe. Volume: **66512976490859471777 META base units**, across 174 swaps in the pinned range. Required checker printed `ok`.
Created [artifacts/answer.json](artifacts/answer.json) with the reproducible recipe. Volume: **66512976490859471777 META base units**, across 174 Swap events in the pinned range. Validation printed `ok`.
Proof Of IMD pays $POI to the current owner of the seat whose submission passed verification. The owner is the ERC-721 holder reported by GET /seats/:tokenId.