Merge pull request #2960 from mempool/mononaut/fix-mempool-gradients
Fix mempool block gradients
This commit is contained in:
		
						commit
						78e4788ab3
					
				| @ -35,16 +35,25 @@ export class Common { | |||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   static getFeesInRange(transactions: TransactionExtended[], rangeLength: number) { |   static getFeesInRange(transactions: TransactionExtended[], rangeLength: number) { | ||||||
|     const arr = [transactions[transactions.length - 1].effectiveFeePerVsize]; |     const filtered: TransactionExtended[] = []; | ||||||
|  |     let lastValidRate = Infinity; | ||||||
|  |     // filter out anomalous fee rates to ensure monotonic range
 | ||||||
|  |     for (const tx of transactions) { | ||||||
|  |       if (tx.effectiveFeePerVsize <= lastValidRate) { | ||||||
|  |         filtered.push(tx); | ||||||
|  |         lastValidRate = tx.effectiveFeePerVsize; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     const arr = [filtered[filtered.length - 1].effectiveFeePerVsize]; | ||||||
|     const chunk = 1 / (rangeLength - 1); |     const chunk = 1 / (rangeLength - 1); | ||||||
|     let itemsToAdd = rangeLength - 2; |     let itemsToAdd = rangeLength - 2; | ||||||
| 
 | 
 | ||||||
|     while (itemsToAdd > 0) { |     while (itemsToAdd > 0) { | ||||||
|       arr.push(transactions[Math.floor(transactions.length * chunk * itemsToAdd)].effectiveFeePerVsize); |       arr.push(filtered[Math.floor(filtered.length * chunk * itemsToAdd)].effectiveFeePerVsize); | ||||||
|       itemsToAdd--; |       itemsToAdd--; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     arr.push(transactions[0].effectiveFeePerVsize); |     arr.push(filtered[0].effectiveFeePerVsize); | ||||||
|     return arr; |     return arr; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user