Bitcoin Liquid Staking
This project uses pnpm as a package manager.
To install pnpm with Homebrew run brew install pnpm
, for other installation options
please see the documentation.
To install the packages dependencies run:
pnpm install
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:
Install pre-commit
tool:
brew install pre-commit
Install the hooks for the repository:
pre-commit install
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 is a tool that helps manage multiple package.json files in a monorepo.
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 is a static analysis framework used for Solidity contracts verification.
To install Slither execute:
pip3 install slither-analyzer
To run Slither execute:
slither .