From a7ea61f28fa3fddca7cd442313a63935afc46d04 Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Wed, 2 Aug 2023 22:49:13 -0400 Subject: [PATCH] tweaks --- .../stratum-messages/SubscriptionMessage.ts | 16 ++++++------ src/services/stratum-v1-jobs.service.ts | 25 ++++++++++--------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/src/models/stratum-messages/SubscriptionMessage.ts b/src/models/stratum-messages/SubscriptionMessage.ts index 3154d6e..510a277 100644 --- a/src/models/stratum-messages/SubscriptionMessage.ts +++ b/src/models/stratum-messages/SubscriptionMessage.ts @@ -40,14 +40,14 @@ export class SubscriptionMessage extends StratumBaseMessage { } public static refineUserAgent(userAgent: string): string { - return userAgent; - // userAgent = userAgent.split(' ')[0].split('/')[0].split('V')[0]; - - // if (userAgent.includes('bosminer')) { - // userAgent = 'Braiins OS'; - // } else if (userAgent.includes('cpuminer')) { - // userAgent = 'cpuminer'; - // } // return userAgent; + userAgent = userAgent.split(' ')[0].split('/')[0].split('V')[0]; + + if (userAgent.includes('bosminer')) { + userAgent = 'Braiins OS'; + } else if (userAgent.includes('cpuminer')) { + userAgent = 'cpuminer'; + } + return userAgent; } } \ No newline at end of file diff --git a/src/services/stratum-v1-jobs.service.ts b/src/services/stratum-v1-jobs.service.ts index 92de707..621fa67 100644 --- a/src/services/stratum-v1-jobs.service.ts +++ b/src/services/stratum-v1-jobs.service.ts @@ -41,20 +41,21 @@ export class StratumV1JobsService { constructor( private readonly bitcoinRpcService: BitcoinRpcService ) { - this.currentBlockTemplate$ = this.bitcoinRpcService.newBlock$.pipe( - switchMap((miningInfo) => { - return from(this.bitcoinRpcService.getBlockTemplate()) - .pipe(map(blockTemplate => { return { miningInfo, blockTemplate } })) - } - ), - shareReplay({ refCount: true, bufferSize: 1 }) - ); - this.newMiningJob$ = combineLatest([this.currentBlockTemplate$, interval(60000).pipe(startWith(-1))]).pipe( - map(([{ blockTemplate }, interValCount]) => { + + this.newMiningJob$ = combineLatest([this.bitcoinRpcService.newBlock$, interval(60000).pipe(startWith(-1))]).pipe( + switchMap(([miningInfo, interval]) => { + return from(this.bitcoinRpcService.getBlockTemplate()).pipe(map((blockTemplate) => { + return { + blockTemplate, + interval + } + })) + }), + map(({ blockTemplate, interval }) => { let clearJobs = false; - if (this.lastIntervalCount === interValCount) { + if (this.lastIntervalCount === interval) { clearJobs = true; this.skipNext = true; console.log('new block') @@ -65,7 +66,7 @@ export class StratumV1JobsService { return null; } - this.lastIntervalCount = interValCount; + this.lastIntervalCount = interval; return { version: blockTemplate.version,