Skip to content

Add validation to @ChainKey to prevent utf 0 in keys #700

Description

@dzikowski

suggested changes:

export interface ChainKeyMetadata extends ChainKeyConfig {
  key: string | symbol;
+ allowUtf0?: boolean
}

export function ChainKey(chainKeyConfig: ChainKeyConfig): PropertyDecorator {
  return (target, key) => {
    const fields: ChainKeyMetadata[] = Reflect.getOwnMetadata("galachain:chainkey", target) || [];

    const existingField = fields.find((field) => field.position === chainKeyConfig.position);

+   // inject somewhere a validation decotator to fail on utf0

    if (existingField === undefined) {
      fields.push({ key, ...chainKeyConfig });
      Reflect.defineMetadata("galachain:chainkey", fields, target);
    }
  };
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions