Solidity: Premint amounts below 1 with a leading fractional zero generate code that does not compile
I maintainer di solito rispondono entro 1 giorno
@RaphaelFakhri ci sta già lavorando.
Dal 25/10/2026.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 20/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- solidity, typescript
- Ambito
- blockchain, tooling
Direzione di ricerca
Inspect calculatePremint in packages/core/solidity/src/erc20.ts where leading fractional zeros remain when integer part is empty. Run the issue's snippet with premint '0.05' to reproduce bad output. Open PR #894 already fixes this, so coordinate there. Done: generated constructor compiles with 5 * 10 ** (decimals() - 2).
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
- In the Solidity ERC20 tab, set Premint to
0.05. - Compile the generated contract.
Or with the package:
const { erc20 } = require('@openzeppelin/wizard');
console.log(erc20.print({ name: 'MyToken', symbol: 'MTK', premint: '0.05' }));
Actual behavior
The constructor contains:
_mint(recipient, 05 * 10 ** (decimals() - 2));
solc fails with:
ParserError: Octal numbers not allowed.
The same happens for other amounts such as 0.001 or 0.001e1, and for Stablecoin, RWA, and Confidential ERC7984, which share calculatePremint.
Expected behavior
The generated line is _mint(recipient, 5 * 10 ** (decimals() - 2));, which compiles.
Cause
calculatePremint in packages/core/solidity/src/erc20.ts strips leading zeros from the integer part and trailing zeros from the fractional part, then concatenates them. Leading zeros of the fractional part remain at the start of units when the integer part is empty.
- Lingua principale
- TypeScript
- Stelle
- 296
- Fork
- 188
- Merge medio
- 3h 24m
- PR unite (30g)
- 11
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/contracts-wizard
-
Stellar: Generated test asserts against the contract identifier instead of the stored token nameAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
OpenZeppelin/contracts-wizard#805 ·
I maintainer di solito rispondono entro 1 giorno
-
Document properly that yarn classic is required (v1.X)Forse già presa @0xMayurrr l’ha presa 245 giorni fa. Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 68/100
OpenZeppelin/contracts-wizard#739 ·
I maintainer di solito rispondono entro 1 giorno
-
Solidity: Governor absolute quorum values accepted by validation generate code that does not compileForse già presa @RaphaelFakhri l’ha presa 17 giorni fa. Aperta
Difficoltà 3/5 Mezza giornata Idoneità per principianti 62/100
OpenZeppelin/contracts-wizard#895 ·
I maintainer di solito rispondono entro 1 giorno
-
Follow-ups from the Chainlink CCIP and ACE integration (#880)Forse già presa @nahimterrazas l’ha presa 25 giorni fa. Aperta
OpenZeppelin/contracts-wizard#881 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Solidity: Validate user-supplied option strings at build entry pointsForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
OpenZeppelin/contracts-wizard#804 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di OpenZeppelin/contracts-wizard
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