{
  "name": "@eth-optimism/contracts-bedrock",
  "version": "0.14.0",
  "description": "Contracts for Optimism Specs",
  "main": "dist/index",
  "types": "dist/index",
  "license": "MIT",
  "files": [
    "dist/**/*.js",
    "dist/**/*.d.ts",
    "dist/types/**/*.ts",
    "artifacts/contracts/**/*.json",
    "deployments/**/*.json",
    "contracts/**/*.sol"
  ],
  "scripts": {
    "bindings": "cd ../../op-bindings && make",
    "build:forge": "forge build",
    "build:with-metadata": "FOUNDRY_PROFILE=echidna yarn build:forge",
    "build:differential": "go build -o ./scripts/differential-testing/differential-testing ./scripts/differential-testing",
    "build:fuzz": "(cd test-case-generator && go build ./cmd/fuzz.go)",
    "prebuild": "yarn ts-node scripts/verify-foundry-install.ts",
    "build": "hardhat compile && yarn autogen:artifacts && yarn build:ts && yarn typechain",
    "build:ts": "tsc -p tsconfig.build.json",
    "autogen:artifacts": "ts-node scripts/generate-artifacts.ts",
    "autogen:invariant-docs": "ts-node scripts/invariant-doc-gen.ts",
    "deploy": "hardhat deploy",
    "test": "yarn build:differential && yarn build:fuzz && forge test",
    "coverage": "yarn build:differential && yarn build:fuzz && forge coverage",
    "coverage:lcov": "yarn build:differential && yarn build:fuzz && forge coverage --report lcov",
    "gas-snapshot": "yarn build:differential && yarn build:fuzz && forge snapshot --no-match-test 'testDiff|testFuzz|invariant|generateArtifact'",
    "storage-snapshot": "./scripts/storage-snapshot.sh",
    "validate-deploy-configs": "hardhat compile && hardhat generate-deploy-config && ./scripts/validate-deploy-configs.sh",
    "validate-spacers": "hardhat compile && hardhat validate-spacers",
    "slither": "./scripts/slither.sh",
    "slither:triage": "TRIAGE_MODE=1 ./scripts/slither.sh",
    "clean": "rm -rf ./dist ./artifacts ./forge-artifacts ./cache ./tsconfig.tsbuildinfo ./tsconfig.build.tsbuildinfo ./src/contract-artifacts.ts ./test-case-generator/fuzz",
    "lint:ts:check": "eslint . --max-warnings=0",
    "lint:forge-tests:check": "ts-node scripts/forge-test-names.ts",
    "lint:contracts:check": "yarn solhint -f table 'contracts/**/*.sol' && yarn prettier --check 'contracts/**/*.sol' && yarn lint:forge-tests:check",
    "lint:check": "yarn lint:contracts:check && yarn lint:ts:check",
    "lint:ts:fix": "eslint --fix .",
    "lint:contracts:fix": "yarn solhint --fix 'contracts/**/*.sol' && yarn prettier --write 'contracts/**/*.sol'",
    "lint:fix": "yarn lint:contracts:fix && yarn lint:ts:fix",
    "lint": "yarn lint:fix && yarn lint:check",
    "typechain": "typechain --target ethers-v5 --out-dir dist/types --glob 'artifacts/!(build-info)/**/+([a-zA-Z0-9_]).json'",
    "echidna:aliasing": "echidna-test --contract EchidnaFuzzAddressAliasing --config ./echidna.yaml .",
    "echidna:burn:gas": "echidna-test --contract EchidnaFuzzBurnGas --config ./echidna.yaml .",
    "echidna:burn:eth": "echidna-test --contract EchidnaFuzzBurnEth --config ./echidna.yaml .",
    "echidna:encoding": "echidna-test --contract EchidnaFuzzEncoding --config ./echidna.yaml .",
    "echidna:portal": "echidna-test --contract EchidnaFuzzOptimismPortal --config ./echidna.yaml .",
    "echidna:hashing": "echidna-test --contract EchidnaFuzzHashing --config ./echidna.yaml .",
    "echidna:metering": "echidna-test --contract EchidnaFuzzResourceMetering --config ./echidna.yaml ."
  },
  "dependencies": {
    "@eth-optimism/core-utils": "^0.12.0",
    "@openzeppelin/contracts": "4.7.3",
    "@openzeppelin/contracts-upgradeable": "4.7.3",
    "ethers": "^5.7.0"
  },
  "devDependencies": {
    "@eth-optimism/hardhat-deploy-config": "^0.2.6",
    "@ethersproject/abstract-provider": "^5.7.0",
    "@ethersproject/abstract-signer": "^5.7.0",
    "ethereumjs-wallet": "^1.0.2",
    "@defi-wonderland/smock": "^2.0.2",
    "@foundry-rs/hardhat-forge": "^0.1.17",
    "@foundry-rs/easy-foundryup": "^0.1.3",
    "@nomiclabs/hardhat-ethers": "^2.0.0",
    "@nomiclabs/hardhat-waffle": "^2.0.0",
    "@rari-capital/solmate": "https://github.com/rari-capital/solmate.git#8f9b23f8838670afda0fd8983f2c41e8037ae6bc",
    "clones-with-immutable-args": "https://github.com/Saw-mon-and-Natalie/clones-with-immutable-args.git#105efee1b9127ed7f6fedf139e1fc796ce8791f2",
    "@typechain/ethers-v5": "^10.1.0",
    "@typescript-eslint/eslint-plugin": "^5.45.1",
    "@typescript-eslint/parser": "^5.45.1",
    "bip39": "^3.0.4",
    "chai": "^4.2.0",
    "command-exists": "1.2.9",
    "dotenv": "^16.0.0",
    "ds-test": "https://github.com/dapphub/ds-test.git#9310e879db8ba3ea6d5c6489a579118fd264a3f5",
    "ethereum-waffle": "^3.0.0",
    "forge-std": "https://github.com/foundry-rs/forge-std.git#46264e9788017fc74f9f58b7efa0bc6e1df6d410",
    "glob": "^7.1.6",
    "hardhat": "^2.9.6",
    "hardhat-deploy": "^0.11.4",
    "solhint": "^3.3.7",
    "solhint-plugin-prettier": "^0.0.5",
    "ts-node": "^10.9.1",
    "typechain": "^8.1.0",
    "typescript": "^4.9.3"
  }
}
