nuthatch data model The `bounty-nest` nest on arbitrum-one. (seeded from the ABI - edit semantic.toml to improve this) COVERAGE sealed_through = 523328546 (rows at or below this block are sealed Parquet); tip = 523383392 - the `sql` tool reads both the sealed rows and the live tip above them. TABLES (one per contract event; query via the `sql` tool) board__bounty_cancelled - `BountyCancelled(uint256,uint256)` events emitted by the `board` contract. (seeded from the ABI - edit semantic.toml to improve this) grain: one row per BountyCancelled(uint256,uint256) event columns: bountyId (uint256), amount (uint256) ⚠ big-int columns (exact text; SUM/AVG of `_dec` is the values that fit, and WHERE NOT _overflow is that same sum): bountyId → bountyId_dec, amount → amount_dec ⚠ wide columns (>128-bit) whose `_dec` is NULL above 38 digits. A sum of `_dec` is the values that fit; WHERE NOT _overflow is that same sum. Ids, nonces and hashes stay on the raw column: bountyId, amount board__bounty_distributed - `BountyDistributed(uint256,address,address,address,uint256,address)` events emitted by the `board` contract. (seeded from the ABI - edit semantic.toml to improve this) grain: one row per BountyDistributed(uint256,address,address,address,uint256,address) event columns: bountyId (uint256), indexer (address), allocationId (address), payee (address), amount (uint256), caller (address) ⚠ big-int columns (exact text; SUM/AVG of `_dec` is the values that fit, and WHERE NOT _overflow is that same sum): bountyId → bountyId_dec, amount → amount_dec ⚠ wide columns (>128-bit) whose `_dec` is NULL above 38 digits. A sum of `_dec` is the values that fit; WHERE NOT _overflow is that same sum. Ids, nonces and hashes stay on the raw column: bountyId, amount board__bounty_posted - `BountyPosted(uint256,address,bytes32,uint256,uint256)` events emitted by the `board` contract. (seeded from the ABI - edit semantic.toml to improve this) grain: one row per BountyPosted(uint256,address,bytes32,uint256,uint256) event columns: bountyId (uint256), developer (address), deploymentId (bytes32), amount (uint256), expiresAt (uint256) ⚠ big-int columns (exact text; SUM/AVG of `_dec` is the values that fit, and WHERE NOT _overflow is that same sum): bountyId → bountyId_dec, amount → amount_dec, expiresAt → expiresAt_dec ⚠ wide columns (>128-bit) whose `_dec` is NULL above 38 digits. A sum of `_dec` is the values that fit; WHERE NOT _overflow is that same sum. Ids, nonces and hashes stay on the raw column: bountyId, amount, expiresAt board__bounty_refunded - `BountyRefunded(uint256,uint256)` events emitted by the `board` contract. (seeded from the ABI - edit semantic.toml to improve this) grain: one row per BountyRefunded(uint256,uint256) event columns: bountyId (uint256), amount (uint256) ⚠ big-int columns (exact text; SUM/AVG of `_dec` is the values that fit, and WHERE NOT _overflow is that same sum): bountyId → bountyId_dec, amount → amount_dec ⚠ wide columns (>128-bit) whose `_dec` is NULL above 38 digits. A sum of `_dec` is the values that fit; WHERE NOT _overflow is that same sum. Ids, nonces and hashes stay on the raw column: bountyId, amount AUTHORED VIEWS (derived - query by name, recomputed per query over hot∪cold) bounties - Every bounty BountyBoard 2.0.0 has held, one row each, with its status: open, paid, cancelled or refunded. deployment_id is the subgraph deployment as bytes32 (the Qm hash without its 0x1220 prefix). expires_at is unix seconds, 0 for none; an open bounty past it cannot be paid. open_bounties - Bounties still in escrow, largest first. To earn one: allocate to deployment_id, sync it, present a POI and leave the allocation open; anyone can then call distribute(bounty_id, allocation). check(bounty_id, allocation) on the contract says whether it would pay. VIEWS (incrementally maintained; reorgs retract automatically) balances - per-address net balance = Σ(received) − Σ(sent), i128 base units as decimal strings, for ERC-20 Transfer tables. Query via the `balance`/`top_balances` tools. COMPLIANCE (RFC-0008; amounts are i128 base units as decimal strings) exposure - an address's direct exposure to the labeled set (tool `exposure`). flags - threshold and velocity flags (tool `flags`). FACTORIES (RFC-0009; only in a nest with templates/factories) Children of a template share tables (`pool__swap`, …), distinguished by the `address` column. Each template has a `{template}__children` view: which children were discovered, when, by which parent.