timosanmaz / stableswap-ng

Automatic Market Maker (AMM) for 2 or more pegged assets, written in Vyper.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Stableswap NG

Permissionless deployment of Curve metapools.

Wen?

STOP THE WEN!

Overview

The metapool factory has several core components:

  • Factory is 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 targetted by the proxy is determined according to the base pool.

See the documentation for more detailed information.

Testing

Installation

Install dependencies using poetry (python ^3.10.4)

pip install poetry==1.5.1
poetry install

Paramaters

  • --pool-size - size of pool (N_COINS), available parameters: [2]
  • --pool-type - type of pool, available parameters: [basic,meta]
  • --token-types - token types to test against(divided by comma), available parameters: [plain,eth,oracle,rebasing]
  • --decimals - token decimals (divided by comma), default 18,18
  • --return-types - types of .transfer() returns to test against (divided by comma), default revert,False,None

Type of tests

Testing gauge

pytest tests/gauge/

Testing factory

pytest tests/test_factory.py

Testing swap is ERC20

pytest tests/test_token.py

Testing swaps

pytest tests/pools/

About

Automatic Market Maker (AMM) for 2 or more pegged assets, written in Vyper.

License:MIT License


Languages

Language:Vyper 68.5%Language:Python 31.5%