renderer: amount fields lose precision because the transform goes through Number()
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- react, typescript
Direzione di ricerca
Read packages/renderer/src/utils/formUtils.ts, especially the amount and number transforms at lines 87 and 209–210, to trace how form values are converted. The issue identifies precision loss and suggests emitting amounts as strings, but says this needs a plan across both this repository and the adapters before implementation. Done means an agreed cross-repository approach that preserves the submitted amount exactly.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
createTransformForFieldType maps 'amount' to the same transform as 'number' (formUtils.ts#L209-L210). That transform's output step is Number(value) (formUtils.ts#L87), so renderer forms round any amount that doesn't fit in a JS number before handing it on.
two examples:
Number('1.000000000000000001')gives1Number('12345678901234567890')gives12345678901234567000
With 18-decimal tokens this is easy to hit. The user types one amount and the form submits a different one.
I think the fix is to emit the amount as a string instead of a number. That changes what the adapters get from renderer forms, though, so it can't land in this repo on its own. it needs a plan across both repos first. Happy to hear other ideas on the shape.
- Lingua principale
- TypeScript
- Stelle
- 7
- Fork
- 4
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di OpenZeppelin/openzeppelin-ui
-
Banner: allow a non-alert role for info and status notesForse già presa @pasevin l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
OpenZeppelin/openzeppelin-ui#258 ·
-
AddressDisplay: configurable copy button labelForse già presa @pasevin l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
OpenZeppelin/openzeppelin-ui#256 ·
-
Form fields write aria-describedby=" " when there's no helper text or errorForse già presa @pasevin l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
OpenZeppelin/openzeppelin-ui#251 ·
-
EmptyState: action slot, optional icon and descriptionForse già presa @pasevin l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
OpenZeppelin/openzeppelin-ui#249 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
OpenZeppelin/openzeppelin-ui#201 ·
Tutte le issue di OpenZeppelin/openzeppelin-ui
Issue simili
-
Wallet functions throws TypeError when the wallet has no account IDForse già presa @Medhansh-741 l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
hiero-ledger/hiero-sdk-js#4781 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
dataforgoodfr/mediterranean-rescue#91 ·
I maintainer di solito rispondono entro 1 giorno
-
transformer-directives: `@apply` drops a utility whose CSS is a substring of an earlier one'sForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Add: KRT TVApertaapproved check:passed streams:add
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 65/100
iptv-org/iptv#58647 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
milind-soni/OpenMausBot#5829 ·
I maintainer di solito rispondono entro 1 giorno