Problem
The CONTRIBUTING.md requires precision-loss checks, but the current test.rs only uses clean, round numbers (1000, 100), completely ignoring integer truncation risks in Soroban's i128 math.
Expected behavior
A new test scenario deposits highly fragmented, prime-number liquidity values, processes a fractional yield harvest, and withdraws to prove that truncation does not result in trapped dust.
Files to update
Project relevance
Guarantees the mathematical integrity of the fractional-reserve exchange rate model, proving that integer division rounding heavily favors the protocol over attackers.
Acceptance criteria
Problem
The
CONTRIBUTING.mdrequires precision-loss checks, but the currenttest.rsonly uses clean, round numbers (1000, 100), completely ignoring integer truncation risks in Soroban'si128math.Expected behavior
A new test scenario deposits highly fragmented, prime-number liquidity values, processes a fractional yield harvest, and withdraws to prove that truncation does not result in trapped dust.
Files to update
src/test.rsProject relevance
Guarantees the mathematical integrity of the fractional-reserve exchange rate model, proving that integer division rounding heavily favors the protocol over attackers.
Acceptance criteria
underlying_balanceis >= 0 after all shares are burned