lisk-framework
Version:
Lisk blockchain application platform
285 lines • 9.42 kB
JavaScript
"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