Rewrote the three affected methods in the compiled JS to match the TS…#63
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
… source
closes #52
Here's a summary of what was done to make all tests pass:
Root cause of the final blocking issue: The compiled soroban-event-indexer.service.js was a stale build that used a completely different checkpoint API (getLastLedger/saveLastLedger) compared to the current TypeScript source (getCheckpoint/saveCheckpoint). It also used a resolveStartLedger helper that no longer exists in the TS source, and indexContractWithCursor lacked the network and mode parameters needed for per-mode checkpoint isolation.
Fix applied: Rewrote the three affected methods in the compiled JS to match the TS source:
indexLedgerRange → delegates to the new runIndexingEngine with proper network and mode params
Added runIndexingEngine → calls getCheckpoint to resume from the correct cursor position
indexContractWithCursor → now takes network/mode params and calls saveCheckpoint({contractId, network, mode, lastLedger, pagingToken}) per-page; saves final checkpoint only when the page comes back empty (crash-safe: intermediate checkpoint stays visible until range is fully exhausted)
Removed the stale resolveStartLedger method