Money inputs on charge, refund and payment forms parse floats instead of minor units
I maintainer di solito rispondono entro 1 giorno
@deslawson ci sta già lavorando.
Dal 18/10/2026.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 58/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- nextjs, typescript
Direzione di ricerca
Inspect app/payments/new, app/admin/charge, app/admin/refund, and lib/WalletFundingModal.tsx to trace where free-text amounts are parsed. Find existing form, currency, and wallet-funding tests, then define coverage for decimal precision, JPY, large numbers, invalid characters, and min/max limits. The work is done when every listed form submits a safe integer in minor units matching the displayed amount.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
app/payments/new and app/admin/charge send Number(amount) of whatever the user typed, app/admin/refund does Number(amount) on a string prefilled with String(payment.amount), and lib/WalletFundingModal.tsx uses parseFloat. The unit (minor vs major) is never stated in the UI, and free text allows 1e3, negative, fractional and multi-dot input; any conversion to minor units by multiplication would also hit floating point errors (for example 19.99 * 100 = 1998.9999999999998).
Proposed change
Add an AmountInput that accepts only digits and the currency's decimal places, converts with string math to integer minor units, enforces min/max, and use it in app/payments/new, app/admin/charge, app/admin/refund and the funding modal. Test with 0.1+0.2-style values, JPY and large numbers.
Acceptance criteria
- The submitted payload amount is always a safe integer matching the displayed value.
- Lingua principale
- TypeScript
- Stelle
- 16
- Fork
- 225
- Merge medio
- 10h 53m
- PR unite (30g)
- 66
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Nessuna 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 DistinctCodes/ManageHub
-
bug contract soroban-contract
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
DistinctCodes/ManageHub#2029 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
backend contract documentation soroban-contract
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
DistinctCodes/ManageHub#2028 ·
I maintainer di solito rispondono entro 1 giorno
-
Add an end-to-end local sandbox for contracts (standalone network, deploy, call) to the repo docsApertacontract documentation soroban-contract
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
DistinctCodes/ManageHub#2027 ·
I maintainer di solito rispondono entro 1 giorno
-
backend contract documentation NestJS soroban-contract
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
DistinctCodes/ManageHub#2026 ·
I maintainer di solito rispondono entro 1 giorno
-
Contracts have no shared ABI/interface fixture used by both the Rust tests and the backend clientApertabackend contract enhancement NestJS soroban-contract
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
DistinctCodes/ManageHub#2025 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di DistinctCodes/ManageHub
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
mobile-next/mobile-mcp#526 ·
I maintainer di solito rispondono entro 1 giorno
-
e2e-failure ready-to-code
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 73/100
redhat-developer/rhdh-plugin-export-overlays#4470 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
anthropics/anthropic-sdk-typescript#1273 ·
I maintainer di solito rispondono entro 10 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
CopilotKit/OpenBot#815 ·
I maintainer di solito rispondono entro 1 giorno