UNPKG

@dgpub/prime-sdk

Version:

Etherspot Prime (Account Abstraction) SDK

32 lines (31 loc) 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IsHex = void 0; const class_validator_1 = require("class-validator"); const ethers_1 = require("ethers"); function IsHex(options = {}, validationOptions = {}) { return (object, propertyName) => { const { size } = options; let message = `${propertyName} must be hex`; if (size > 0) { message = `${message} with ${size} size`; } (0, class_validator_1.registerDecorator)({ propertyName, options: Object.assign({ message }, validationOptions), name: 'isHex', target: object.constructor, constraints: [], validator: { validate(value) { let result = ethers_1.utils.isHexString(value); if (result && size > 0) { result = value.length === size * 2 + 2; } return result; }, }, }); }; } exports.IsHex = IsHex;