skill:oracle-assess
Answer this question about chain 8453 over blocks 51603759 to 51605559, exactly as .imd/reads/oracle.json pins it: Which address received the most AERO (Aerodrome, token 0x940181a94a35a4569e4529a3cdfb74e38fd98631) on Base in the last 1 hours? Rank recipients by the sum of value over Transfer events of that contract; answer the top 5, largest first, ties by ascending address. Write only artifacts/answer.json: the typed answer (address[]) and the recipe that reproduces it.
VERDICT: paths and tree verified; no suite was run for this kind of work
Created `artifacts/answer.json` with the top five recipients, definitions, and reproducible recipe over the exact pinned blocks. Required validator printed `ok`.
`artifacts/answer.json` is written, and `check-answer.mjs` prints `ok` for it. It's untracked, so `git status` shows nothing. The top 5 AERO recipients over blocks 51603759–51605559, largest first: 1. `0x4e506648d493c8870f55e870480f92f2f33ece51` 2. `0x2192bc3b4028acc1113f2cd9ac2cba70c36520db` 3. `0xcdbe19a6ef1b633be744920c93ee40521d5cf2a6` 4. `0x7886f614c0948c1a3f8ba7fae3daf506c8f1213c` 5. `0xdfe5f275020def30993f042174fc2d335678b626` The leader received 55073300264958727834231438 raw AERO units (18 decimals), which is the `figure`. There are no ties in the top 5, and the sixth-place recipient is well below fifth. - **Recipe:** `log-rank` on the AERO contract, `Transfer` event, summing `value` grouped by `to`, `abs: false`, `topN: 5`. The definitions state that mints and transfers to the zero address are not excluded; none appear in the top 5. - **Scan:** One whole-range `eth_getLogs` call on `https://base-rpc.publicnode.com` returned 19,597 logs across 1,305 distinct recipients. The scan script confirmed chain id 8453 and that the closing block hash matched the pin. I confirmed the same hash on a second operator, `https://mainnet.base.org`. - **Abandoned endpoint:** I first tried `https://base-public.nodies.app`, which caps `eth_getLogs` at 50 blocks. I dropped it without using any figures from it, and `notes` says so. - **Window key order:** The check requires the `window` keys in the brief's order (`toBlock`, `fromBlock`, `toBlockHash`). My first draft had them in a different order and failed until I matched it.
Created [artifacts/answer.json](/home/imd-worker/.identitymd/work/777e7850-b0e7-4c06-9ee0-943ed4d3434d/46d94d10-55c8-42b8-938c-e772cee9eb3a/artifacts/answer.json). Validation result: `ok`.
Done. `artifacts/answer.json` is written and `check-answer.mjs` prints `ok` (exit 0). **Answer** — top 5 AERO recipients over blocks 51603759–51605559 on Base, by summed `Transfer.value`: | # | recipient | AERO (base units) | |---|---|---| | 1 | `0x4e506648d493c8870f55e870480f92f2f33ece51` | 55073300264958727834231438 | | 2 | `0x2192bc3b4028acc1113f2cd9ac2cba70c36520db` | 39105955414992699624236782 | | 3 | `0xcdbe19a6ef1b633be744920c93ee40521d5cf2a6` | 18330872902981423222343118 | | 4 | `0x7886f614c0948c1a3f8ba7fae3daf506c8f1213c` | 16367837007408427120342397 | | 5 | `0xdfe5f275020def30993f042174fc2d335678b626` | 13091703304235251842737671 | How it was computed and checked: - One whole scan with the delivered `scan.mjs` on `https://base-rpc.publicnode.com` over exactly the pinned range: 19597 Transfer logs, 7 chunks, no halving or refusal, 1305 distinct recipients. The script reported `chainId 8453` and `pinned: true`. - The first two catalogue endpoints were unusable — nodies 429'd on `eth_chainId`, blastapi refused `eth_getLogs` down to single blocks — so they were abandoned rather than retried into a ban. - Truncation guard: a 500-block probe of the same filter returned an identical count (5697) on six independent operators, and the closing block hash was re-confirmed on blxrbdn and Tenderly with one `eth_getBlockByNumber` each. - The 6th recipient (12507688420294439708626339) sits clear of the 5th, so the cut is not on a tie boundary. - The recipe is `log-rank` over the AERO contract, `groupBy: to`, `sumArg: value`, `abs: false`, `topN: 5` — the same contract, event and arguments the scan used, so the deployer's rerun reproduces it from public RPC logs alone. Open choices (gross not netted, no recipient excluded, raw 18-decimal units, inclusive window) are stated under `definitions`. The file is left untracked; `artifacts/` is ignored by this repo, and nothing outside it was modified.
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.