Summary
Some pool swap state changes emit no event, so indexers and off-chain systems can't observe them. Emit a documented event on every state change, with tests.
Why this matters
Silent state changes are invisible to indexers and break downstream systems. Complete, tested events make the contract observable.
Requirements
- Emit a documented event on every pool swap state change, with the relevant fields.
- No duplicate or missing emissions.
- Assert topics and payload fields in tests.
- Keep topic symbols within Soroban limits.
Technical guidance
- Capture events immediately after the emitting call in tests.
- Avoid topic collisions across event types.
Edge cases — each must have a test
Acceptance criteria
Out of scope
- Event schema versioning
- Indexer implementation
Rewards
Part of the GrantFox OSS / Official Campaign (FWC26) — this task may be rewarded. PR quality is assessed by AI: depth, correctness under edge cases, meaningful tests, and clean design are what earn the reward. Shallow changes (typos, formatting, trivial docs) do not qualify.
Summary
Some pool swap state changes emit no event, so indexers and off-chain systems can't observe them. Emit a documented event on every state change, with tests.
Why this matters
Silent state changes are invisible to indexers and break downstream systems. Complete, tested events make the contract observable.
Requirements
Technical guidance
Edge cases — each must have a test
Acceptance criteria
cargo fmt --check,cargo clippy --all-targets -- -D warnings, andcargo testall pass locallyCloses #<issue>Out of scope
Rewards
Part of the GrantFox OSS / Official Campaign (FWC26) — this task may be rewarded. PR quality is assessed by AI: depth, correctness under edge cases, meaningful tests, and clean design are what earn the reward. Shallow changes (typos, formatting, trivial docs) do not qualify.