swapr-staking-rewards-distribution-contracts

0.8.0 • Public • Published

Swapr staking rewards distribution contracts

A contract suite to bootstrap staking-based reward campaigns on Swapr (to bootstrap liquidity mining campaigns).

Getting started

To use swapr-staking-rewards-distribution-contracts in your project (for example to extend the functionality of either the distribution contract or the factory or to simply easily access the contracts' ABI), simply run:

yarn add -D `swapr-staking-rewards-distribution-contracts`

Built artifacts (containing ABI and bytecode) can be imported in the following way:

const factoryArtifact = require("swapr-staking-rewards-distribution-contracts/build/SwaprERC20StakingRewardsDistributionFactory.json");

Solidity source code can be imported in the following way:

import "swapr-staking-rewards-distribution-contracts/SwaprERC20StakingRewardsDistributionFactory.sol";

Development

Start by cloning the repo and installing dependencies by running:

yarn

To trigger a compilation run:

yarn compile

Tests will be ran using the Hardhat framework and Hardhat network. They are divided in suites depending on contract files and execution scenarios. To trigger a test run, just launch:

yarn test

These tests won't show any coverage data. In order to show coverage statistics collected through solidity-coverage another command must be launched:

yarn test:coverage

There is a third variant in the testing process that collects information about average gas consumption and estimates the cost of calling contracts' functions based on current gas prices read from ETHGasStation. hardhat-gas-reporter is used to achieve this, and in order to show the aforementioned data, just run:

yarn test:gasreport

Warning: collecting coverage or gas consumption data while performing tests might slow down the entire process.

Linting and "prettification" on Solidity code is performed using prettier-plugin-solidity and solhint-plugin-prettier. Test code is simply checked using eslint and prettier.

Readme

Keywords

none

Package Sidebar

Install

npm i swapr-staking-rewards-distribution-contracts

Weekly Downloads

0

Version

0.8.0

License

GPL-3.0

Unpacked Size

76.7 kB

Total Files

8

Last publish

Collaborators

  • fluzzi