@dydxfoundation/governance
Version:
dYdX governance smart contracts
81 lines (80 loc) • 4.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Optional = exports.IsPositiveOrMinusOneAmount = exports.Is0OrPositiveAmount = exports.IsPositiveAmount = exports.IsEthAddressOrENS = exports.IsEthAddress = exports.optionalMetadataKey = exports.is0OrPositiveMetadataKey = exports.isPositiveOrMinusOneMetadataKey = exports.isPositiveMetadataKey = exports.isEthAddressOrENSMetadataKey = exports.isEthAddressMetadataKey = void 0;
/* eslint-disable prefer-rest-params */
/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
/* eslint-disable @typescript-eslint/no-explicit-any */
require("reflect-metadata");
exports.isEthAddressMetadataKey = Symbol('ethAddress');
exports.isEthAddressOrENSMetadataKey = Symbol('ethOrENSAddress');
exports.isPositiveMetadataKey = Symbol('isPositive');
exports.isPositiveOrMinusOneMetadataKey = Symbol('isPositiveOrMinusOne');
exports.is0OrPositiveMetadataKey = Symbol('is0OrPositiveMetadataKey');
exports.optionalMetadataKey = Symbol('Optional');
// tslint:disable-next-line: function-name
function IsEthAddress(field) {
return function (
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
target, propertyKey, parameterIndex) {
const existingPossibleAddresses = Reflect.getOwnMetadata(exports.isEthAddressMetadataKey, target, propertyKey) ||
[];
existingPossibleAddresses.push({
index: parameterIndex,
field,
});
Reflect.defineMetadata(exports.isEthAddressMetadataKey, existingPossibleAddresses, target, propertyKey);
};
}
exports.IsEthAddress = IsEthAddress;
function IsEthAddressOrENS(field) {
return function (
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
target, propertyKey, parameterIndex) {
const existingPossibleAddresses = Reflect.getOwnMetadata(exports.isEthAddressOrENSMetadataKey, target, propertyKey) || [];
existingPossibleAddresses.push({
index: parameterIndex,
field,
});
Reflect.defineMetadata(exports.isEthAddressOrENSMetadataKey, existingPossibleAddresses, target, propertyKey);
};
}
exports.IsEthAddressOrENS = IsEthAddressOrENS;
function IsPositiveAmount(field) {
return function (
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
target, propertyKey, parameterIndex) {
const params = Reflect.getOwnMetadata(exports.isPositiveMetadataKey, target, propertyKey) || [];
params.push({ index: parameterIndex, field });
Reflect.defineMetadata(exports.isPositiveMetadataKey, params, target, propertyKey);
};
}
exports.IsPositiveAmount = IsPositiveAmount;
function Is0OrPositiveAmount(field) {
return function (
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
target, propertyKey, parameterIndex) {
const params = Reflect.getOwnMetadata(exports.is0OrPositiveMetadataKey, target, propertyKey) ||
[];
params.push({ index: parameterIndex, field });
Reflect.defineMetadata(exports.is0OrPositiveMetadataKey, params, target, propertyKey);
};
}
exports.Is0OrPositiveAmount = Is0OrPositiveAmount;
function IsPositiveOrMinusOneAmount(field) {
return function (
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
target, propertyKey, parameterIndex) {
const params = Reflect.getOwnMetadata(exports.isPositiveOrMinusOneMetadataKey, target, propertyKey) || [];
params.push({ index: parameterIndex, field });
Reflect.defineMetadata(exports.isPositiveOrMinusOneMetadataKey, params, target, propertyKey);
};
}
exports.IsPositiveOrMinusOneAmount = IsPositiveOrMinusOneAmount;
function Optional(
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
target, propertyKey, parameterIndex) {
const existingOptionalParameters = Reflect.getOwnMetadata(exports.optionalMetadataKey, target, propertyKey) || [];
existingOptionalParameters.push(parameterIndex);
Reflect.defineMetadata(exports.optionalMetadataKey, existingOptionalParameters, target, propertyKey);
}
exports.Optional = Optional;