{ "name": "cap-contracts", "version": "1.0.0", "description": "Cap Labs Core Contracts", "main": "index.js", "author": "Cap Labs Inc.", "license": "MIT", "private": true, "type": "module", "engines": { "node": "^20.18.0" }, "scripts": { "postinstall": "lefthook install && forge remappings > remappings.txt", "compile": "forge build", "build": "forge build --skip Test", "check-proxy-implem": "forge script script/manage/CheckProxyImplem.s.sol:CheckProxyImplem --via-ir --rpc-url ethereum", "check-proxy-implem:save": "yarn --silent check-proxy-implem > check-proxy-implem.txt", "check-access": "forge script script/manage/CheckAccess.s.sol:CheckAccess --via-ir --rpc-url ethereum", "check-access:save": "yarn --silent check-access > check-access.txt", "check-oft-config": "forge script script/layerzero/CheckOFTConfig.s.sol:CheckOFTConfig", "check-oft-config:save": "forge script script/layerzero/CheckOFTConfig.s.sol 2>&1 | tee oft-config-report.txt", "test": "forge test --no-match-path 'test/noTest/*'", "test:unit": "forge test --no-match-path 'test/noTest/* --no-match-path 'test/**/*.invariants.t.sol'", "test:invariants": "forge test --match-path 'test/**/*.invariants.t.sol'", "test:invariants:deep": "FOUNDRY_PROFILE=deep forge test --match-path 'test/**/*.invariants.t.sol'", "test:gas": "forge test --match-path 'test/**/*.gas.t.sol'", "test:slither": "FOUNDRY_PROFILE=slither slither . --config slither.config.json", "test:gambit:gen": "./test/mutation/gambit.sh generate", "test:gambit:run": "./test/mutation/gambit.sh test 8", "test:sumo": "sumo test", "test:build": "forge build ./contracts ./test ./script --via-ir", "gas:flamegraph": "forge test --flamegraph --match-path 'test/**/*.gas.t.sol'", "coverage:forge": "forge coverage --report summary --ir-minimum", "coverage:forge:report": "forge coverage --report lcov --ir-minimum && lcov --remove lcov.info \"*test/*\" \"lendingPool/libraries/math\" \"*/contracts/deploy/*\" \"*script/*\" \"*node_modules/*\" --output-file lcov.info --rc lcov_branch_coverage=1 --ignore-errors inconsistent --ignore-errors unused && genhtml lcov.info --branch-coverage --output-dir coverage --ignore-errors inconsistent --ignore-errors unused", "merkle:proof": "cd script/merkle && node MerkleProof.js", "claude": "DC_ARGS='--workspace-folder . --config .devcontainer/claude/devcontainer.json' && devcontainer up $DC_ARGS && devcontainer exec $DC_ARGS claude", "devc:claude:update": "docker rm -f devcontainer-cap-contracts-claude; DC_ARGS='--workspace-folder . --config .devcontainer/claude/devcontainer.json' && devcontainer up $DC_ARGS --build-no-cache", "devc:claude:stop": "docker rm -f devcontainer-cap-contracts-claude", "devc:claude:rm": "docker rm -f devcontainer-cap-contracts-claude" }, "devDependencies": { "@devcontainers/cli": "^0.75.0", "@openzeppelin/contracts": "npm:@openzeppelin/contracts", "@openzeppelin/contracts-upgradeable": "npm:@openzeppelin/contracts-upgradeable", "@symbioticfi/burners": "^1.0.0-devnet.2", "@symbioticfi/core": "^1.0.0-devnet.10", "@symbioticfi/hooks": "^1.0.0-devnet.1", "@symbioticfi/rewards": "^1.0.0-devnet.6", "eigenlayer-contracts": "^1.0.4", "lefthook": "^1.10.10", "@predicate/contracts": "^2.2.0" }, "resolutions": { "@openzeppelin/contracts": "^5.2.0" }, "dependencies": { "@layerzerolabs/oapp-alt-evm": "^0.0.5", "@layerzerolabs/oft-alt-evm": "^0.0.5", "@layerzerolabs/oft-evm-upgradeable": "^4.0.2", "@morenabarboni/sumo": "^2.5.4", "@openzeppelin/foundry-upgrades": "^0.3.7", "@uniswap/v3-core": "^1.0.0", "eigenlayer": "^2.1.5" } }