Problem
normalizeRoundId validates decimal strings as positive, but returns bigint values without validation and accepts zero, negative, or unsafe numeric values through other branches.
Task
Apply the same positive-integer contract to string, number, and bigint inputs. Reject unsafe JavaScript integers before conversion and add focused tests.
Acceptance criteria
- Zero and negative number or bigint inputs are rejected.
- Unsafe, fractional, and non-finite numbers are rejected.
- Existing valid inputs remain unchanged.
- SDK tests and typecheck pass.
Suggested implementation prompt
Make SDK round ID normalization enforce one positive safe-integer contract across string, number, and bigint inputs, add boundary tests, and keep the diff limited to the helper and tests.
Problem
normalizeRoundIdvalidates decimal strings as positive, but returns bigint values without validation and accepts zero, negative, or unsafe numeric values through other branches.Task
Apply the same positive-integer contract to string, number, and bigint inputs. Reject unsafe JavaScript integers before conversion and add focused tests.
Acceptance criteria
Suggested implementation prompt