Permissionless deployment of Curve Stableswap plain and metapools. Supports up to 8 coins for plain pools and 2 coins for metapools. Supports: rate-oraclised tokens (e.g. wstETH), ERC4626 (sDAI), rebasing (stETH), and plain (WETH:stETH) pools. Does not support native tokens.
For integrators: check exchange_received. That should improve your pathing significantly. Be aware that if a pool contains rebasing tokens, this method is intentionally disabled.
For a full list of deployments, please check: The deployment script
The metapool factory has several core components:
Factoryis the main contract used to deploy new metapools. It also acts a registry for finding the deployed pools and querying information about them.- New pools are deployed via blueprints. The implementation contract targeted by the proxy is determined according to the base pool.
- There is extra StableSwap implementation with admin functionality on
admin-implementationbranch initially used by crosscurve on Sonic.
See the documentation for more detailed information.
Install dependencies using poetry (python ^3.10.4)
pip install poetry==1.8.3
poetry installTesting gauge
pytest tests/gauge/Testing factory
pytest tests/factory/Testing swap is ERC20
pytest tests/token/Testing swaps
pytest tests/pools/