UNPKG

lisk-framework

Version:

Lisk blockchain application platform

146 lines 5.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.areHeadersContradictingRequestSchema = exports.validatorsHashInputSchema = exports.bftVotesSchema = exports.bftParametersSchema = void 0; const constants_1 = require("./constants"); exports.bftParametersSchema = { $id: '/modules/bft/bftParameters', type: 'object', required: [ 'prevoteThreshold', 'precommitThreshold', 'certificateThreshold', 'validators', 'validatorsHash', ], properties: { prevoteThreshold: { dataType: 'uint64', fieldNumber: 1, }, precommitThreshold: { dataType: 'uint64', fieldNumber: 2, }, certificateThreshold: { dataType: 'uint64', fieldNumber: 3, }, validators: { type: 'array', fieldNumber: 4, items: { type: 'object', required: ['address', 'bftWeight', 'generatorKey', 'blsKey'], properties: { address: { dataType: 'bytes', format: 'lisk32', fieldNumber: 1, }, bftWeight: { dataType: 'uint64', fieldNumber: 2, }, generatorKey: { dataType: 'bytes', fieldNumber: 3, minLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, maxLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, }, blsKey: { dataType: 'bytes', fieldNumber: 4, minLength: constants_1.BLS_PUBLIC_KEY_LENGTH, maxLength: constants_1.BLS_PUBLIC_KEY_LENGTH, }, }, }, }, validatorsHash: { dataType: 'bytes', fieldNumber: 5, }, }, }; exports.bftVotesSchema = { $id: '/modules/bft/bftVotes', type: 'object', required: [ 'maxHeightPrevoted', 'maxHeightPrecommitted', 'maxHeightCertified', 'blockBFTInfos', 'activeValidatorsVoteInfo', ], properties: { maxHeightPrevoted: { dataType: 'uint32', fieldNumber: 1 }, maxHeightPrecommitted: { dataType: 'uint32', fieldNumber: 2 }, maxHeightCertified: { dataType: 'uint32', fieldNumber: 3 }, blockBFTInfos: { type: 'array', fieldNumber: 4, items: { type: 'object', required: [ 'height', 'generatorAddress', 'maxHeightGenerated', 'maxHeightPrevoted', 'prevoteWeight', 'precommitWeight', ], properties: { height: { dataType: 'uint32', fieldNumber: 1 }, generatorAddress: { dataType: 'bytes', fieldNumber: 2 }, maxHeightGenerated: { dataType: 'uint32', fieldNumber: 3 }, maxHeightPrevoted: { dataType: 'uint32', fieldNumber: 4 }, prevoteWeight: { dataType: 'uint64', fieldNumber: 5 }, precommitWeight: { dataType: 'uint64', fieldNumber: 6 }, }, }, }, activeValidatorsVoteInfo: { type: 'array', fieldNumber: 5, items: { type: 'object', required: ['address', 'minActiveHeight', 'largestHeightPrecommit'], properties: { address: { dataType: 'bytes', fieldNumber: 1 }, minActiveHeight: { dataType: 'uint32', fieldNumber: 2 }, largestHeightPrecommit: { dataType: 'uint32', fieldNumber: 3 }, }, }, }, }, }; exports.validatorsHashInputSchema = { $id: '/modules/bft/validatorsHashInput', type: 'object', required: ['activeValidators', 'certificateThreshold'], properties: { activeValidators: { type: 'array', fieldNumber: 1, items: { type: 'object', required: ['blsKey', 'bftWeight'], properties: { blsKey: { dataType: 'bytes', fieldNumber: 1 }, bftWeight: { dataType: 'uint64', fieldNumber: 2 }, }, }, }, certificateThreshold: { dataType: 'uint64', fieldNumber: 2 }, }, }; exports.areHeadersContradictingRequestSchema = { $id: '/modules/bft/areHeadersContradictingRequest', type: 'object', required: ['header1', 'header2'], properties: { header1: { type: 'string', format: 'hex' }, header2: { type: 'string', format: 'hex' }, }, }; //# sourceMappingURL=schemas.js.map