UNPKG

lisk-framework

Version:

Lisk blockchain application platform

234 lines 6.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isSeedRevealValidResponseSchema = exports.isSeedRevealValidRequestSchema = exports.registeredHashOnionsStoreSchema = exports.blockHeaderAssetRandomModule = exports.randomModuleGeneratorConfig = exports.randomModuleConfig = exports.setHashOnionUsageRequest = exports.getHashOnionUsageResponse = exports.hasHashOnionResponseSchema = exports.addressSchema = exports.hashOnionSchema = void 0; const constants_1 = require("./constants"); exports.hashOnionSchema = { $id: 'lisk/random/setSeedRequestSchema', type: 'object', title: 'Random setSeed request', required: ['address'], properties: { address: { type: 'string', format: 'lisk32', }, seed: { type: 'string', format: 'hex', minLength: constants_1.SEED_LENGTH * 2, maxLength: constants_1.SEED_LENGTH * 2, }, count: { type: 'integer', minimum: 1, maximum: constants_1.MAX_HASH_COMPUTATION * 1000, }, distance: { type: 'integer', minimum: 1, }, hashes: { type: 'array', minItems: 1, items: { type: 'string', format: 'hex', minLength: constants_1.SEED_LENGTH * 2, maxLength: constants_1.SEED_LENGTH * 2, }, }, }, }; exports.addressSchema = { $id: 'lisk/random/addressSchema', type: 'object', required: ['address'], properties: { address: { type: 'string', format: 'lisk32', }, }, }; exports.hasHashOnionResponseSchema = { $id: 'lisk/random/hasHashOnionResponseSchema', type: 'object', required: ['hasSeed', 'remaining'], properties: { hasSeed: { type: 'boolean', }, remaining: { type: 'integer', format: 'uint32', }, }, }; exports.getHashOnionUsageResponse = { $id: 'lisk/random/getHashOnionUsageResponse', type: 'object', required: ['usedHashOnions', 'seed'], properties: { usedHashOnions: { type: 'array', items: { type: 'object', required: ['count', 'height'], properties: { count: { type: 'integer', format: 'uint32', }, height: { type: 'integer', format: 'uint32', }, }, }, }, seed: { type: 'string', format: 'hex', }, }, }; exports.setHashOnionUsageRequest = { $id: 'lisk/random/setHashOnionUsageRequest', type: 'object', required: ['address', 'usedHashOnions'], properties: { address: { type: 'string', format: 'lisk32', }, usedHashOnions: { type: 'array', items: { type: 'object', required: ['count', 'height'], properties: { count: { type: 'integer', format: 'uint32', }, height: { type: 'integer', format: 'uint32', }, }, }, }, }, }; exports.randomModuleConfig = { $id: '/modules/random/config', type: 'object', required: ['maxLengthReveals'], properties: { maxLengthReveals: { type: 'integer', format: 'uint32', }, }, }; exports.randomModuleGeneratorConfig = { $id: '/modules/random/generator', type: 'object', required: [], properties: { hashOnions: { type: 'array', items: { type: 'object', required: ['address', 'hashOnion'], properties: { address: { type: 'string', format: 'lisk32', }, hashOnion: { type: 'object', required: ['count', 'distance', 'hashes'], properties: { count: { type: 'integer' }, distance: { type: 'integer' }, hashes: { type: 'array', items: { type: 'string', format: 'hex', }, }, }, }, }, }, }, }, }; exports.blockHeaderAssetRandomModule = { $id: '/modules/random/block/header/asset', type: 'object', properties: { seedReveal: { dataType: 'bytes', fieldNumber: 1, minLength: constants_1.SEED_LENGTH, maxLength: constants_1.SEED_LENGTH, }, }, required: ['seedReveal'], }; exports.registeredHashOnionsStoreSchema = { title: 'Used hash onion', $id: '/forger/registeredHashOnion', type: 'object', required: ['registeredHashOnions'], properties: { registeredHashOnions: { type: 'array', fieldNumber: 1, items: { type: 'object', required: ['address', 'seedHash'], properties: { address: { dataType: 'bytes', format: 'lisk32', fieldNumber: 1, }, seedHash: { dataType: 'bytes', fieldNumber: 2, }, }, }, }, }, }; exports.isSeedRevealValidRequestSchema = { $id: '/modules/random/endpoint/isSeedRevealRequest', type: 'object', required: ['generatorAddress', 'seedReveal'], properties: { generatorAddress: { type: 'string', format: 'lisk32', }, seedReveal: { type: 'string', format: 'hex', }, }, }; exports.isSeedRevealValidResponseSchema = { $id: '/modules/random/endpoint/isSeedRevealResponse', type: 'object', required: ['valid'], properties: { valid: { type: 'boolean', }, }, }; //# sourceMappingURL=schemas.js.map