https://github.com/chaintope/contract-coverager
Coverage tool for SmartContract
https://github.com/chaintope/contract-coverager
abi coverage ethereum smart-contract solidity vyper
Last synced: about 1 year ago
JSON representation
Coverage tool for SmartContract
- Host: GitHub
- URL: https://github.com/chaintope/contract-coverager
- Owner: chaintope
- License: gpl-3.0
- Archived: true
- Created: 2019-05-05T03:04:48.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T05:14:09.000Z (over 3 years ago)
- Last Synced: 2025-04-23T07:53:17.367Z (about 1 year ago)
- Topics: abi, coverage, ethereum, smart-contract, solidity, vyper
- Language: JavaScript
- Size: 964 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Name
====
Overview
## Description
Coverage Tool for SmartContract.
Analayzing based on bytecodes and abi specification for functions.
## Requirement
Truffle v5.0.14 or higher.
```
## Install
`npm install contract-coverage`
## Usage
Add following code in your truffle test cases:
```js
const CoverageSubprovider = require('contract-coverager')
const engine = CoverageSubprovider.injectInTruffle(artifacts, web3)
```
and define before, after hook code:
```js
before(() => engine.start())
after(() => engine.stop())
```
example code overall:
```js
const CoverageSubprovider = require('contract-coverager')
const engine = CoverageSubprovider.injectInTruffle(artifacts, web3)
const VyperStorage = artifacts.require("VyperStorage")
contract("VyperStorage", (accounts) => {
before(() => engine.start())
after(() => engine.stop())
it("...should store the value 89.", async () => {
const storage = await VyperStorage.new()
// Set value of 89
const receipt = await storage.set(89)
// Get stored value
const storedData = await storage.get()
assert.equal(storedData, 89, "The value 89 was not stored.")
})
})
```
## CAUTION
if request method is eth_call, then this Lib re-request eth_sendTransaction with same params, for getting traceLogs.
so that, in using this coverage tool, more gas is consumes. may `out of gas` error a lot of happen.
## Demo

## Not yet support list
- Solidity's Contract (maybe available, but not tested)
## Licence
[GPLv3](https://github.com/nakajo2011/contract-coverage/blob/master/LICENCE)
## Author
[nakajo2011](https://github.com/nakajo2011)