Improve ECSignature schema to check signature parameters and that v is 27 or 28
This commit is contained in:
parent
0b8ddc1ee1
commit
fa559377c8
@ -1,9 +1,19 @@
|
||||
export const ECSignatureParameter = {
|
||||
id: '/ECSignatureParameter',
|
||||
type: 'string',
|
||||
pattern: '^0[xX][0-9A-Fa-f]{64}$',
|
||||
};
|
||||
|
||||
export const ECSignatureSchema = {
|
||||
id: '/ECSignature',
|
||||
properties: {
|
||||
v: {type: 'number'},
|
||||
r: {type: 'string'},
|
||||
s: {type: 'string'},
|
||||
v: {
|
||||
type: 'number',
|
||||
minimum: 27,
|
||||
maximum: 28,
|
||||
},
|
||||
r: {$ref: '/ECSignatureParameter'},
|
||||
s: {$ref: '/ECSignatureParameter'},
|
||||
},
|
||||
required: ['v', 'r', 's'],
|
||||
type: 'object',
|
||||
|
@ -1,10 +1,11 @@
|
||||
import {Validator as V, ValidatorResult} from 'jsonschema';
|
||||
import {ECSignatureSchema} from '../schemas/ec_signature_schema';
|
||||
import {ECSignatureSchema, ECSignatureParameter} from '../schemas/ec_signature_schema';
|
||||
|
||||
export class SchemaValidator {
|
||||
private v: V;
|
||||
constructor() {
|
||||
this.v = new V();
|
||||
this.v.addSchema(ECSignatureParameter, ECSignatureParameter.id);
|
||||
this.v.addSchema(ECSignatureSchema, ECSignatureSchema.id);
|
||||
}
|
||||
public validate(instance: object, schema: Schema): ValidatorResult {
|
||||
|
Loading…
x
Reference in New Issue
Block a user