Skip to content

Conversation

@linconvidal
Copy link
Member

No description provided.

@linconvidal linconvidal changed the base branch from operations-parsing-refak to develop November 19, 2025 21:58
@linconvidal linconvidal changed the base branch from develop to operations-parsing-refak November 19, 2025 21:59
Base automatically changed from operations-parsing-refak to develop November 25, 2025 09:12
@linconvidal linconvidal changed the base branch from develop to develop3 November 27, 2025 19:40
Mateusz Czeladka and others added 8 commits November 27, 2025 16:41
… to ensure

transactions are ordered correctly within blocks (0, 1, 2, ...) and in search results.

Changes:
- Added txIndex field to TxnEntity JPA entity
- Updated JOOQ Transaction and TransactionRecord classes to include TX_INDEX field
- Modified TxRepositoryQueryBuilder to select and map tx_index in queries
- Updated search query ordering to use (slot DESC, tx_index DESC)
- Updated block transaction query to order by tx_index ASC

This ensures:
- Transactions within blocks are returned in correct order (0, 1, 2, ...)
- Search results maintain proper chronological and within-slot ordering
- Consistent pagination for /search/transactions API
- Proper ordering for /block and /block/transaction endpoints
Remove duplicate dRepVoteDelegation operations from integration test
golden files. These duplicates were appearing due to the certificate
processing logic creating operations twice.

This fix aligns with the TransactionOperationParser refactoring that
properly handles DRep vote delegation certificates.
invariants

Fixed 4 failing /construction/parse golden tests that had duplicate
operations at index 3. Tests expected 5 operations but API correctly
returned 4.

Added operation invariant tests to prevent ordering bugs:
- assert_operations_ordered() - ensures operations sorted by index
- assert_operations_sequential() - ensures indices [0, 1, 2, ...]

Covers /search/transactions, /block, and /block/transaction endpoints.

This would have caught the bug where /construction/parse returns
operations in processing order (inputs → outputs → certs → withdrawals)
instead of sorted by operation_identifier.index.
@linconvidal linconvidal force-pushed the test/638-performance-suite branch from 4c8ce41 to 363bbd3 Compare November 27, 2025 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants