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 { CleanupService } from './services/cleanup.service';
import { DiscordService } from './services/discord.service'; import { DiscordService } from './services/discord.service';
import { NotificationService } from './services/notification.service'; import { NotificationService } from './services/notification.service';
import { StratumV1JobsService } from './services/stratum-v1-jobs.service';
import { StratumV1Service } from './services/stratum-v1.service'; import { StratumV1Service } from './services/stratum-v1.service';
import { TelegramService } from './services/telegram.service'; import { TelegramService } from './services/telegram.service';
@@ -56,7 +57,8 @@ const ORMModules = [
TelegramService, TelegramService,
BitcoinRpcService, BitcoinRpcService,
NotificationService, NotificationService,
BitcoinAddressValidator BitcoinAddressValidator,
StratumV1JobsService
], ],
}) })
export class AppModule { export class AppModule {
+2
View File
@@ -1,3 +1,4 @@
import { Injectable } from '@nestjs/common';
import * as bitcoinjs from 'bitcoinjs-lib'; import * as bitcoinjs from 'bitcoinjs-lib';
import * as merkle from 'merkle-lib'; import * as merkle from 'merkle-lib';
import * as merkleProof from 'merkle-lib/proof'; import * as merkleProof from 'merkle-lib/proof';
@@ -20,6 +21,7 @@ export interface IJobTemplate {
}; };
} }
@Injectable()
export class StratumV1JobsService { export class StratumV1JobsService {
private lastIntervalCount: number; private lastIntervalCount: number;
+5 -2
View File
@@ -15,14 +15,17 @@ import { StratumV1JobsService } from './stratum-v1-jobs.service';
@Injectable() @Injectable()
export class StratumV1Service implements OnModuleInit { export class StratumV1Service implements OnModuleInit {
private
constructor( constructor(
private readonly bitcoinRpcService: BitcoinRpcService, private readonly bitcoinRpcService: BitcoinRpcService,
private readonly clientService: ClientService, private readonly clientService: ClientService,
private readonly clientStatisticsService: ClientStatisticsService, private readonly clientStatisticsService: ClientStatisticsService,
private readonly notificationService: NotificationService, private readonly notificationService: NotificationService,
private readonly blocksService: BlocksService, 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( const client = new StratumV1Client(
promiseSocket, promiseSocket,
new StratumV1JobsService(this.bitcoinRpcService), this.stratumV1JobsService,
this.bitcoinRpcService, this.bitcoinRpcService,
this.clientService, this.clientService,
this.clientStatisticsService, this.clientStatisticsService,