{
  "name": "@perp/voting-escrow",
  "version": "1.3.0",
  "description": "Perpetual Protocol voting escrow contracts",
  "license": "MIT",
  "author": {
    "name": "Perpetual Protocol",
    "email": "hi@perp.fi",
    "url": "https://perp.com/"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/perpetual-protocol/perp-voting-escrow.git"
  },
  "homepage": "https://perp.com/",
  "keywords": [
    "perpetual-protocol",
    "perpetual-protocol-v2",
    "perp",
    "ve",
    "contracts",
    "artifacts"
  ],
  "main": "index.js",
  "files": [
    "artifacts/contracts/",
    "contracts/"
  ],
  "scripts": {
    "typechain": "npm run typechain-openzeppelin",
    "typechain-openzeppelin": "typechain --target ethers-v5 --out-dir ./typechain/openzeppelin ./node_modules/@openzeppelin/contracts/build/contracts/**/*.json",
    "clean": "rm -rf typechain && rm -rf artifacts && rm -rf cache",
    "test": "hardhat test",
    "foundry-test": "forge test",
    "parallel-test": "hardhat test --parallel",
    "build": "npx hardhat compile --no-typechain && npx hardhat typechain",
    "coverage": "forge coverage",
    "coverage:report": "forge coverage --report lcov; genhtml lcov.info --output-directory coverage-out",
    "prepare": "husky install",
    "lint": "npm run lint-contracts && npm run lint-tests",
    "lint-contracts": "solhint 'contracts/**/*.sol'",
    "lint-tests": "if grep -qr 'test' -e '.only('; then echo 'found .only() in tests'; exit 1; else echo 'not found .only() in tests'; fi",
    "lint-staged": "lint-staged",
    "snapshot": "ts-node scripts/snapshot.ts",
    "prepack": "ts-node --files scripts/prepack.ts",
    "flatten": "ts-node --files scripts/flatten.ts",
    "slither": "ts-node --files scripts/slither.ts"
  },
  "dependencies": {
    "@openzeppelin/contracts": "3.4.0",
    "@openzeppelin/contracts-upgradeable": "3.4.2",
    "@uniswap/v3-core": "https://github.com/Uniswap/uniswap-v3-core/tarball/v1.0.0"
  },
  "devDependencies": {
    "@defi-wonderland/smock": "2.0.7",
    "@ethereumjs/block": "3.3.0",
    "@ethereumjs/blockchain": "5.3.0",
    "@ethereumjs/common": "2.3.0",
    "@ethereumjs/tx": "3.2.0",
    "@ethereumjs/vm": "5.4.0",
    "@nomiclabs/ethereumjs-vm": "4.2.2",
    "@nomiclabs/hardhat-ethers": "2.0.5",
    "@nomiclabs/hardhat-vyper": "3.0.0",
    "@nomiclabs/hardhat-waffle": "2.0.1",
    "@openzeppelin/hardhat-upgrades": "1.10.0",
    "@typechain/ethers-v5": "7.0.0",
    "@typechain/hardhat": "2.0.1",
    "@types/chai": "4.2.18",
    "@types/json-stable-stringify": "1.0.33",
    "@types/lodash": "4.14.170",
    "@types/mocha": "9.0.0",
    "@types/node": "15.6.1",
    "bignumber.js": "9.0.1",
    "chai": "4.3.4",
    "dotenv": "11.0.0",
    "eslint-config-prettier": "8.3.0",
    "ethereum-block-by-date": "1.4.5",
    "ethereum-waffle": "3.4.4",
    "ethers": "5.5.2",
    "hardhat": "2.8.3",
    "hardhat-contract-sizer": "2.0.3",
    "hardhat-gas-reporter": "1.0.4",
    "husky": "6.0.0",
    "json-stable-stringify": "1.0.1",
    "lint-staged": "11.0.0",
    "lodash": "4.17.21",
    "mocha": "9.2.2",
    "prettier": "2.3.0",
    "prettier-plugin-solidity": "1.0.0-beta.11",
    "shelljs": "0.8.4",
    "solc": "0.7.6",
    "solhint": "3.3.6",
    "solhint-plugin-prettier": "0.0.5",
    "solidity-coverage": "0.7.16",
    "truffle-flatten": "1.0.8",
    "ts-generator": "0.1.1",
    "ts-node": "10.0.0",
    "typechain": "5.0.0",
    "typescript": "4.3.2"
  },
  "lint-staged": {
    "*.ts": [
      "prettier --write"
    ],
    "*.sol": [
      "prettier --write",
      "solhint"
    ]
  }
}
