{
  "name": "@towns-protocol/contracts",
  "version": "1.0.3",
  "scripts": {
    "clean": "forge clean",
    "compile": "forge build",
    "format": "bun run prettier:write",
    "lint": "bun run solhint \"{script,src,tests}/**/*.sol\"",
    "prettier:check": "prettier --check \"**/*.{sol,json,js,md,yml,ts}\" --ignore-path \".prettierignore\"",
    "prettier:write": "prettier --write \"**/*.{sol,json,js,md,yml,ts}\" --ignore-path \".prettierignore\"",
    "snapshot": "forge snapshot --isolate",
    "test": "forge test --ffi --nmc Fork --fuzz-runs 4096",
    "test:unit": "bun run test",
    "typings": "wagmi generate"
  },
  "dependencies": {
    "@erc6900/reference-implementation": "github:erc6900/reference-implementation#v0.8.0",
    "@ethereum-attestation-service/eas-contracts": "^1.8.0",
    "@layerzerolabs/oft-evm": "^3.1.4",
    "@openzeppelin/contracts": "^5.4.0",
    "@openzeppelin/contracts-upgradeable": "^5.4.0",
    "@prb/math": "^4.1.0",
    "@towns-protocol/diamond": "^0.7.0",
    "@uniswap/permit2": "github:towns-protocol/permit2#v1.0.0",
    "account-abstraction": "github:eth-infinitism/account-abstraction#v0.7.0",
    "crypto-lib": "github:towns-protocol/crypto-lib#v1.0.1",
    "modular-account": "github:towns-protocol/modular-account#v1.0.0",
    "solady": "^0.1.26",
    "ens-contracts": "github:ensdomains/ens-contracts#v1.6.0"
  },
  "devDependencies": {
    "@layerzerolabs/lz-evm-messagelib-v2": "^3.0.112",
    "@layerzerolabs/lz-evm-protocol-v2": "^3.0.112",
    "@layerzerolabs/oapp-evm": "^0.3.2",
    "@openzeppelin/merkle-tree": "^1.0.8",
    "@prb/test": "^0.6.4",
    "@towns-protocol/prettier-config": "^0.0.455",
    "@wagmi/cli": "^2.2.0",
    "forge-std": "github:foundry-rs/forge-std#v1.12.0",
    "prettier": "^3.5.3",
    "prettier-plugin-solidity": "^1.4.2",
    "solhint": "^5.0.5",
    "solidity-bytes-utils": "^0.8.4"
  },
  "files": [
    "docs/**/*",
    "src/**/*.sol",
    "scripts/**/*.sol",
    "README.md"
  ],
  "publishConfig": {
    "access": "public"
  }
}
