Solidity: Validate user-supplied option strings at build entry points

Aperta
#804 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

  • #897 di @ninglinLiu — chiusa senza merge

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
solidity, typescript

Direzione di ricerca

Inizia esaminando il branch WIP validateSolidityStrings e la relativa validazione nel package solidity. Poi ispeziona gli entry point buildERC20/buildERC721 e i package buildERC7984 e uniswap-hooks buildHooks. Il lavoro è completo quando ogni confine di build rifiuta i caratteri non validi elencati con un OptionsError prima di generare Solidity.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Some characters in user-supplied option strings (name, symbol, uri) can't round-trip cleanly through generated Solidity contracts — ASCII control characters, Unicode line terminators recognised by Solidity's lexer (NEL, LS, PS, VT, FF), and lone UTF-16 surrogates. Today, some of these slip through and produce non-compiling Solidity or contracts that store unexpected bytes.

Add input validation at each build entry point (buildERC20, buildERC721, etc.) to reject these characters with an OptionsError, so the failure surfaces at the build boundary rather than downstream.

A WIP here covers the solidity package. The confidential (buildERC7984) and uniswap-hooks (buildHooks) packages need the same treatment.

Lingua principale
TypeScript
Stelle
296
Fork
188
Merge medio
3h 24m
PR unite (30g)
11

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OpenZeppelin/contracts-wizard

Tutte le issue di OpenZeppelin/contracts-wizard

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.