Priority: P2 — part of #448
internal/transform/effects.go:161-166 starts EffectIndex at 0 (effect_id "-0"); horizon starts at 1 (effects_processor.go:94, db2/history/effect.go:60-71), so every effect_id is uniformly shifted from horizon's ids/paging tokens — any cross-referencing with Horizon APIs is off by one.
Related ordering nit: addLiquidityPoolRevokedEffect sorts created-claimable-balance effects by asset (effects.go:1159-1183, matching older horizon) while current horizon emits in change order — indices differ when a revocation creates ≥2 claimable balances.
Aligning is a breaking change to effect_id; at minimum document the convention.
Priority: P2 — part of #448
internal/transform/effects.go:161-166starts EffectIndex at 0 (effect_id "-0"); horizon starts at 1 (effects_processor.go:94,db2/history/effect.go:60-71), so every effect_id is uniformly shifted from horizon's ids/paging tokens — any cross-referencing with Horizon APIs is off by one.Related ordering nit: addLiquidityPoolRevokedEffect sorts created-claimable-balance effects by asset (
effects.go:1159-1183, matching older horizon) while current horizon emits in change order — indices differ when a revocation creates ≥2 claimable balances.Aligning is a breaking change to effect_id; at minimum document the convention.