/ribbon-v2-cellar

Primary LanguageSolidityApache License 2.0Apache-2.0

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

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

forge test --match-path ./test/RibbonV2Cellar.t.sol