Remove legacy global/selected-chain path from GasFeeController

Aperta
#9,585 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
55/100
Tipo di issue
Refactoring
Chiarezza
Specificata chiaramente
Stato di attività
Tranquilla
Stack tecnologico
typescript
Ambito
api, testing

Direzione di ricerca

Inizia con GasFeeController e l’ampia suite di test GasFeeController.test.ts, separando il percorso multichain dai casi legacy global/selected-chain elencati nell’issue. Controlla le chiamate esistenti a networkClientId di transaction-controller, quindi rimuovi la superficie legacy e aggiorna i test in modo che il flusso richiesto per networkClientId rimanga coperto.

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

Descrizione

team-confirmations

Summary

GasFeeController supports two modes: the multichain path (fetchGasFeeEstimates({ networkClientId }) → gasFeeEstimatesByChainId[chainId]) and a legacy global/selected-chain path that predates multichain support. Remove the global path so the per-networkClientId route is the only one.

Surface to remove

  • Constructor options: getProvider, getChainId, getCurrentNetworkEIP1559Compatibility, getCurrentNetworkLegacyGasAPICompatibility, getCurrentAccountEIP1559Compatibility, onNetworkDidChange
  • Flat top-level state: gasFeeEstimates, gasEstimateType, estimatedGasFeeTimeBounds
  • No-arg polling getGasFeeEstimatesAndStartPolling() and the NetworkController:networkDidChange subscription/reset
  • Make networkClientId required in fetchGasFeeEstimates; give getTimeEstimate a chain/networkClientId arg

Impact — BREAKING

  • Core: low risk. No consumer reads the flat state or uses no-arg polling; transaction-controller already passes networkClientId. Mostly mechanical + large GasFeeController.test.ts rewrite (~60-70% is global-path).

Notes

Follow-up to #9569, which made the global path init-order-agnostic — this removal deletes that code path entirely.

Lingua principale
TypeScript
Stelle
422
Fork
313
Merge medio
1g 8h
PR unite (30g)
414

Preparare l'ambiente

  • Nessun Dockerfile né file Docker Compose
  • Ha un modello di pull request
  • Nessuna guida per i contributori

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 MetaMask/core

Tutte le issue di MetaMask/core

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.