"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.legacyAccountRequestSchema = exports.genesisStoreSchema = exports.registerKeysParamsSchema = exports.reclaimLSKParamsSchema = exports.legacyAccountResponseSchema = void 0;
const constants_1 = require("./constants");
const legacyAccount_1 = require("./stores/legacyAccount");
exports.legacyAccountResponseSchema = legacyAccount_1.legacyAccountStoreSchema;
exports.reclaimLSKParamsSchema = {
    $id: '/legacy/command/reclaimLSKParams',
    type: 'object',
    required: ['amount'],
    properties: {
        amount: {
            dataType: 'uint64',
            fieldNumber: 1,
        },
    },
};
exports.registerKeysParamsSchema = {
    $id: '/legacy/command/registerKeysParams',
    type: 'object',
    required: ['blsKey', 'proofOfPossession', 'generatorKey'],
    properties: {
        blsKey: {
            dataType: 'bytes',
            minLength: constants_1.LENGTH_BLS_KEY,
            maxLength: constants_1.LENGTH_BLS_KEY,
            fieldNumber: 1,
        },
        proofOfPossession: {
            dataType: 'bytes',
            minLength: constants_1.LENGTH_PROOF_OF_POSSESSION,
            maxLength: constants_1.LENGTH_PROOF_OF_POSSESSION,
            fieldNumber: 2,
        },
        generatorKey: {
            dataType: 'bytes',
            minLength: constants_1.LENGTH_GENERATOR_KEY,
            maxLength: constants_1.LENGTH_GENERATOR_KEY,
            fieldNumber: 3,
        },
    },
};
exports.genesisStoreSchema = {
    $id: '/legacy/module/genesis',
    type: 'object',
    required: ['accounts'],
    properties: {
        accounts: {
            type: 'array',
            fieldNumber: 1,
            items: {
                type: 'object',
                required: ['address', 'balance'],
                properties: {
                    address: {
                        dataType: 'bytes',
                        minLength: constants_1.LENGTH_LEGACY_ADDRESS,
                        maxLength: constants_1.LENGTH_LEGACY_ADDRESS,
                        fieldNumber: 1,
                    },
                    balance: {
                        dataType: 'uint64',
                        fieldNumber: 2,
                    },
                },
            },
        },
    },
};
exports.legacyAccountRequestSchema = {
    $id: '/legacy/endpoint/legacyAccountRequest',
    type: 'object',
    required: ['publicKey'],
    properties: {
        publicKey: {
            type: 'string',
            format: 'hex',
        },
    },
};
//# sourceMappingURL=schemas.js.map