refactor(solana-indexer) PR 6.2: drop account-update half, watchdog, dead-letter#4601
Conversation
There was a problem hiding this comment.
Code Review
This pull request removes the partial-event watchdog, account-update subscription and handling, and dead-letter queue logic, simplifying the indexer to focus solely on decoding and persisting transaction events. Feedback on the changes points out a missing import for the Slot type in persistence.rs that will cause a compilation error.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
| dead_letter::DeadLetterEntry, | ||
| errors::PersistenceError, | ||
| events::DecodedEvent, | ||
| recovery::PdaSnapshot, |
There was a problem hiding this comment.
ffca95d to
c126a11
Compare
c126a11 to
e902aef
Compare
jmg-duarte
left a comment
There was a problem hiding this comment.
🧹 but is this 6.1 instead?
Description
The decoder used to need two things per settlement: the transaction (the instructions) and a snapshot of the resulting on-chain account state, which arrive as separate stream messages. It buffered whichever landed first and paired them by
(slot, signature). We no longer need the account snapshot: per-order fills will come from the settlement program's own instruction data (BeginSettle/FinalizeSettle), so decoding is transaction-only. This PR removes the account half and the machinery that paired and expired the two halves.Old decoder waited for both halves before it could act. The new one acts on the transaction alone.
Changes
StreamUpdate::Account,PartialHalf, andPartialEventfrom the channelwrite_dead_letterplusDeadLetterEntry/DeadLetterReason), which nothing else calledTxContext.account_snapshotand the decoder'spartialsfielddashmap, which only the partials map usedHow to test
Existing tests.