/swap-library

Tool for swapping and arbitraging between PMMP and other CFMM liquidity pools.

Primary LanguageSolidityMIT LicenseMIT

Swap Library Github Actions Foundry License: MIT

Helper functions for swapping with Numoen PMMP.

Examples

  • SwapRouter.sol: Facilitates swapping on Numoen PMMP
  • Arbitrage.sol: Allows for arbitrage between a Uniswap V2 or V3 style exchange and Numoen PMMP

Development

Build

Build the contracts:

$ forge build

Clean

Delete the build artifacts and cache directories:

$ forge clean

Compile

Compile the contracts:

$ forge build

Format

Format the contracts:

$ forge fmt

Gas Usage

Get a gas report:

$ forge test --gas-report

Lint

Lint the contracts:

$ pnpm lint

Test

Run the tests:

$ forge test

Notes

  1. Foundry uses git submodules to manage dependencies. For detailed instructions on working with dependencies, please refer to the guide in the book
  2. You don't have to create a .env file, but filling in the environment variables may be useful when debugging and testing against a fork.

License

MIT © Numoen