Skip to content

Feature/best vs ranked bid tests#761

Merged
Baskarayelu merged 3 commits intoQuickLendX:mainfrom
Samaro1:feature/best-vs-ranked-bid-tests
Apr 1, 2026
Merged

Feature/best vs ranked bid tests#761
Baskarayelu merged 3 commits intoQuickLendX:mainfrom
Samaro1:feature/best-vs-ranked-bid-tests

Conversation

@Samaro1
Copy link
Copy Markdown
Contributor

@Samaro1 Samaro1 commented Mar 28, 2026

This PR ensures best-bid selection always matches the first element of the ranked bid list, including all tie scenarios.

What changed:

Refactored bid selection logic to use a shared deterministic path for both best-bid and ranking flows.
Added comprehensive tie-case regression tests for:
equal profit with expected-return tie-break
equal profit/expected-return with bid-amount tie-break
equal economics with timestamp tie-break
full ties with bid_id final tie-break
insertion-order variance checks
Updated bid-ranking docs to reflect exact tie-break behavior and the best-vs-ranked invariant.
Security notes:

Centralized comparison path reduces drift risk between ranking and best-bid logic.
Deterministic ordering under full ties prevents inconsistent outcomes across validators.
Testing:

Attempted: cargo test test_bid_ranking -- --nocapture
Current status: blocked by unrelated pre-existing compile issues in the repository (src/lib.rs and src/invoice.rs).

Closes #709

@drips-wave
Copy link
Copy Markdown

drips-wave bot commented Mar 28, 2026

@Samaro1 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Baskarayelu Baskarayelu merged commit 02ac13b into QuickLendX:main Apr 1, 2026
1 check failed
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.

Regression tests for get_best_bid versus get_ranked_bids ordering

2 participants