2020-02-16 22:15:07 +07:00
|
|
|
import projectedBlocks from './mempool-blocks';
|
2019-07-21 17:59:47 +03:00
|
|
|
|
|
|
|
class FeeApi {
|
|
|
|
constructor() { }
|
|
|
|
|
|
|
|
public getRecommendedFee() {
|
2020-02-16 22:15:07 +07:00
|
|
|
const pBlocks = projectedBlocks.getMempoolBlocks();
|
2019-07-21 17:59:47 +03:00
|
|
|
if (!pBlocks.length) {
|
|
|
|
return {
|
|
|
|
'fastestFee': 0,
|
|
|
|
'halfHourFee': 0,
|
|
|
|
'hourFee': 0,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
let firstMedianFee = Math.ceil(pBlocks[0].medianFee);
|
|
|
|
|
2020-02-16 22:15:07 +07:00
|
|
|
if (pBlocks.length === 1 && pBlocks[0].blockVSize <= 500000) {
|
2019-07-21 17:59:47 +03:00
|
|
|
firstMedianFee = 1;
|
|
|
|
}
|
|
|
|
|
2020-08-10 22:04:51 +07:00
|
|
|
const secondMedianFee = pBlocks[1] ? Math.ceil(pBlocks[1].medianFee) : 1;
|
|
|
|
const thirdMedianFee = pBlocks[2] ? Math.ceil(pBlocks[2].medianFee) : 1;
|
2019-07-21 17:59:47 +03:00
|
|
|
|
|
|
|
return {
|
|
|
|
'fastestFee': firstMedianFee,
|
|
|
|
'halfHourFee': secondMedianFee,
|
|
|
|
'hourFee': thirdMedianFee,
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default new FeeApi();
|