{
  "$schema": "https://turbo.build/schema.json",
  "ui": "tui",
  "tasks": {
    "codegen": {
      "dependsOn": ["codegen:settlemint", "codegen:gql-tada", "codegen:graph"],
      "outputs": ["*.d.ts", "src/lib/settlemint/**", "generated/**"]
    },
    "codegen:settlemint": {
      "outputs": ["*-env.d.ts", "*-schema.graphql", "*-env-*.d.ts", "*-schema-*.graphql", "src/lib/settlemint/**"]
    },
    "codegen:gql-tada": {
      "dependsOn": ["codegen:settlemint"],
      "outputs": ["*-cache.d.ts", "*-cache-*.d.ts"]
    },
    "codegen:graph": {
      "dependsOn": ["contracts#compile:hardhat"],
      "outputs": ["generated/**"]
    },
    "dependencies": {
      "outputs": ["dependencies/**"]
    },
    "format": {
      "dependsOn": ["format:biome", "format:forge"]
    },
    "format:biome": {
      "cache": false
    },
    "format:forge": {
      "cache": false
    },
    "lint": {
      "dependsOn": ["//#lint:biome", "lint:solhint", "lint:eslint"]
    },
    "//#lint:biome": {
      "dependsOn": ["^codegen"]
    },
    "lint:solhint": {
      "dependsOn": ["codegen"]
    },
    "lint:eslint": {
      "dependsOn": ["codegen"]
    },
    "compile:hardhat": {
      "dependsOn": ["dependencies"],
      "outputs": ["artifacts/**", "cache/**"]
    },
    "compile:forge": {
      "dependsOn": ["dependencies"],
      "outputs": ["out/**", "cache_forge/**"]
    },
    "addresses": {
      "outputs": ["src/lib/contracts.ts"]
    },
    "build": {
      "dependsOn": ["codegen", "addresses", "contracts#compile:forge"],
      "outputs": [".next/**", "!.next/cache/**", "build/**"]
    },
    "dev": {
      "dependsOn": ["codegen", "addresses"],
      "cache": false,
      "persistent": true
    },
    "test": {
      "dependsOn": ["codegen", "contracts#compile:forge"]
    },
    "genesis": {
      "dependsOn": ["dependencies", "contracts#compile:forge"],
      "outputs": ["genesis-output.json"]
    },
    "abi-output": {
      "dependsOn": ["dependencies", "contracts#compile:forge"],
      "outputs": ["portal/*.json"]
    },
    "contracts#deploy:local": {
      "dependsOn": ["genesis", "abi-output", "contracts#compile:hardhat"],
      "outputs": ["ignition/deployments/**"]
    },
    "subgraph#deploy:local": {
      "dependsOn": ["contracts#deploy:local"]
    },
    "deploy:local": {
      "dependsOn": ["contracts#deploy:local", "subgraph#deploy:local"],
      "outputs": ["ignition/deployments/**"]
    },
    "deploy:remote": {
      "dependsOn": ["contracts#compile:hardhat", "^deploy:remote"],
      "cache": false
    },
    "test:e2e": {
      "dependsOn": ["codegen"],
      "cache": false,
      "persistent": true
    },
    "test:e2e:ui": {
      "dependsOn": ["codegen"],
      "cache": false,
      "persistent": true
    }
  }
}
