ssv-keys
Version:
Tool for splitting a validator key into a predefined threshold of shares via Shamir-Secret-Sharing (SSS), and encrypt them with a set of operator keys.
31 lines (26 loc) • 964 B
text/typescript
import { IsDefined, IsInt, IsNotEmpty, IsString, validateSync } from 'class-validator';
import { IOperator } from './IOperator';
import { IOperatorData } from './IOperatorData';
import { OpeatorPublicKeyValidator } from './validators';
export class OperatorData implements IOperatorData {
public id: number;
public operatorKey: string;
constructor(data: IOperator) {
this.id = data.id;
this.operatorKey = data.operatorKey;
this.validate();
}
/**
* Validate operator id and public key
*/
validate(): void {
validateSync(this);
}
}