The block page shows extrinsics but not events #3

Closed
opened 2026-09-10 06:12:28 +00:00 by grenade · 0 comments
Owner

What

/quantus/block/1 shows one extrinsic and nothing else. The index holds
twenty-eight events for that block and the route returns none of them:
BlockDetail has body and no events.

The asymmetry is visible from the outside. An account page shows a
Wormhole::NativeTransferred at block 1; following the link to block 1 shows no
sign of it.

What block 1 actually holds

extrinsic  0   Timestamp::set

event   1–41   Wormhole::NativeTransferred × 21   Initialization
event     42   Vesting::LaunchMomentSet           ApplyExtrinsic(0)
event     45   System::NewAccount                 Finalization
event     46   Balances::Endowed                  Finalization
event     47   Balances::Minted                   Finalization
event     49   Wormhole::NativeTransferred        Finalization
event     50   MiningRewards::MinerRewarded       Finalization
event     51   ZkTree::TreeGrew                   Finalization

Two things worth noticing, and neither is visible anywhere on the site today:

  • The chain's opening distribution went out as 21 wormhole transfers in block
    1's Initialization phase
    — not in block zero, and not as extrinsics.
  • Vesting::LaunchMomentSet fired at block 1, so vesting has been exercised
    even though the calls index shows zero Vesting::* dispatched. A pallet used
    by the runtime rather than by a submitter looks unused from the call side
    alone.

Scope

  1. Storeevents_at(chain, height), the counterpart to the existing
    extrinsics_at.
  2. Entities / APIBlockDetail gains the block's events.
  3. Web — render them on the block page, grouped by phase, and where the
    phase is ApplyExtrinsic(n) nest them under extrinsic n. The block already
    lists its extrinsics; an event's extrinsic_index is exactly the join that
    turns "what was asked" and "what happened" into one readable block.
    Initialization and Finalization events belong to the block rather than to
    any extrinsic and want their own groups.

Note

phase and extrinsic_index are already stored — they were kept for precisely
this join and have never been used. Nothing new needs indexing.

## What `/quantus/block/1` shows one extrinsic and nothing else. The index holds **twenty-eight events** for that block and the route returns none of them: `BlockDetail` has `body` and no `events`. The asymmetry is visible from the outside. An account page shows a `Wormhole::NativeTransferred` at block 1; following the link to block 1 shows no sign of it. ## What block 1 actually holds ``` extrinsic 0 Timestamp::set event 1–41 Wormhole::NativeTransferred × 21 Initialization event 42 Vesting::LaunchMomentSet ApplyExtrinsic(0) event 45 System::NewAccount Finalization event 46 Balances::Endowed Finalization event 47 Balances::Minted Finalization event 49 Wormhole::NativeTransferred Finalization event 50 MiningRewards::MinerRewarded Finalization event 51 ZkTree::TreeGrew Finalization ``` Two things worth noticing, and neither is visible anywhere on the site today: - The chain's opening distribution went out as **21 wormhole transfers in block 1's `Initialization` phase** — not in block zero, and not as extrinsics. - `Vesting::LaunchMomentSet` fired at block 1, so vesting *has* been exercised even though the calls index shows zero `Vesting::*` dispatched. A pallet used by the runtime rather than by a submitter looks unused from the call side alone. ## Scope 1. **Store** — `events_at(chain, height)`, the counterpart to the existing `extrinsics_at`. 2. **Entities / API** — `BlockDetail` gains the block's events. 3. **Web** — render them on the block page, **grouped by phase**, and where the phase is `ApplyExtrinsic(n)` nest them under extrinsic `n`. The block already lists its extrinsics; an event's `extrinsic_index` is exactly the join that turns "what was asked" and "what happened" into one readable block. `Initialization` and `Finalization` events belong to the block rather than to any extrinsic and want their own groups. ## Note `phase` and `extrinsic_index` are already stored — they were kept for precisely this join and have never been used. Nothing new needs indexing.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: blackbeard/observer#3