expected_indexed through two small indexers and compares what each produces with the fixture’s expectations:
- naive derives effects from the transaction envelope. It’s written to make exactly the mistakes that show up in real indexers: muxed IDs through
Number(), fees and payers from the envelope, trustlines only fromchangeTrust. - reference derives effects from ledger metadata, the way the hardening guide says to.
Results
The naive indexer is wrong on every case, in all three ways an indexer can be wrong:
- Incorrect on the muxed payment: it stores
1764988090084626400. - Incorrect on the fee-bump: it records 46,341 stroops (the bid) paid by the inner source.
- Dropped on both SAC trustlines: no
changeTrust, so as far as it’s concerned no trustline exists.
feeMetaDebit on the fee-bump (46,340 stroops) to show that reading fees from balance deltas over-counts Soroban fees. See Fees.