istravex-lint is a set of go/analysis analyzers for Go code built on Stellar’s XDR packages, both github.com/stellar/go-stellar-sdk/xdr and the older github.com/stellar/go/xdr.
Run it
multichecker, so the usual flags work: -IX002=false to disable a rule, -json for machine-readable output.
In CI
.github/workflows/lint.yml
Suppressing a finding
When you’ve reviewed a finding and it’s fine, say so in the code, with a reason://ixlint:ignore suppresses nothing.
Designed to stay quiet
A linter people disable is worse than none. Each rule is narrow on purpose, and was calibrated against stellar/wallet-backend, a real, well-maintained indexer:- IX003 originally flagged every
Envelope.SourceAccount()call. In wallet-backend that produced two findings, both correct code: operation-source fallbacks, where the inner source is the right answer. The rule now fires only inside fee logic. - After calibration, the whole rule set produces one finding on wallet-backend, triaged as latent (see IX001).
kit/go/lint/testdata.