UNPKG

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 (27 loc) 859 B
import { registerDecorator, ValidatorConstraint, ValidatorConstraintInterface, ValidationOptions, } from 'class-validator'; import { operatorPublicKeyValidator } from '../../../../commands/actions/validators'; @ValidatorConstraint({ name: 'operatorKey', async: false }) export class OpeatorPublicKeyValidatorConstraint implements ValidatorConstraintInterface { validate(value: any) { return operatorPublicKeyValidator(value); } defaultMessage() { return 'Invalid operator public key'; } } export function OpeatorPublicKeyValidator(validationOptions?: ValidationOptions) { return function (object: any, propertyName: string) { registerDecorator({ target: object.constructor, propertyName, options: validationOptions, constraints: [], validator: OpeatorPublicKeyValidatorConstraint, }); }; }