Files
public-pool/src/models/stratum-messages/SuggestDifficultyMessage.ts
T

41 lines
956 B
TypeScript

import { Expose, Transform } from 'class-transformer';
import { ArrayMaxSize, ArrayMinSize, IsArray, IsNumber } from 'class-validator';
import { eRequestMethod } from '../enums/eRequestMethod';
import { eResponseMethod } from '../enums/eResponseMethod';
import { StratumBaseMessage } from './StratumBaseMessage';
export class SuggestDifficulty extends StratumBaseMessage {
@IsArray()
@ArrayMinSize(1)
@ArrayMaxSize(1)
@IsNumber({}, { each: true })
params: string | number[];
@Expose()
@IsNumber()
@Transform(({ value, key, obj, type }) => {
return Number(obj.params[0]);
})
public suggestedDifficulty: number;
constructor() {
super();
this.method = eRequestMethod.SUGGEST_DIFFICULTY;
}
public response(difficulty: number) {
return {
id: this.id,
method: eResponseMethod.SET_DIFFICULTY,
params: [difficulty]
}
}
}