From e05beaf91576303578507ec6d176489aa69729bc Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Mon, 24 Jul 2023 22:43:31 -0400 Subject: [PATCH] sync clinets --- src/ORM/address-settings/address-settings.service.ts | 6 +++++- src/models/StratumV1Client.ts | 11 ++--------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/ORM/address-settings/address-settings.service.ts b/src/ORM/address-settings/address-settings.service.ts index e3a5e98..b72ff8f 100644 --- a/src/ORM/address-settings/address-settings.service.ts +++ b/src/ORM/address-settings/address-settings.service.ts @@ -15,7 +15,11 @@ export class AddressSettingsService { } public async getSettings(address: string) { - return await this.addressSettingsRepository.findOne({ where: { address } }); + const settings = await this.addressSettingsRepository.findOne({ where: { address } }); + if (settings == null) { + return await this.createNew(address); + } + return settings; } public async updateBestDifficulty(address: string, bestDifficulty: number) { diff --git a/src/models/StratumV1Client.ts b/src/models/StratumV1Client.ts index 76f2bb9..5d86b43 100644 --- a/src/models/StratumV1Client.ts +++ b/src/models/StratumV1Client.ts @@ -8,7 +8,6 @@ import { Socket } from 'net'; import PromiseSocket from 'promise-socket'; import { firstValueFrom, takeUntil } from 'rxjs'; -import { AddressSettingsEntity } from '../ORM/address-settings/address-settings.entity'; import { AddressSettingsService } from '../ORM/address-settings/address-settings.service'; import { BlocksService } from '../ORM/blocks/blocks.service'; import { ClientStatisticsService } from '../ORM/client-statistics/client-statistics.service'; @@ -43,7 +42,6 @@ export class StratumV1Client extends EasyUnsubscribe { private usedSuggestedDifficulty = false; private sessionDifficulty: number = 16384; private entity: ClientEntity; - private addressSettings: AddressSettingsEntity; public extraNonceAndSessionId: string; @@ -263,10 +261,6 @@ export class StratumV1Client extends EasyUnsubscribe { this.stratumInitialized = true; - this.addressSettings = await this.addressSettingsService.getSettings(this.clientAuthorization.address); - if (this.addressSettings == null) { - this.addressSettings = await this.addressSettingsService.createNew(this.clientAuthorization.address); - } if (this.clientSuggestedDifficulty == null) { console.log(`Setting difficulty to ${this.sessionDifficulty}`) @@ -409,9 +403,8 @@ export class StratumV1Client extends EasyUnsubscribe { if (submissionDifficulty > this.entity.bestDifficulty) { await this.clientService.updateBestDifficulty(this.extraNonceAndSessionId, submissionDifficulty); this.entity.bestDifficulty = submissionDifficulty; - if (submissionDifficulty > this.addressSettings.bestDifficulty) { - await this.addressSettingsService.updateBestDifficulty(this.addressSettings.address, submissionDifficulty); - this.addressSettings.bestDifficulty = submissionDifficulty; + if (submissionDifficulty > (await this.addressSettingsService.getSettings(this.clientAuthorization.address)).bestDifficulty) { + await this.addressSettingsService.updateBestDifficulty(this.clientAuthorization.address, submissionDifficulty); } }