import { config } from "dotenv"
import { toEcosystem } from "../src/toEcosystem"
import { validateCore } from "./validate:core"
import { validateMeeNode } from "./validate:meeNode"
import { validateModules } from "./validate:modules"

config()

export const main = async () => {
  const ecosystem = await toEcosystem({
    chainLength: 2,
    forkUrl:
      "https://base-sepolia.g.alchemy.com/v2/EX-Rh8dvlZU3i-WJlp9gpK17PjzOWRlL",
    withMee: true
  })
  await Promise.all(ecosystem.infras.map(validateCore))
  await Promise.all(ecosystem.infras.map(validateModules))
  await validateMeeNode(ecosystem)
}

main()
  .then(() => {
    console.log("success ✅")
    process.exit(0)
  })
  .catch((error) => {
    console.error(error)
    process.exit(1)
  })
