Skip to content

thesis/acre

Repository files navigation

Acre

Bitcoin Liquid Staking

Development

pnpm

This project uses pnpm as a package manager.

Install

To install pnpm with Homebrew run brew install pnpm, for other installation options please see the documentation.

Package Dependencies

To install the packages dependencies run:

pnpm install

Pre-commit Hooks

Developers are encouraged to use pre-commit hooks to automatically discover code issues, before they submit the code.

To setup the hooks follow the steps:

  1. Install pre-commit tool:

    brew install pre-commit
  2. Install the hooks for the repository:

    pre-commit install

Testing

To test the pre-commit hooks configuration you can invoke them with one of the commands:

# Execute hooks for all files:
pre-commit run --all-files

# Execute hooks for specific files (e.g. stBTC.sol):
pre-commit run --files ./solidity/contracts/stBTC.sol

Syncpack

Syncpack is a tool that helps manage multiple package.json files in a monorepo.

Usage

To list dependencies from all packages run:

pnpm syncpack list

To update a dependency (e.g. eslint) in all packages run:

pnpm syncpack update --filter eslint

Slither

Slither is a static analysis framework used for Solidity contracts verification.

Install

To install Slither execute:

pip3 install slither-analyzer

Usage

To run Slither execute:

slither .