UNPKG

@protokol/guardian-crypto

Version:

Transaction Builders For Guardian Transaction Types

38 lines 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.permissionsSchema = exports.groupNameSchema = exports.vendorFieldSchema = exports.amountSchema = void 0; const crypto_1 = require("@arkecosystem/crypto"); const defaults_1 = require("../../defaults"); exports.amountSchema = { bignumber: { minimum: 0, maximum: 0 } }; exports.vendorFieldSchema = { anyOf: [{ type: "null" }, { type: "string", format: "vendorField" }] }; exports.groupNameSchema = { type: "string", minLength: defaults_1.defaults.guardianGroupName.minLength, maxLength: defaults_1.defaults.guardianGroupName.maxLength, }; exports.permissionsSchema = { type: "array", uniqueItems: true, items: { type: "object", required: ["transactionType", "transactionTypeGroup"], properties: { transactionType: { type: "integer", minimum: 0 }, transactionTypeGroup: { type: "integer", minimum: 0 }, }, }, }; crypto_1.Validation.validator.removeKeyword("uniqueAllowDeny"); crypto_1.Validation.validator.addKeyword("uniqueAllowDeny", { compile: () => ({ allow, deny }) => { if (!(allow && deny)) return true; const isDuplicate = allow.some((a) => deny.some((d) => a.transactionType === d.transactionType && a.transactionTypeGroup === d.transactionTypeGroup)); return !isDuplicate; }, errors: true, metaSchema: { type: "boolean", }, }); //# sourceMappingURL=guardian-schemas.js.map