Merge pull request #5219 from mempool/simon/local-accelerator-estimates
Show accelerator estimates on local instances
This commit is contained in:
commit
fbb409e17b
@ -14,6 +14,7 @@ class AccelerationRoutes {
|
|||||||
.get(config.MEMPOOL.API_URL_PREFIX + 'services/accelerator/accelerations/history', this.$getAcceleratorAccelerationsHistory.bind(this))
|
.get(config.MEMPOOL.API_URL_PREFIX + 'services/accelerator/accelerations/history', this.$getAcceleratorAccelerationsHistory.bind(this))
|
||||||
.get(config.MEMPOOL.API_URL_PREFIX + 'services/accelerator/accelerations/history/aggregated', this.$getAcceleratorAccelerationsHistoryAggregated.bind(this))
|
.get(config.MEMPOOL.API_URL_PREFIX + 'services/accelerator/accelerations/history/aggregated', this.$getAcceleratorAccelerationsHistoryAggregated.bind(this))
|
||||||
.get(config.MEMPOOL.API_URL_PREFIX + 'services/accelerator/accelerations/stats', this.$getAcceleratorAccelerationsStats.bind(this))
|
.get(config.MEMPOOL.API_URL_PREFIX + 'services/accelerator/accelerations/stats', this.$getAcceleratorAccelerationsStats.bind(this))
|
||||||
|
.post(config.MEMPOOL.API_URL_PREFIX + 'services/accelerator/estimate', this.$getAcceleratorEstimate.bind(this))
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,6 +65,20 @@ class AccelerationRoutes {
|
|||||||
res.status(500).end();
|
res.status(500).end();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async $getAcceleratorEstimate(req: Request, res: Response): Promise<void> {
|
||||||
|
const url = `${config.MEMPOOL_SERVICES.API}/${req.originalUrl.replace('/api/v1/services/', '')}`;
|
||||||
|
try {
|
||||||
|
const response = await axios.post(url, req.body, { responseType: 'stream', timeout: 10000 });
|
||||||
|
for (const key in response.headers) {
|
||||||
|
res.setHeader(key, response.headers[key]);
|
||||||
|
}
|
||||||
|
response.data.pipe(res);
|
||||||
|
} catch (e) {
|
||||||
|
logger.err(`Unable to get acceleration estimate from ${url} in $getAcceleratorEstimate(), ${e}`, this.tag);
|
||||||
|
res.status(500).end();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default new AccelerationRoutes();
|
export default new AccelerationRoutes();
|
@ -116,7 +116,7 @@ export class TrackerComponent implements OnInit, OnDestroy {
|
|||||||
|
|
||||||
hasEffectiveFeeRate: boolean;
|
hasEffectiveFeeRate: boolean;
|
||||||
accelerateCtaType: 'alert' | 'button' = 'button';
|
accelerateCtaType: 'alert' | 'button' = 'button';
|
||||||
acceleratorAvailable: boolean = this.stateService.env.OFFICIAL_MEMPOOL_SPACE && this.stateService.env.ACCELERATOR && this.stateService.network === '';
|
acceleratorAvailable: boolean = this.stateService.env.ACCELERATOR && this.stateService.network === '';
|
||||||
accelerationEligible: boolean = false;
|
accelerationEligible: boolean = false;
|
||||||
showAccelerationSummary = false;
|
showAccelerationSummary = false;
|
||||||
accelerationFlowCompleted = false;
|
accelerationFlowCompleted = false;
|
||||||
|
@ -136,7 +136,7 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy {
|
|||||||
taprootEnabled: boolean;
|
taprootEnabled: boolean;
|
||||||
hasEffectiveFeeRate: boolean;
|
hasEffectiveFeeRate: boolean;
|
||||||
accelerateCtaType: 'alert' | 'button' = 'button';
|
accelerateCtaType: 'alert' | 'button' = 'button';
|
||||||
acceleratorAvailable: boolean = this.stateService.env.OFFICIAL_MEMPOOL_SPACE && this.stateService.env.ACCELERATOR && this.stateService.network === '';
|
acceleratorAvailable: boolean = this.stateService.env.ACCELERATOR && this.stateService.network === '';
|
||||||
showAccelerationSummary = false;
|
showAccelerationSummary = false;
|
||||||
showAccelerationDetails = false;
|
showAccelerationDetails = false;
|
||||||
scrollIntoAccelPreview = false;
|
scrollIntoAccelPreview = false;
|
||||||
@ -167,15 +167,13 @@ export class TransactionComponent implements OnInit, AfterViewInit, OnDestroy {
|
|||||||
) {}
|
) {}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.acceleratorAvailable = this.stateService.env.OFFICIAL_MEMPOOL_SPACE && this.stateService.env.ACCELERATOR && this.stateService.network === '';
|
|
||||||
|
|
||||||
this.enterpriseService.page();
|
this.enterpriseService.page();
|
||||||
|
|
||||||
this.websocketService.want(['blocks', 'mempool-blocks']);
|
this.websocketService.want(['blocks', 'mempool-blocks']);
|
||||||
this.stateService.networkChanged$.subscribe(
|
this.stateService.networkChanged$.subscribe(
|
||||||
(network) => {
|
(network) => {
|
||||||
this.network = network;
|
this.network = network;
|
||||||
this.acceleratorAvailable = this.stateService.env.OFFICIAL_MEMPOOL_SPACE && this.stateService.env.ACCELERATOR && this.stateService.network === '';
|
this.acceleratorAvailable = this.stateService.env.ACCELERATOR && this.stateService.network === '';
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user