mirror of
https://github.com/mempool/mempool.git
synced 2025-04-10 12:59:32 +02:00
Update TS side
This commit is contained in:
parent
2d4963c2df
commit
152d2c364b
@ -1,3 +1,4 @@
|
||||
import * as napiAddon from '../../rust-gbt';
|
||||
import logger from '../logger';
|
||||
import { MempoolBlock, MempoolTransactionExtended, TransactionStripped, MempoolBlockWithTransactions, MempoolBlockDelta, Ancestor, CompactThreadTransaction, EffectiveFeeStats, AuditTransaction } from '../mempool.interfaces';
|
||||
import { Common, OnlineFeeStatsCalculator } from './common';
|
||||
@ -5,8 +6,6 @@ import config from '../config';
|
||||
import { Worker } from 'worker_threads';
|
||||
import path from 'path';
|
||||
|
||||
const neonAddon = require('../../rust-gbt');
|
||||
|
||||
class MempoolBlocks {
|
||||
private mempoolBlocks: MempoolBlockWithTransactions[] = [];
|
||||
private mempoolBlockDeltas: MempoolBlockDelta[] = [];
|
||||
@ -342,7 +341,14 @@ class MempoolBlocks {
|
||||
|
||||
// run the block construction algorithm in a separate thread, and wait for a result
|
||||
try {
|
||||
const { blocks, rates, clusters } = this.convertNeonResultTxids(await new Promise((resolve) => { neonAddon.make(mempoolBuffer, resolve); }));
|
||||
const { blocks, rates, clusters } = this.convertNapiResultTxids(
|
||||
await new Promise((resolve) => {
|
||||
napiAddon.make(
|
||||
new Uint8Array(mempoolBuffer),
|
||||
resolve,
|
||||
);
|
||||
})
|
||||
);
|
||||
this.rustInitialized = true;
|
||||
const processed = this.processBlockTemplates(newMempool, blocks, rates, clusters, saveResults);
|
||||
logger.debug(`RUST makeBlockTemplates completed in ${(Date.now() - start)/1000} seconds`);
|
||||
@ -374,7 +380,15 @@ class MempoolBlocks {
|
||||
|
||||
// run the block construction algorithm in a separate thread, and wait for a result
|
||||
try {
|
||||
const { blocks, rates, clusters } = this.convertNeonResultTxids(await new Promise((resolve) => { neonAddon.update(addedBuffer, removedBuffer, resolve); }));
|
||||
const { blocks, rates, clusters } = this.convertNapiResultTxids(
|
||||
await new Promise((resolve) => {
|
||||
napiAddon.update(
|
||||
new Uint8Array(addedBuffer),
|
||||
new Uint8Array(removedBuffer),
|
||||
resolve,
|
||||
);
|
||||
})
|
||||
);
|
||||
this.processBlockTemplates(newMempool, blocks, rates, clusters, saveResults);
|
||||
logger.debug(`RUST updateBlockTemplates completed in ${(Date.now() - start)/1000} seconds`);
|
||||
} catch (e) {
|
||||
@ -563,7 +577,7 @@ class MempoolBlocks {
|
||||
return { blocks: convertedBlocks, rates: convertedRates, clusters: convertedClusters } as { blocks: string[][], rates: { [root: string]: number }, clusters: { [root: string]: string[] }};
|
||||
}
|
||||
|
||||
private convertNeonResultTxids({ blocks, rates, clusters }: { blocks: number[][], rates: number[][], clusters: number[][]})
|
||||
private convertNapiResultTxids({ blocks, rates, clusters }: { blocks: number[][], rates: number[][], clusters: number[][]})
|
||||
: { blocks: string[][], rates: { [root: string]: number }, clusters: { [root: string]: string[] }} {
|
||||
const rateMap = new Map<number, number>();
|
||||
const clusterMap = new Map<number, number[]>();
|
||||
|
Loading…
x
Reference in New Issue
Block a user