"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const __1 = require("..");
const routes_1 = require("../../providers/chain-state/evm/api/routes");
const EVMVerificationPeer_1 = require("../../providers/chain-state/evm/p2p/EVMVerificationPeer");
const csp_1 = require("./api/csp");
const p2p_1 = require("./p2p/p2p");
class MoralisModule extends __1.BaseModule {
    constructor(services, chain, network, _config) {
        super(services);
        services.P2P.register(chain, network, p2p_1.MoralisP2PWorker);
        const csp = new csp_1.MoralisStateProvider(chain);
        services.CSP.registerService(chain, network, csp);
        services.Api.app.use(new routes_1.EVMRouter(csp, chain).getRouter());
        services.Verification.register(chain, network, EVMVerificationPeer_1.EVMVerificationPeer);
    }
}
exports.default = MoralisModule;
//# sourceMappingURL=index.js.map