{"id":13421654,"url":"https://github.com/sc-forks/solidity-coverage","last_synced_at":"2026-03-10T02:02:32.619Z","repository":{"id":37458167,"uuid":"89956848","full_name":"sc-forks/solidity-coverage","owner":"sc-forks","description":"Code coverage for Solidity smart-contracts ","archived":false,"fork":false,"pushed_at":"2025-12-11T19:32:00.000Z","size":9894,"stargazers_count":1004,"open_issues_count":41,"forks_count":282,"subscribers_count":12,"default_branch":"master","last_synced_at":"2026-03-02T11:56:37.930Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sc-forks.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-05-01T19:44:48.000Z","updated_at":"2026-02-20T13:17:57.000Z","dependencies_parsed_at":"2023-02-09T04:00:48.337Z","dependency_job_id":"af90940e-006d-4af0-9610-5c21c003d621","html_url":"https://github.com/sc-forks/solidity-coverage","commit_stats":{"total_commits":838,"total_committers":51,"mean_commits":"16.431372549019606","dds":"0.22553699284009543","last_synced_commit":"97dadf86853e93fa7b98c3a18bc10974940b7f2c"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/sc-forks/solidity-coverage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sc-forks%2Fsolidity-coverage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sc-forks%2Fsolidity-coverage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sc-forks%2Fsolidity-coverage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sc-forks%2Fsolidity-coverage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sc-forks","download_url":"https://codeload.github.com/sc-forks/solidity-coverage/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sc-forks%2Fsolidity-coverage/sbom","scorecard":{"id":803021,"data":{"date":"2025-08-11","repo":{"name":"github.com/sc-forks/solidity-coverage","commit":"ed6081353ad26e9299db39283419b99b229f77c5"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.1,"checks":[{"name":"Maintained","score":1,"reason":"0 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":1,"reason":"Found 5/30 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: npmCommand not pinned by hash: scripts/nomiclabs.sh:47","Warn: npmCommand not pinned by hash: scripts/nomiclabs.sh:50","Warn: npmCommand not pinned by hash: scripts/nomiclabs.sh:72","Warn: npmCommand not pinned by hash: scripts/zeppelin.sh:31","Warn: npmCommand not pinned by hash: scripts/zeppelin.sh:34","Warn: npmCommand not pinned by hash: scripts/zeppelin.sh:40","Info:   0 out of   6 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 17 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"60 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-fwr7-v2mv-hh25","Warn: Project is vulnerable to: GHSA-xq7p-g2vc-g82p","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-x9w5-v3q2-3rhw","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-h452-7996-h45h","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-434g-2637-qmqr","Warn: Project is vulnerable to: GHSA-49q7-c7j4-3p7m","Warn: Project is vulnerable to: GHSA-977x-g7h5-7qgw","Warn: Project is vulnerable to: GHSA-f7q4-pwc6-w24p","Warn: Project is vulnerable to: GHSA-fc9h-whq2-v747","Warn: Project is vulnerable to: GHSA-vjh7-7g9h-fjfh","Warn: Project is vulnerable to: GHSA-4gmj-3p3h-gm8h","Warn: Project is vulnerable to: GHSA-rv95-896h-c2vc","Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx","Warn: Project is vulnerable to: GHSA-2j2x-2gpw-g8fm","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-4q6p-r6v2-jvc5","Warn: Project is vulnerable to: GHSA-pfrx-2q88-qq97","Warn: Project is vulnerable to: GHSA-7wwv-vh3v-89cq","Warn: Project is vulnerable to: GHSA-rc47-6667-2j5j","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-r683-j2x4-v87g","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-h7cp-r72f-jxh6","Warn: Project is vulnerable to: GHSA-v62p-rq8g-8h59","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-584q-6j8j-r5pm","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-76p7-773f-r4q5","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-cf4h-3jhx-xvhq","Warn: Project is vulnerable to: GHSA-wqq4-5wpv-mx2g","Warn: Project is vulnerable to: GHSA-3787-6prv-h9w3","Warn: Project is vulnerable to: GHSA-9qxr-qj54-h672","Warn: Project is vulnerable to: GHSA-m4v8-wqvr-p9f7","Warn: Project is vulnerable to: GHSA-c76h-2ccp-4975","Warn: Project is vulnerable to: GHSA-cxrh-j4jr-qwg3","Warn: Project is vulnerable to: GHSA-27v7-qhfv-rqq8","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-p9pc-299p-vxgp"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-23T11:00:07.298Z","repository_id":37458167,"created_at":"2025-08-23T11:00:07.298Z","updated_at":"2025-08-23T11:00:07.298Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30322635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T01:36:58.598Z","status":"online","status_checked_at":"2026-03-10T02:00:06.579Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T23:00:27.721Z","updated_at":"2026-03-10T02:02:32.611Z","avatar_url":"https://github.com/sc-forks.png","language":"JavaScript","funding_links":[],"categories":["Software Development","PROJECT 项目","Tools","JavaScript","Security Testing","Smart Contracts","dApps directory","Roadmap","[Ethereum](https://ethereum.org/en/)","开源项目","二、开发准备：环境与效率工具","Developer Tools","八、开发工具（提效必备）"],"sub_categories":["Testing","SDK 工具包","Solidity","Solidity Developer Tools","Whitepapers","JavaScript web3 项目","2. 代码质量工具"],"readme":"# solidity-coverage\n\n[![Gitter chat](https://badges.gitter.im/sc-forks/solidity-coverage.svg)][18]\n![npm (tag)](https://img.shields.io/npm/v/solidity-coverage/latest)\n[![CircleCI](https://circleci.com/gh/sc-forks/solidity-coverage.svg?style=svg)][20]\n[![codecov](https://codecov.io/gh/sc-forks/solidity-coverage/branch/master/graph/badge.svg)][21]\n[![Hardhat](https://hardhat.org/buidler-plugin-badge.svg?1)][26]\n\n\n## Code coverage for Solidity testing\n![coverage example][22]\n\n+ For more details about what this is, how it works and potential limitations,\n  see [the accompanying article][16].\n+ `solidity-coverage` is [Solcover][17]\n\n## Requirements\n\n+ Hardhat \u003e= 2.11.0\n\n## Install\n```\n$ yarn add solidity-coverage --dev\n```\n\n**Require** the plugin in `hardhat.config.js` ([Hardhat docs][26])\n```javascript\nrequire('solidity-coverage')\n```\n\nOr, if you are using TypeScript, add this to your hardhat.config.ts:\n```ts\nimport 'solidity-coverage'\n```\n\n**Resources**:\n+ [0.8.0 release notes][31]\n\n## Run\n```\nnpx hardhat coverage [command-options]\n```\n\n### Trouble shooting\n\n**Missing or unexpected coverage?** Make sure you're using the latest plugin version and run:\n```sh\n$ npx hardhat clean\n$ npx hardhat compile\n$ npx hardhat coverage\n```\n\n**Typescript compilation errors?**\n```sh\n$ npx hardhat compile\n$ TS_NODE_TRANSPILE_ONLY=true npx hardhat coverage\n```\n\n**Weird test failures or plugin conflicts?**\n\n```sh\n# Setting the `SOLIDITY_COVERAGE` env variable tells the coverage plugin to configure the provider\n# early in the hardhat task cycle, minimizing conflicts with other plugins or `extendEnvironment` hooks\n\n$ SOLIDITY_COVERAGE=true npx hardhat coverage\n```\n\n**Additional Help**\n+ [FAQ][1007]\n+ [Advanced Topics][1005]\n\n\n## Command Options\n| Option \u003cimg width=200/\u003e | Example \u003cimg width=750/\u003e| Description \u003cimg width=1000/\u003e |\n|--------------|------------------------------------|--------------------------------|\n| testfiles  | `--testfiles \"test/registry/*.ts\"` | Test file(s) to run. (Globs must be enclosed by quotes and use [globby matching patterns][38])|\n| sources | `--sources myFolder` or `--sources myFile.sol` | Path to *single* folder or file to target for coverage. Path is relative to Hardhat's `paths.sources` (usually `contracts/`) |\n| solcoverjs | `--solcoverjs ./../.solcover.js` | Relative path from working directory to config. Useful for monorepo packages that share settings. (Path must be \"./\" prefixed) |\n| matrix   | `--matrix` | Generate a JSON object that maps which mocha tests hit which lines of code. (Useful as an input for some fuzzing, mutation testing and fault-localization algorithms.) [More...][39]|\n\n[\u003csup\u003e*\u003c/sup\u003e Advanced use][14]\n\n## Config Options\n\nAdditional options can be specified in a `.solcover.js` config file located in the root directory\nof your project.\n\n**Example:**\n```javascript\nmodule.exports = {\n  skipFiles: ['Routers/EtherRouter.sol']\n};\n```\n\n| Option \u003cimg width=200/\u003e| Type \u003cimg width=200/\u003e | Default \u003cimg width=1000/\u003e | Description \u003cimg width=1000/\u003e |\n| ------ | ---- | ------- | ----------- |\n| skipFiles | *Array* | `[]` | Array of contracts or folders (with paths expressed relative to the `contracts` directory) that should be skipped when doing instrumentation.(ex: `[ \"Routers\", \"Networks/Polygon.sol\"]`) :warning: **RUN THE HARDHAT CLEAN COMMAND AFTER UPDATING THIS**  |\n| irMinimum | *Boolean* | `false` | Speeds up test execution times when solc is run in `viaIR` mode. If your project successfully compiles while generating coverage with this option turned on (it may not!) it's worth using |\n| modifierWhitelist | *String[]* | `[]` | List of modifier names (ex: `onlyOwner`) to exclude from branch measurement. (Useful for modifiers which prepare something instead of acting as a gate.)) |\n| mocha | *Object* | `{ }` | [Mocha options][3] to merge into existing mocha config. `grep` and `invert` are useful for skipping certain tests under coverage using tags in the test descriptions. [More...][24]|\n| measureStatementCoverage | *boolean* | `true` | Computes statement (in addition to line) coverage. [More...][34] |\n| measureFunctionCoverage | *boolean* | `true` | Computes function coverage. [More...][34] |\n| measureModifierCoverage | *boolean* | `true` | Computes each modifier invocation as a code branch. [More...][34] |\n| **:printer:    OUTPUT** |  | |  |\n| matrixOutputPath | *String* | `./testMatrix.json` | Relative path to write test matrix JSON object to. [More...][39]|\n| mochaJsonOutputPath | *String* | `./mochaOutput.json` | Relative path to write mocha JSON reporter object to. [More...][39]|\n| abiOutputPath | *String* | `./humanReadableAbis.json` | Relative path to write diff-able ABI data to |\n| istanbulFolder | *String* | `./coverage` |  Folder location for Istanbul coverage reports. |\n| istanbulReporter | *Array* | `['html', 'lcov', 'text', 'json']` | [Istanbul coverage reporters][2]  |\n| silent | *Boolean* | false | Suppress logging output |\n| **:recycle:    WORKFLOW HOOKS** |  | |  |\n| onServerReady[\u003csup\u003e*\u003c/sup\u003e][14] | *Function* |   | Hook run *after* server is launched, *before* the tests execute. Useful if you need to use the Oraclize bridge or have setup scripts which rely on the server's availability. [More...][23] |\n| onPreCompile[\u003csup\u003e*\u003c/sup\u003e][14] | *Function* |   | Hook run *after* instrumentation is performed, *before* the compiler is run. Can be used with the other hooks to be able to generate coverage reports on non-standard / customized directory structures, as well as contracts with absolute import paths. [More...][23] |\n| onCompileComplete[\u003csup\u003e*\u003c/sup\u003e][14] | *Function* |  | Hook run *after* compilation completes, *before* tests are run. Useful if you have secondary compilation steps or need to modify built artifacts. [More...][23]|\n| onTestsComplete[\u003csup\u003e*\u003c/sup\u003e][14] | *Function* |  | Hook run *after* the tests complete, *before* Istanbul reports are generated. [More...][23]|\n| onIstanbulComplete[\u003csup\u003e*\u003c/sup\u003e][14] | *Function* |  | Hook run *after* the Istanbul reports are generated, *before* the coverage task completes. Useful if you need to clean resources up. [More...][23]|\n| **:warning:    LOW LEVEL** |  | |  |\n| configureYulOptimizer | *Boolean* | false | Setting to `true` lets you specify optimizer details (see next option). If no details are defined it defaults to turning on the yul optimizer and enabling stack allocation |\n| solcOptimizerDetails | *Object* | `undefined` |Must be used in combination with `configureYulOptimizer`. Allows you to configure solc's [optimizer details][1001]. (See [FAQ: Running out of stack][1002] ). |\n\n\n[\u003csup\u003e*\u003c/sup\u003e Advanced use][14]\n\n## Viewing the reports:\n+ You can find the Istanbul reports written to the `./coverage/` folder generated in your root directory.\n\n## API\n\nSolidity-coverage's core methods and many utilities are available as an API.\n\n```javascript\nconst CoverageAPI = require('solidity-coverage/api');\n```\n\n[Documentation available here][28].\n\n## Detecting solidity-coverage from another task\n\nIf you're writing another plugin or task, it can be helpful to detect whether coverage is running or not.\nThe coverage plugin sets a boolean variable on the globally injected hardhat environment object for this purpose.\n\n```\nhre.__SOLIDITY_COVERAGE_RUNNING === true\n```\n\n## Example reports\n+ [openzeppelin-contracts][10] (Codecov)\n\n## Funding\n\nYou can help fund solidity-coverage development through [DRIPS][1008]. It's a public goods protocol which helps distribute money to packages in your dependency tree. (It's great, check it out.)\n\n## Contribution Guidelines\n\nContributions are welcome! If you're opening a PR that adds features or options *please consider\nwriting full [unit tests][11] for them*. (We've built simple fixtures for almost everything\nand are happy to add some for your case if necessary).\n\n\nSet up the development environment with:\n```\n$ git clone https://github.com/sc-forks/solidity-coverage.git\n$ yarn\n```\n\n[2]: https://istanbul.js.org/docs/advanced/alternative-reporters/\n[3]: https://mochajs.org/api/mocha\n[4]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/faq.md#running-out-of-gas\n[5]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/faq.md#running-out-of-memory\n[6]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/faq.md#running-out-of-time\n[7]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/faq.md#continuous-integration\n[8]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/faq.md#notes-on-branch-coverage\n[9]: https://sc-forks.github.io/metacoin/\n[10]: https://app.codecov.io/gh/OpenZeppelin/openzeppelin-contracts\n[11]: https://github.com/sc-forks/solidity-coverage/tree/master/test/units\n[12]: https://github.com/sc-forks/solidity-coverage/issues\n[13]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/faq.md#notes-on-gas-distortion\n[14]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/advanced.md\n[15]: #config-options\n[16]: https://blog.colony.io/code-coverage-for-solidity-eecfa88668c2\n[17]: https://github.com/JoinColony/solcover\n[18]: https://gitter.im/sc-forks/solidity-coverage?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge\n[19]: https://badge.fury.io/js/solidity-coverage\n[20]: https://circleci.com/gh/sc-forks/solidity-coverage\n[21]: https://codecov.io/gh/sc-forks/solidity-coverage\n[22]: https://cdn-images-1.medium.com/max/800/1*uum8t-31bUaa6dTRVVhj6w.png\n[23]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/advanced.md#workflow-hooks\n[24]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/advanced.md#skipping-tests\n[25]: https://github.com/sc-forks/solidity-coverage/issues/417\n[26]: https://hardhat.org/\n[27]: https://www.trufflesuite.com/docs\n[28]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/api.md\n[29]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/upgrade.md#upgrading-from-06x-to-070\n[30]: https://github.com/sc-forks/solidity-coverage/tree/0.6.x-final#solidity-coverage\n[31]: https://github.com/sc-forks/solidity-coverage/releases/tag/v0.7.0\n[33]: https://github.com/sc-forks/moloch\n[34]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/advanced.md#reducing-the-instrumentation-footprint\n[35]: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/e5fbbda9bac49039847a7ed20c1d966766ecc64a/scripts/coverage.js\n[36]: https://hardhat.org/\n[37]: https://github.com/sc-forks/solidity-coverage/blob/master/HARDHAT_README.md\n[38]: https://github.com/sindresorhus/globby#globbing-patterns\n[39]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/advanced.md#generating-a-test-matrix\n[1001]: https://docs.soliditylang.org/en/v0.8.0/using-the-compiler.html#input-description\n[1002]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/faq.md#running-out-of-stack\n[1003]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/advanced.md#parallelization-in-ci\n[1004]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/advanced.md#coverage-threshold-checks\n[1005]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/advanced.md\n[1007]: https://github.com/sc-forks/solidity-coverage/blob/master/docs/faq.md\n[1008]: https://www.drips.network/app/projects/github/sc-forks/solidity-coverage\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsc-forks%2Fsolidity-coverage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsc-forks%2Fsolidity-coverage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsc-forks%2Fsolidity-coverage/lists"}