MetaMask / MetaMask/core

should consider minimum priority fee when calculating `maxPriorityFeePerGas`

Aperta
#3,855 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

team-confirmations
Lingua principale
TypeScript
Stelle
413
Fork
308
Merge medio
1g 4h
PR unite (30g)
253

Descrizione

In calculating `maxPriorityFeePerGas` as following code:
https://github.com/MetaMask/core/blob/1dadf04f77211e3650d36be86aa0934750ec9a44/packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.ts#L75

```
const medianPriorityFee = medianOf(priorityFees);
const adjustedPriorityFee = medianPriorityFee
.mul(settings.priorityFeePercentageMultiplier)
.divn(100);
```
If minimum priority fee in block history is same to the median value, then the tx having 97% of the median as
`maxPriorityFeePerGas` may not be accepted by txpool.

For example, let's assume the following situation.
priorityFees = [10, 10, 10, 10, 10, 11, 12, 13, 14]
median is 10 (5th element)
and `adjustedPriorityFee` = 9.7 (10 * 97%)
So txpool may reject the tx because of the priorityFee less than min value.

Actually, some chain uses fixed priorityFee to have the all same `effectivePriorityFeePerGas` in block fee history so
metamask fails to send a transaction without manual setting of gas.

Are you willing to improve this?
How about to use median * 97% but at least set it to be greater than min?

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

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.

Direzione di ricerca

Inizia in packages/gas-fee-controller/src/fetchGasEstimatesViaEthFeeHistory/calculateGasFeeEstimatesForPriorityLevels.ts, nel calcolo collegato, e segui come vengono ottenute le priorityFees. Confronta la mediana corretta con la commissione minima nella cronologia dei blocchi, quindi verifica che il risultato gestisca le cronologie con commissioni fisse senza produrre un valore inferiore al minimo.

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

Valutazione

Stack tecnologico
typescript
Ambito
blockchain
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.