- Effects, participants and balances are derived from ledger metadata, not the envelope. → Rule 1
- The fee payer comes from the fee-bump fee account; the fee amount from
TransactionResult.FeeCharged. → Rule 2 - Balance-delta fee accounting nets Soroban post-apply refunds. → Rule 2
- Every 64-bit integer is stored as a string or
NUMERIC, and emitted as a JSON string. → Rule 3 - Muxed IDs are kept alongside the underlying account; fee-bump-wrapped operations are handled. → Rule 4
- Signed-payload signers are stored as full
P…keys. → Rule 5 - Trustlines and accounts created by contract invocations are indexed from meta. → Rule 6
- Memo text is UTF-8 validated or stored as bytes. → Rule 7
- Recursive XDR walkers carry and check a depth limit. → Rule 8
- Diagnostic events are never indexed, hashed or compared across nodes. → Rule 9
- The Istravex corpus replays through your pipeline with every fixture correct. → Replaying into your indexer
-
istravex-lint ./...is clean, or every finding is triaged with a reason. → istravex-lint
Guide
Review checklist
The whole guide as a code-review checklist, in any language.
Copy this into your pull request template, or walk through it before shipping an ingestion change.