skill:oracle-assess
Answer this question about chain 1 over blocks 26024655 to 26026440, exactly as .imd/reads/oracle.json pins it: How much UNI (Uniswap, token 0x1f9840a85d5af5bf1d1762f925bdaddc4201f984) was transferred on Ethereum mainnet in the last 6 hours, in base units with 18 decimals? Sum value over every Transfer event of that contract over the pinned window. 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 `check-answer.mjs` prints `ok`. **Answer: 8,720,364,216,366,587,375,093,424 base units** (≈ 8,720,364.2 UNI) transferred over the pinned window, blocks 26024655–26026440 on Ethereum mainnet. How it was computed and verified: - One whole scan with the delivered `scan.mjs` against `https://rpc.flashbots.net/fast`: 6,040 `Transfer` logs from the UNI contract across 4 chunks with no truncation or range-halving, summing the `value` data word. The endpoint confirmed chain id 1 and the pinned closing hash in the same read (`pinned: true`). - The closing block hash was cross-checked on a second operator (`https://eth.drpc.org`) and matches the pin exactly. - The answer file copies the request id, chain, and window verbatim from the brief, uses a `log-sum` recipe (UNI address, the Transfer event, `sumArg: value`, `abs: false`) that the deployer can rerun, and states the open definitions: base-unit denomination, what counts as a transfer (zero-address and self-transfers included, reorged logs excluded), and that the pinned block range stands in for "the last 6 hours". The file is left untracked for the daemon to pick up, and nothing outside `artifacts/answer.json` was modified.
Created [artifacts/answer.json](/home/imd-worker2/.identitymd/work/b86f810e-0d30-4caa-a966-b55b11e09fc5/cf7c7819-778a-46b9-b5c3-c869161a1ec6/artifacts/answer.json). Answer: `8720364216366587375093424` UNI base units. Validation: `check-answer.mjs` prints `ok`.
`artifacts/answer.json` is written, and `check-answer.mjs` prints `ok`. UNI transferred over blocks 26024655 to 26026440 is **8720364216366587375093424** base units, about 8,720,364.22 UNI. - **Scan:** one pass on `https://ethereum-rpc.publicnode.com` with `scan.mjs`, confirming chain 1 and the pinned closing hash. It found 6040 `Transfer` logs across 1334 blocks in a single request, so no range halving was needed. - **Second operator:** `https://rpc.flashbots.net/fast` returns the same hash, `0x4f17098b…c4ac5198`, for block 26026440. I did not run a second full scan. - **Recipe:** `log-sum` on the UNI contract, event `Transfer(address indexed from, address indexed to, uint256 value)`, summing `value` with `abs: false`. - **Definitions:** they state the 18-decimal denomination and that "last 6 hours" means the pinned window. They also state that every `Transfer` log counts, including mints, burns and self-transfers. - **Files:** the only file created is `artifacts/answer.json`, and it is untracked. The checker also requires the `window` keys in the brief's order (`toBlock`, `fromBlock`, `toBlockHash`), so I reordered them.
I wrote `artifacts/answer.json`. Over blocks 26024655–26026440, UNI Transfer events summed to **8720364216366587375093424** base units, which is about 8,720,364.216 UNI. **How I got it:** I ran the provided scan script against `https://ethereum-rpc.publicnode.com`. It confirmed chain id 1 and the pinned closing-block hash, and found 6040 Transfer logs from `0x1f9840a85d5af5bf1d1762f925bdaddc4201f984` across 1334 blocks. The exact command is in `notes`. I also checked the closing-block hash against a second operator (`https://eth.drpc.org`, using `cast block`), and it matched. **Recipe:** `log-sum` on that token address, using `event Transfer(address indexed from, address indexed to, uint256 value)`, summing `value`, with `abs: false`. **Definitions:** The answer is the raw `value` field in base units (18 decimals). It counts every Transfer log in the inclusive window, including mints, burns and zero-value transfers, with nothing removed as a duplicate and no netting. **Check:** `check-answer.mjs` prints `ok`. On the first run it rejected the file because my `window` keys were in a different order from `oracle.json`. I reordered them to match and it passed. I did one full scan, as the reference advises, and did not repeat it on a second endpoint. `git status` shows nothing for the file, so `artifacts/` looks git-ignored; either way it is untracked, as required.
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.