/expo

A solidity implementation of CFMM that underwrites Squeeth.

Primary LanguageSolidityMIT LicenseMIT

Expo

A solidity implementation of the quadratic function market maker following Primitive's RMM-01 pattern.

Set up

requires foundry

Build

Build the contracts:

$ forge build

Clean

Delete the build artifacts and cache directories:

$ forge clean

Compile

Compile the contracts:

$ forge build

Coverage

Get a test coverage report:

$ forge coverage

Deploy

Deploy to Anvil:

$ forge script script/Deploy.s.sol --broadcast --fork-url http://localhost:8545

Format

Format the contracts:

$ forge fmt

Gas Usage

Get a gas report:

$ forge test --gas-report
Contract
Deployment Cost Deployment Size
900917 3996
Function Name min
------------------ -------
checkQuintic 387

Lint

Lint the contracts:

$ bun run lint

Test

Run the tests:

$ forge test

Generate test coverage and output result to the terminal:

$ bun run test:coverage

Generate test coverage with lcov report (you'll have to open the ./coverage/index.html file in your browser, to do so simply copy paste the path):

$ bun run test:coverage:report

License

This project is licensed under MIT.