Priority: P3 — part of #448
Deliberate conventions that differ from horizon and should be written down for consumers:
- Trades are seller-oriented (selling_/buying_), never base/counter-canonicalized; price_n/price_d is the raw claimed-offer price, so it is the reciprocal of horizon's canonical price on ~half of trades (horizon swaps by asset id and inverts,
trades_processor.go:133-145). The farmhash asset_ids cannot be ordered the way horizon's sequential ids can.
- last_modified_ledger for removed offers/liquidity pools keeps the pre-state value (the delete ledger is in ledger_sequence); horizon overwrites it with the delete ledger.
- extend_footprint_ttl / restore_footprint effects (types 98/99) exist here; horizon deliberately emits none.
- inclusion_fee_bid for fee-bumps uses the outer fee (stellar-rpc agrees; the SDK helper uses inner).
- contract_event_type detail on SAC effects is an etl-only addition.
- FarmHashAsset concatenates code+issuer+type with no delimiter (theoretical collision; consistent everywhere once the trustline bug is fixed).
Priority: P3 — part of #448
Deliberate conventions that differ from horizon and should be written down for consumers:
trades_processor.go:133-145). The farmhash asset_ids cannot be ordered the way horizon's sequential ids can.