module com.hedera.node.app.service.mono {
    exports com.hedera.node.app.service.mono;
    exports com.hedera.node.app.service.mono.grpc to
            com.hedera.node.app;
    exports com.hedera.node.app.service.mono.fees.charging;
    exports com.hedera.node.app.service.mono.state.submerkle to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app,
            com.hedera.node.app.service.network.admin.impl,
            com.hedera.node.app.service.schedule.impl,
            com.hedera.node.app.service.schedule.impl.test,
            com.hedera.node.app.service.token.impl,
            com.hedera.node.app.service.token.impl.test,
            com.hedera.node.app.service.networkadmin.impl.test,
            com.hedera.node.app.service.consensus.impl,
            com.hedera.node.app.service.consensus.impl.test,
            com.hedera.node.services.cli;
    exports com.hedera.node.app.service.mono.exceptions to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app.service.schedule.impl,
            com.hedera.node.app,
            com.hedera.node.app.service.schedule.impl.test,
            com.hedera.node.app.service.token.impl;
    exports com.hedera.node.app.service.mono.context.domain.process to
            com.hedera.node.app;
    exports com.hedera.node.app.service.mono.legacy.core.jproto to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app.service.token.impl,
            com.hedera.node.app.service.token.impl.test,
            com.hedera.node.app.service.schedule.impl.test,
            com.hedera.node.app.service.contract.impl,
            com.hedera.node.app.service.contract.impl.test,
            com.hedera.node.app.service.consensus.impl,
            com.hedera.node.app,
            com.hedera.node.app.service.consensus.impl.test,
            com.hedera.node.app.service.schedule.impl,
            com.hedera.node.app.service.file.impl,
            com.hedera.node.services.cli;
    exports com.hedera.node.app.service.mono.utils to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app.service.schedule.impl,
            com.hedera.node.app.service.schedule.impl.test,
            com.hedera.node.app,
            com.hedera.node.app.service.token.impl.test,
            com.hedera.node.app.service.token.impl,
            com.hedera.node.app.service.contract.impl,
            com.hedera.node.app.service.contract.impl.test,
            com.hedera.node.app.service.consensus.impl,
            com.hedera.node.app.service.networkadmin.impl,
            com.hedera.node.app.service.consensus.impl.test,
            com.hedera.node.app.service.networkadmin.impl.test,
            com.hedera.node.services.cli,
            com.hedera.node.app.service.file.impl,
            com.hedera.node.app.service.file.impl.test,
            com.hedera.node.app.service.network.admin.impl;
    exports com.hedera.node.app.service.mono.ledger to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app;
    exports com.hedera.node.app.service.mono.store.models to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app;
    exports com.hedera.node.app.service.mono.state.validation to
            com.hedera.node.app,
            com.hedera.node.app.service.consensus.impl,
            com.hedera.node.app.service.consensus.impl.test;
    exports com.hedera.node.app.service.mono.utils.accessors;
    exports com.hedera.node.app.service.mono.sigs.metadata to
            com.hedera.node.app;
    exports com.hedera.node.app.service.mono.sigs.utils to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app,
            com.hedera.node.app.test.fixtures;
    exports com.hedera.node.app.service.mono.sigs.verification to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app;
    exports com.hedera.node.app.service.mono.files to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app,
            com.hedera.node.app.service.file.impl;
    exports com.hedera.node.app.service.mono.state.virtual.schedule to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app.service.schedule.impl,
            com.hedera.node.app.service.schedule.impl.test,
            com.hedera.node.app;
    exports com.hedera.node.app.service.mono.store.schedule to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app;
    exports com.hedera.node.app.service.mono.store.tokens to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app.service.token.impl.test,
            com.hedera.node.app;
    exports com.hedera.node.app.service.mono.context;
    exports com.hedera.node.app.service.mono.context.properties;
    exports com.hedera.node.app.service.mono.state.enums to
            com.hedera.node.app.service.mono.test.fixtures,
            com.hedera.node.app.service.token.impl.test;
    exports com.hedera.node.app.service.mono.state.exports to
            com.hedera.node.app;
    exports com.hedera.node.app.service.mono.records;
    exports com.hedera.node.app.service.mono.stats;
    exports com.hedera.node.app.service.mono.txns;
    exports com.hedera.node.app.service.mono.throttling to
            com.fasterxml.jackson.databind,
            com.hedera.node.app,
            com.hedera.node.config;
    exports com.hedera.node.app.service.mono.ledger.accounts.staking to
            com.hedera.node.config,
            com.hedera.node.app,
            com.hedera.node.app.service.token.impl;
    exports com.hedera.node.app.service.mono.context.init to
            com.hedera.node.app;
    exports com.hedera.node.app.service.mono.state.initialization to
            com.hedera.node.app;
    exports com.hedera.node.app.service.mono.sigs to
            com.fasterxml.jackson.databind,
            com.hedera.node.app;

