"use strict";
// SPDX-License-Identifier: Apache-2.0
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const ValidatedArgs_1 = __importDefault(require("../../../../../../core/validation/ValidatedArgs"));
const FormatValidation_1 = __importDefault(require("../../../../../in/request/FormatValidation"));
class ExecuteHoldByPartitionRequest extends ValidatedArgs_1.default {
    securityId;
    sourceId;
    amount;
    holdId;
    targetId;
    partitionId;
    constructor({ targetId, sourceId, holdId, securityId, amount, partitionId, }) {
        super({
            securityId: FormatValidation_1.default.checkHederaIdFormatOrEvmAddress(),
            sourceId: FormatValidation_1.default.checkHederaIdFormatOrEvmAddress(),
            targetId: FormatValidation_1.default.checkHederaIdFormatOrEvmAddress(true),
            holdId: FormatValidation_1.default.checkNumber({ min: 0 }),
            amount: FormatValidation_1.default.checkAmount(),
            partitionId: FormatValidation_1.default.checkBytes32Format(),
        });
        this.securityId = securityId;
        this.sourceId = sourceId;
        this.targetId = targetId;
        this.holdId = holdId;
        this.amount = amount;
        this.partitionId = partitionId;
    }
}
exports.default = ExecuteHoldByPartitionRequest;
