Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/looksrare/contracts-token-staking

LooksRare (LOOKS) token and staking contracts
https://github.com/looksrare/contracts-token-staking

ethereum looksrare solidity

Last synced: 2 days ago
JSON representation

LooksRare (LOOKS) token and staking contracts

Awesome Lists containing this project

README

        

# @looksrare/contracts-token-staking

## Description

This project contains all smart contracts used for staking and other token-related contracts (excluding the airdrop contract!).

## Installation

```shell
# Yarn
yarn add @looksrare/contracts-token-staking

# NPM
npm install @looksrare/contracts-token-staking
```

## NPM package

The NPM package contains the following:

- Solidity smart contracts (_".sol"_)
- ABI files (_".json"_)

## Documentation

The documentation for token & staking smart contracts is available [here](https://docs.looksrare.org/developers/category/rewards-contracts).

## About this repo

### Structure

It is a hybrid [Hardhat](https://hardhat.org/) repo that also requires [Foundry](https://book.getfoundry.sh/index.html) to run Solidity tests powered by the [ds-test library](https://github.com/dapphub/ds-test/).

> To install Foundry, please follow the instructions [here](https://book.getfoundry.sh/getting-started/installation.html).

### Run tests

- TypeScript tests are included in the `test` folder at the root of this repo.
- Solidity tests are included in the `test` folder in the `contracts` folder.

### Example of Foundry/Forge commands

```shell
forge build
forge test
forge test -vv
forge tree
```

### Example of Hardhat commands

```shell
npx hardhat accounts
npx hardhat compile
npx hardhat clean
npx hardhat test
npx hardhat node
npx hardhat help
REPORT_GAS=true npx hardhat test
npx hardhat coverage
npx hardhat run scripts/deploy.ts
TS_NODE_FILES=true npx ts-node scripts/deploy.ts
npx eslint '**/*.{js,ts}'
npx eslint '**/*.{js,ts}' --fix
npx prettier '**/*.{json,sol,md}' --check
npx prettier '**/*.{json,sol,md}' --write
npx solhint 'contracts/**/*.sol'
npx solhint 'contracts/**/*.sol' --fix
```

## Release

- Create a [Personal access token](https://github.com/settings/tokens/new?scopes=repo&description=release-it) (Don't change the default scope)
- Create an `.env` (copy `.env.template`) and set you GitHub personal access token.
- `yarn release` will run all the checks, build, and release the package, and publish the GitHub release note.