    opens com.hedera.node.app.service.mono to
            com.swirlds.common;
    opens com.hedera.node.app.service.mono.context.properties to
            com.swirlds.common;
    opens com.hedera.node.app.service.mono.legacy.core.jproto to
            com.swirlds.common;
    opens com.hedera.node.app.service.mono.state.merkle to
            com.swirlds.common;
    opens com.hedera.node.app.service.mono.state.merkle.internals to
            com.swirlds.common;
    opens com.hedera.node.app.service.mono.state.submerkle to
            com.swirlds.common,
            com.hedera.node.app.service.consensus.impl;
    opens com.hedera.node.app.service.mono.state.virtual to
            com.swirlds.common;
    opens com.hedera.node.app.service.mono.state.virtual.entities to
            com.swirlds.common;
    opens com.hedera.node.app.service.mono.state.virtual.schedule to
            com.swirlds.common;
    opens com.hedera.node.app.service.mono.state.virtual.temporal to
            com.swirlds.common;
    opens com.hedera.node.app.service.mono.stream to
            com.swirlds.common;

    exports com.hedera.node.app.service.mono.state.migration;
    exports com.hedera.node.app.service.mono.sigs.order;
    exports com.hedera.node.app.service.mono.ledger.accounts;
    exports com.hedera.node.app.service.mono.state.virtual;
    exports com.hedera.node.app.service.mono.state.virtual.entities;
    exports com.hedera.node.app.service.mono.stream;
    exports com.hedera.node.app.service.mono.state.org;
    exports com.hedera.node.app.service.mono.state.adapters;
    exports com.hedera.node.app.service.mono.context.domain.security;
    exports com.hedera.node.app.service.mono.queries.validation;
    exports com.hedera.node.app.service.mono.state;
    exports com.hedera.node.app.service.mono.context.annotations;
    exports com.hedera.node.app.service.mono.fees;
    exports com.hedera.node.app.service.mono.config;
    exports com.hedera.node.app.service.mono.txns.validation;
    exports com.hedera.node.app.service.mono.ledger.ids;
    exports com.hedera.node.app.service.mono.txns.auth;
    exports com.hedera.node.app.service.mono.state.codec;
    exports com.hedera.node.app.service.mono.state.expiry;
    exports com.hedera.node.app.service.mono.throttling.annotations;
    exports com.hedera.node.app.service.mono.state.virtual.temporal;
    exports com.hedera.node.app.service.mono.state.logic;
    exports com.hedera.node.app.service.mono.state.merkle.internals;
    exports com.hedera.node.app.service.mono.fees.calculation;
    exports com.hedera.node.app.service.mono.context.primitives;
    exports com.hedera.node.app.service.mono.queries;
    exports com.hedera.node.app.service.mono.contracts;
    exports com.hedera.node.app.service.mono.txns.token;
    exports com.hedera.node.app.service.mono.keys;
    exports com.hedera.node.app.service.mono.state.tasks;
    exports com.hedera.node.app.service.mono.store;
    exports com.hedera.node.app.service.mono.txns.submission;
    exports com.hedera.node.app.service.mono.state.forensics;
    exports com.hedera.node.app.service.mono.txns.prefetch;
    exports com.hedera.node.app.service.mono.txns.network;
    exports com.hedera.node.app.service.mono.ledger.backing;
    exports com.hedera.node.app.service.mono.ledger.interceptors;
    exports com.hedera.node.app.service.mono.ledger.properties;
    exports com.hedera.node.app.service.mono.store.contracts;
    exports com.hedera.node.app.service.mono.txns.crypto;
    exports com.hedera.node.app.service.mono.fees.congestion;
    exports com.hedera.node.app.service.mono.contracts.execution;
    exports com.hedera.node.app.service.mono.contracts.gascalculator;
    exports com.hedera.node.app.service.mono.contracts.sources;
    exports com.hedera.node.app.service.mono.store.contracts.precompile.codec;
    exports com.hedera.node.app.service.mono.fees.calculation.utils;
    exports com.hedera.node.app.service.mono.fees.calculation.meta.queries;
    exports com.hedera.node.app.service.mono.queries.answering;
    exports com.hedera.node.app.service.mono.fees.calculation.crypto.queries;
    exports com.hedera.node.app.service.mono.fees.calculation.file.queries;
    exports com.hedera.node.app.service.mono.fees.calculation.token.queries;
    exports com.hedera.node.app.service.mono.fees.calculation.contract.queries;
    exports com.hedera.node.app.service.mono.contracts.operation;
    exports com.hedera.node.app.service.mono.txns.util;
    exports com.hedera.node.app.service.mono.fees.calculation.schedule.queries;
    exports com.hedera.node.app.service.mono.fees.calculation.consensus.queries;
    exports com.hedera.node.app.service.mono.fees.calculation.system.txns;
    exports com.hedera.node.app.service.mono.fees.calculation.file.txns;
    exports com.hedera.node.app.service.mono.fees.calculation.token.txns;
    exports com.hedera.node.app.service.mono.fees.calculation.contract.txns;
    exports com.hedera.node.app.service.mono.fees.calculation.crypto.txns;
    exports com.hedera.node.app.service.mono.fees.calculation.ethereum.txns;
    exports com.hedera.node.app.service.mono.fees.calculation.schedule.txns;
    exports com.hedera.node.app.service.mono.fees.calculation.consensus.txns;
    exports com.hedera.node.app.service.mono.store.contracts.precompile.utils;
    exports com.hedera.node.app.service.mono.txns.token.process;
    exports com.hedera.node.app.service.mono.grpc.marshalling;
    exports com.hedera.node.app.service.mono.store.contracts.precompile;
    exports com.hedera.node.app.service.mono.txns.contract;
    exports com.hedera.node.app.service.mono.txns.span;
    exports com.hedera.node.app.service.mono.txns.customfees;
    exports com.hedera.node.app.service.mono.state.expiry.classification;
    exports com.hedera.node.app.service.mono.state.expiry.removal;
    exports com.hedera.node.app.service.mono.state.expiry.renewal;
    exports com.hedera.node.app.service.mono.context.domain.trackers;
    exports com.hedera.node.app.service.mono.files.sysfiles;
    exports com.hedera.node.app.service.mono.sigs.factories;
    exports com.hedera.node.app.service.mono.txns.file;
    exports com.hedera.node.app.service.mono.legacy.handler;
    exports com.hedera.node.app.service.mono.txns.token.validators;
    exports com.hedera.node.app.service.mono.txns.crypto.validators;
    exports com.hedera.node.app.service.mono.txns.contract.helpers;
    exports com.hedera.node.app.service.mono.txns.ethereum;
    exports com.hedera.node.app.service.mono.txns.schedule;
    exports com.hedera.node.app.service.mono.txns.consensus;
    exports com.hedera.node.app.service.mono.files.interceptors;
    exports com.hedera.node.app.service.mono.queries.meta;
    exports com.hedera.node.app.service.mono.queries.crypto;
    exports com.hedera.node.app.service.mono.queries.file;
    exports com.hedera.node.app.service.mono.grpc.controllers;
    exports com.hedera.node.app.service.mono.queries.contract;
    exports com.hedera.node.app.service.mono.queries.consensus;
    exports com.hedera.node.app.service.mono.queries.token;
    exports com.hedera.node.app.service.mono.queries.schedule;
    exports com.hedera.node.app.service.mono.fees.calculation.consensus;
    exports com.hedera.node.app.service.mono.fees.calculation.schedule;
    exports com.hedera.node.app.service.mono.fees.calculation.contract;
    exports com.hedera.node.app.service.mono.fees.calculation.file;
    exports com.hedera.node.app.service.mono.fees.calculation.token;
    exports com.hedera.node.app.service.mono.fees.calculation.crypto;
    exports com.hedera.node.app.service.mono.fees.calculation.ethereum;
    exports com.hedera.node.app.service.mono.legacy.exception;
    exports com.hedera.node.app.service.mono.pbj;
    exports com.hedera.node.app.service.mono.sigs.sourcing;
    exports com.hedera.node.app.service.mono.cache;

