"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.testOptBcsType = exports.compilerPayloadBcsType = void 0;
const bcs_1 = require("@mysten/bcs");
// BCS Type for serializing CompilerBuildConfig
const compilerBuildConfig = {
    dev_mode: bcs_1.bcs.bool(),
    test_mode: bcs_1.bcs.bool(),
    generate_docs: bcs_1.bcs.bool(),
    generate_abis: bcs_1.bcs.bool(),
    install_dir: bcs_1.bcs.option(bcs_1.bcs.string()),
    force_recompilation: bcs_1.bcs.bool(),
    fetch_deps_only: bcs_1.bcs.bool(),
    skip_fetch_latest_git_deps: bcs_1.bcs.bool(),
    bytecode_version: bcs_1.bcs.u32(),
    compiler_version: bcs_1.bcs.string(),
    language_version: bcs_1.bcs.string(),
    additional_named_addresses: bcs_1.bcs.vector(bcs_1.bcs.tuple([bcs_1.bcs.string(), bcs_1.bcs.bytes(32)])),
};
// BCS Type for serializing CompilerBuildConfig
const testOption = {
    filter: bcs_1.bcs.option(bcs_1.bcs.string()),
    report_statistics: bcs_1.bcs.bool(),
    report_storage_on_error: bcs_1.bcs.bool(),
    ignore_compile_warnings: bcs_1.bcs.bool(),
    compute_coverage: bcs_1.bcs.bool(),
};
exports.compilerPayloadBcsType = bcs_1.bcs.struct('CompilerArguments', {
    package_path: bcs_1.bcs.option(bcs_1.bcs.string()),
    verbose: bcs_1.bcs.bool(),
    build_config: bcs_1.bcs.struct('BuildConfig', compilerBuildConfig),
});
exports.testOptBcsType = bcs_1.bcs.struct('TestOptions', testOption);
//# sourceMappingURL=bcs.js.map