UNPKG

@etherspot/remote-signer

Version:

Etherspot Permissioned Signer SDK - signs the UserOp with SessionKey and sends it to the Bundler

1 lines 2.06 kB
{"version":3,"sources":["../../src/sdk/dto/validators/is-bytes-like.validator.ts"],"sourcesContent":["import { registerDecorator, ValidationOptions } from 'class-validator';\nimport { isHex } from 'viem';\n\nexport function IsBytesLike(options: ValidationOptions & { acceptText?: boolean } = {}) {\n return (object: any, propertyName: string) => {\n registerDecorator({\n propertyName,\n options: {\n message: `${propertyName} must be bytes like`,\n ...options,\n },\n name: 'IsBytesLike',\n target: object ? object.constructor : undefined,\n constraints: [],\n validator: {\n validate(value: any): boolean {\n let result = false;\n\n try {\n if (value) {\n switch (typeof value) {\n case 'string':\n if (options.acceptText) {\n result = true;\n } else {\n result = isHex(value) && value.length % 2 === 0;\n }\n break;\n\n case 'object':\n result = Array.isArray(value) && value.every((value) => typeof value === 'number');\n break;\n }\n }\n } catch (err) {\n //\n }\n\n return result;\n },\n },\n });\n };\n}\n"],"mappings":";;;;;AAAA,SAAS,yBAA4C;AAG9C,SAAS,YAAY,UAAwD,CAAC,GAAG;AACtF,SAAO,CAAC,QAAa,iBAAyB;AAC5C,sBAAkB;AAAA,MAChB;AAAA,MACA,SAAS;AAAA,QACP,SAAS,GAAG,YAAY;AAAA,QACxB,GAAG;AAAA,MACL;AAAA,MACA,MAAM;AAAA,MACN,QAAQ,SAAS,OAAO,cAAc;AAAA,MACtC,aAAa,CAAC;AAAA,MACd,WAAW;AAAA,QACT,SAAS,OAAqB;AAC5B,cAAI,SAAS;AAEb,cAAI;AACF,gBAAI,OAAO;AACT,sBAAQ,OAAO,OAAO;AAAA,gBACpB,KAAK;AACH,sBAAI,QAAQ,YAAY;AACtB,6BAAS;AAAA,kBACX,OAAO;AACL,6BAAS,MAAM,KAAK,KAAK,MAAM,SAAS,MAAM;AAAA,kBAChD;AACA;AAAA,gBAEF,KAAK;AACH,2BAAS,MAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,CAACA,WAAU,OAAOA,WAAU,QAAQ;AACjF;AAAA,cACJ;AAAA,YACF;AAAA,UACF,SAAS,KAAK;AAAA,UAEd;AAEA,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;","names":["value"]}