    opens com.hedera.node.app.service.mono.cache to
            com.swirlds.common;

    exports com.hedera.node.app.service.mono.state.merkle;

    opens com.hedera.node.app.service.mono.state.migration to
            com.swirlds.common;

    requires transitive com.hedera.node.app.hapi.fees;
    requires transitive com.hedera.node.app.hapi.utils;
    requires transitive com.hedera.node.app.service.evm;
    requires transitive com.hedera.node.app.service.token;
    requires transitive com.hedera.node.app.spi;
    requires transitive com.hedera.node.hapi;
    requires transitive com.fasterxml.jackson.databind;
    requires transitive com.google.common;
    requires transitive com.google.protobuf;
    requires transitive com.hedera.pbj.runtime;
    requires transitive com.swirlds.common;
    requires transitive com.swirlds.fchashmap;
    requires transitive com.swirlds.fcqueue;
    requires transitive com.swirlds.jasperdb;
    requires transitive com.swirlds.merkle;
    requires transitive com.swirlds.virtualmap;
    requires transitive dagger;
    requires transitive grpc.netty;
    requires transitive grpc.stub;
    requires transitive headlong;
    requires transitive io.grpc;
    requires transitive javax.inject;
    requires transitive org.apache.commons.lang3;
    requires transitive org.apache.logging.log4j;
    requires transitive org.eclipse.collections.api;
    requires transitive org.hyperledger.besu.datatypes;
    requires transitive org.hyperledger.besu.evm;
    requires transitive tuweni.bytes;
    requires transitive tuweni.units;
    requires com.fasterxml.jackson.core;
    requires com.swirlds.base;
    requires com.swirlds.config;
    requires com.swirlds.logging;
    requires com.swirlds.platform;
    requires io.netty.handler;
    requires io.netty.transport.classes.epoll;
    requires io.netty.transport;
    requires org.apache.commons.codec;
    requires org.apache.commons.collections4;
    requires org.apache.commons.io;
    requires org.bouncycastle.provider;
    requires org.eclipse.collections.impl;
    requires org.slf4j;
    requires static com.github.spotbugs.annotations;
}
