Skip to content

docs: add safe decimal scaling guidance with viem parseUnits/formatUnits#3468

Merged
khadni merged 2 commits intomainfrom
safeScaling
Feb 16, 2026
Merged

docs: add safe decimal scaling guidance with viem parseUnits/formatUnits#3468
khadni merged 2 commits intomainfrom
safeScaling

Conversation

@wentzeld
Copy link
Contributor

Summary

  • Add new Safe decimal scaling section to Before You Build covering parseUnits() and formatUnits() from viem
  • Add caution box to Onchain Read page warning against Number(bigint) / 1e18
  • Add caution box to Writing Data Onchain page warning against BigInt(float * 1e18)

Why

Floating-point arithmetic causes silent precision loss when scaling values to/from token decimals. For example, BigInt(0.1 * 1e18) yields
99999999999999984n instead of 100000000000000000n. viem parseUnits and formatUnits use string-based math to avoid this.

Files changed

  • src/content/cre/getting-started/before-you-build-ts.mdx
  • src/content/cre/guides/workflow/using-evm-client/onchain-read-ts.mdx
  • src/content/cre/guides/workflow/using-evm-client/onchain-write/writing-data-onchain.mdx

Related

  • Companion PR in cre-templates repo fixing all unsafe scaling instances

  Add a new Safe decimal scaling section to Before You Build covering
  parseUnits and formatUnits from viem. Add caution boxes to Onchain Read
  and Writing Data Onchain pages linking to the new section.
@vercel
Copy link

vercel bot commented Feb 16, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
documentation Ready Ready Preview Feb 16, 2026 2:41am

Request Review

@wentzeld wentzeld marked this pull request as ready for review February 16, 2026 02:04
@wentzeld wentzeld requested a review from a team as a code owner February 16, 2026 02:04
@khadni khadni enabled auto-merge (squash) February 16, 2026 02:39
@khadni khadni merged commit 1ff4501 into main Feb 16, 2026
22 checks passed
@khadni khadni deleted the safeScaling branch February 16, 2026 02:42
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