UNPKG

lisk-framework

Version:

Lisk blockchain application platform

285 lines 9.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.multiSigRegMsgTagSchema = exports.sortMultisignatureGroupResponseSchema = exports.verifyResultSchema = exports.transactionRequestSchema = exports.addressRequestSchema = exports.genesisAuthStoreSchema = exports.configSchema = exports.multisigRegMsgSchema = exports.sortMultisignatureGroupRequestSchema = exports.registerMultisignatureParamsSchema = void 0; const constants_1 = require("./constants"); exports.registerMultisignatureParamsSchema = { $id: '/auth/command/regMultisig', type: 'object', properties: { numberOfSignatures: { dataType: 'uint32', fieldNumber: 1, minimum: 1, maximum: 64, }, mandatoryKeys: { type: 'array', items: { dataType: 'bytes', minLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, maxLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, }, fieldNumber: 2, minItems: 0, maxItems: 64, }, optionalKeys: { type: 'array', items: { dataType: 'bytes', minLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, maxLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, }, fieldNumber: 3, minItems: 0, maxItems: 64, }, signatures: { type: 'array', items: { dataType: 'bytes', minLength: constants_1.ED25519_SIGNATURE_LENGTH, maxLength: constants_1.ED25519_SIGNATURE_LENGTH, }, fieldNumber: 4, }, }, required: ['numberOfSignatures', 'mandatoryKeys', 'optionalKeys', 'signatures'], }; exports.sortMultisignatureGroupRequestSchema = { $id: '/auth/command/sortMultisig', required: ['mandatory', 'optional'], type: 'object', properties: { mandatory: { type: 'array', items: { type: 'object', required: ['publicKey', 'signature'], properties: { publicKey: { type: 'string', minLength: constants_1.ED25519_PUBLIC_KEY_LENGTH * 2, maxLength: constants_1.ED25519_PUBLIC_KEY_LENGTH * 2, fieldNumber: 1, }, signature: { type: 'string', minLength: constants_1.ED25519_SIGNATURE_LENGTH * 2, maxLength: constants_1.ED25519_SIGNATURE_LENGTH * 2, fieldNumber: 2, }, }, }, minItems: 1, maxItems: constants_1.MAX_NUMBER_OF_SIGNATURES, }, optional: { type: 'array', items: { type: 'object', required: ['publicKey', 'signature'], properties: { publicKey: { type: 'string', minLength: constants_1.ED25519_PUBLIC_KEY_LENGTH * 2, maxLength: constants_1.ED25519_PUBLIC_KEY_LENGTH * 2, fieldNumber: 3, }, signature: { type: 'string', minLength: 0, maxLength: constants_1.ED25519_SIGNATURE_LENGTH * 2, fieldNumber: 4, }, }, }, minItems: 0, maxItems: constants_1.MAX_NUMBER_OF_SIGNATURES, }, }, }; exports.multisigRegMsgSchema = { $id: '/auth/command/regMultisigMsg', type: 'object', required: ['address', 'nonce', 'numberOfSignatures', 'mandatoryKeys', 'optionalKeys'], properties: { address: { dataType: 'bytes', fieldNumber: 1, minLength: constants_1.ADDRESS_LENGTH, maxLength: constants_1.ADDRESS_LENGTH, }, nonce: { dataType: 'uint64', fieldNumber: 2, }, numberOfSignatures: { dataType: 'uint32', fieldNumber: 3, }, mandatoryKeys: { type: 'array', items: { dataType: 'bytes', minLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, maxLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, }, fieldNumber: 4, }, optionalKeys: { type: 'array', items: { dataType: 'bytes', minLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, maxLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, }, fieldNumber: 5, }, }, }; exports.configSchema = { $id: '/auth/config', type: 'object', properties: { maxNumberOfSignatures: { type: 'integer', format: 'uint32', }, }, }; exports.genesisAuthStoreSchema = { $id: '/auth/module/genesis', type: 'object', required: ['authDataSubstore'], properties: { authDataSubstore: { type: 'array', fieldNumber: 1, items: { type: 'object', required: ['address', 'authAccount'], properties: { address: { dataType: 'bytes', fieldNumber: 1, }, authAccount: { type: 'object', fieldNumber: 2, required: ['nonce', 'numberOfSignatures', 'mandatoryKeys', 'optionalKeys'], properties: { nonce: { dataType: 'uint64', fieldNumber: 1, }, numberOfSignatures: { dataType: 'uint32', fieldNumber: 2, }, mandatoryKeys: { type: 'array', fieldNumber: 3, items: { dataType: 'bytes', minLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, maxLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, }, }, optionalKeys: { type: 'array', fieldNumber: 4, items: { dataType: 'bytes', minLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, maxLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, }, }, }, }, }, }, }, }, }; exports.addressRequestSchema = { $id: '/auth/addressRequest', type: 'object', properties: { address: { type: 'string', format: 'lisk32', }, }, required: ['address'], }; exports.transactionRequestSchema = { $id: '/auth/transactionRequest', type: 'object', properties: { transaction: { type: 'string', format: 'hex', }, }, required: ['transaction'], }; exports.verifyResultSchema = { $id: '/auth/verifyResult', type: 'object', properties: { verified: { type: 'boolean', }, }, required: ['verified'], }; exports.sortMultisignatureGroupResponseSchema = { $id: '/auth/sortMultisignatureGroupResponse', type: 'object', properties: { mandatoryKeys: { type: 'array', items: { dataType: 'bytes', minLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, maxLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, }, fieldNumber: 1, minItems: 0, maxItems: 64, }, optionalKeys: { type: 'array', items: { dataType: 'bytes', minLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, maxLength: constants_1.ED25519_PUBLIC_KEY_LENGTH, }, fieldNumber: 2, minItems: 0, maxItems: 64, }, signatures: { type: 'array', items: { dataType: 'bytes', minLength: constants_1.ED25519_SIGNATURE_LENGTH, maxLength: constants_1.ED25519_SIGNATURE_LENGTH, }, fieldNumber: 3, }, }, required: ['mandatoryKeys', 'optionalKeys', 'signatures'], }; exports.multiSigRegMsgTagSchema = { $id: '/auth/mutliSignatureRegistrationSignatureMessageTagResponse', type: 'object', properties: { tag: { type: 'string', }, }, required: ['tag'], }; //# sourceMappingURL=schemas.js.map