Skip to content

Latest commit

 

History

History
58 lines (38 loc) · 1.87 KB

README.md

File metadata and controls

58 lines (38 loc) · 1.87 KB

Sommelier Cellar Contracts • tests lints license

Cellar contracts for the Sommelier Network.

Development

Getting Started

Before attempting to setup the repo, first make sure you have Foundry installed and updated, which can be done here.

npm run setup

Building

Install libraries with Foundry which work with Hardhat:

forge install rari-capital/solmate # Already in this repo, just an example.

Whenever you install new libraries using Foundry, make sure to update your remappings.txt file. This repo uses hardhat-preprocessor and the remappings.txt file to allow Hardhat to resolve libraries you install with Foundry.

Testing

Before running test, make sure to go to foundry.toml and set eth_rpc_url to your Alchemy HTTPS URL and etherscan_api_key to your Etherscan API key. This is required for tests that run against a fork of mainnet.

Run tests with either Hardhat or Foundry:

forge test
# or
npx hardhat test

Run tests on forked chains with Foundry:

forge test --fork-url ALCHEMY_API_KEY

Run tests for both Hardhat and Foundry:

npm run test

Tasks

Use Hardhat's task framework:

npx hardhat compile
# Before running the next command, go to `hardhat.config.ts` and uncomment "./tasks" imports.
# This is initially commented to fix initial compile errors with Hardhat.
npx hardhat example