stratum service should be singleton

This commit is contained in:
Ben Wilson
2023-07-16 17:05:40 -04:00
parent 57b5b1ed53
commit b7d86e7730
3 changed files with 10 additions and 3 deletions
+3 -1
View File
@@ -17,6 +17,7 @@ import { BitcoinRpcService } from './services/bitcoin-rpc.service';
import { CleanupService } from './services/cleanup.service';
import { DiscordService } from './services/discord.service';
import { NotificationService } from './services/notification.service';
import { StratumV1JobsService } from './services/stratum-v1-jobs.service';
import { StratumV1Service } from './services/stratum-v1.service';
import { TelegramService } from './services/telegram.service';
@@ -56,7 +57,8 @@ const ORMModules = [
TelegramService,
BitcoinRpcService,
NotificationService,
BitcoinAddressValidator
BitcoinAddressValidator,
StratumV1JobsService
],
})
export class AppModule {
+2
View File
@@ -1,3 +1,4 @@
import { Injectable } from '@nestjs/common';
import * as bitcoinjs from 'bitcoinjs-lib';
import * as merkle from 'merkle-lib';
import * as merkleProof from 'merkle-lib/proof';
@@ -20,6 +21,7 @@ export interface IJobTemplate {
};
}
@Injectable()
export class StratumV1JobsService {
private lastIntervalCount: number;
+5 -2
View File
@@ -15,14 +15,17 @@ import { StratumV1JobsService } from './stratum-v1-jobs.service';
@Injectable()
export class StratumV1Service implements OnModuleInit {
private
constructor(
private readonly bitcoinRpcService: BitcoinRpcService,
private readonly clientService: ClientService,
private readonly clientStatisticsService: ClientStatisticsService,
private readonly notificationService: NotificationService,
private readonly blocksService: BlocksService,
private readonly configService: ConfigService
private readonly configService: ConfigService,
private readonly stratumV1JobsService: StratumV1JobsService
) {
}
@@ -41,7 +44,7 @@ export class StratumV1Service implements OnModuleInit {
const client = new StratumV1Client(
promiseSocket,
new StratumV1JobsService(this.bitcoinRpcService),
this.stratumV1JobsService,
this.bitcoinRpcService,
this.clientService,
this.clientStatisticsService,