This commit is contained in:
Ben Wilson 2023-07-25 22:45:14 -04:00
parent 3b583b3d67
commit d1ecffdea3
3 changed files with 28 additions and 1 deletions

View File

@ -8,8 +8,11 @@ export class AddressSettingsEntity extends TrackedEntity {
@PrimaryColumn({ length: 62, type: 'varchar' })
address: string;
@Column({ default: 0 })
shares: number;
@Column({ type: 'real', default: 0 })
bestDifficulty: number
bestDifficulty: number;
@Column({ nullable: true })
miscCoinbaseScriptData: string;

View File

@ -29,4 +29,22 @@ export class AddressSettingsService {
public async createNew(address: string) {
return await this.addressSettingsRepository.save({ address });
}
public async addShares(address: string, shares: number) {
return await this.addressSettingsRepository.createQueryBuilder()
.update(AddressSettingsEntity)
.set({
shares: () => `"shares" + :shares`
})
.where('address = :address', { address })
.setParameter('shares', shares)
.execute();
}
public async resetBestDifficultyAndShares() {
return await this.addressSettingsRepository.update({}, {
shares: 0,
bestDifficulty: 0
});
}
}

View File

@ -387,10 +387,16 @@ export class StratumV1Client extends EasyUnsubscribe {
sessionId: this.extraNonceAndSessionId,
blockData: blockHex
});
await this.notificationService.notifySubscribersBlockFound(this.clientAuthorization.address, jobTemplate.blockData.height, updatedJobBlock, result);
//success
if (result == null) {
await this.addressSettingsService.resetBestDifficultyAndShares();
}
}
try {
await this.statistics.addSubmission(this.entity, submissionHash, this.sessionDifficulty);
await this.addressSettingsService.addShares(this.clientAuthorization.address, this.sessionDifficulty);
} catch (e) {
console.log(e);
const err = new StratumErrorMessage(