Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/curvefi/curve-zaps

Useful zaps for curve pools
https://github.com/curvefi/curve-zaps

Last synced: about 1 month ago
JSON representation

Useful zaps for curve pools

Awesome Lists containing this project

README

        

# Curve Zaps

- StableCalcZap (precise calc_token_amount + get_dx)
- Ethereum: [0xCA8d0747B5573D69653C3aC22242e6341C36e4b4](https://etherscan.io/address/0xCA8d0747B5573D69653C3aC22242e6341C36e4b4#code)
- Optimism: [0xCA8d0747B5573D69653C3aC22242e6341C36e4b4](https://optimistic.etherscan.io/address/0xCA8d0747B5573D69653C3aC22242e6341C36e4b4#code)
- Gnosis (xDai): [0xCA8d0747B5573D69653C3aC22242e6341C36e4b4](https://gnosisscan.io/address/0xCA8d0747B5573D69653C3aC22242e6341C36e4b4#code)
- Polygon: [0xCA8d0747B5573D69653C3aC22242e6341C36e4b4](https://polygonscan.com/address/0xCA8d0747B5573D69653C3aC22242e6341C36e4b4#code)
- Fantom: [0xCA8d0747B5573D69653C3aC22242e6341C36e4b4](https://ftmscan.com/address/0xCA8d0747B5573D69653C3aC22242e6341C36e4b4#code)
- Moonbeam: [0xCA8d0747B5573D69653C3aC22242e6341C36e4b4](https://moonscan.io/address/0xCA8d0747B5573D69653C3aC22242e6341C36e4b4#code)
- Kava: [0xCA8d0747B5573D69653C3aC22242e6341C36e4b4](https://explorer.kava.io/address/0xCA8d0747B5573D69653C3aC22242e6341C36e4b4/contracts)
- Arbitrum: [0xCA8d0747B5573D69653C3aC22242e6341C36e4b4](https://arbiscan.io/address/0xCA8d0747B5573D69653C3aC22242e6341C36e4b4#code)
- Celo: [0xCA8d0747B5573D69653C3aC22242e6341C36e4b4](https://celoscan.io/address/0xCA8d0747B5573D69653C3aC22242e6341C36e4b4#code)
- Avalanche: [0xCA8d0747B5573D69653C3aC22242e6341C36e4b4](https://snowtrace.io/address/0xCA8d0747B5573D69653C3aC22242e6341C36e4b4#code)
- Aurora: [0xCA8d0747B5573D69653C3aC22242e6341C36e4b4](https://explorer.aurora.dev/address/0xCA8d0747B5573D69653C3aC22242e6341C36e4b4/contracts)
- Base: [0x5552b631e2aD801fAa129Aacf4B701071cC9D1f7](https://basescan.org/address/0x5552b631e2aD801fAa129Aacf4B701071cC9D1f7#code)
- BSC: [0x0fE38dCC905eC14F6099a83Ac5C93BF2601300CF](https://bscscan.com/address/0x0fE38dCC905eC14F6099a83Ac5C93BF2601300CF#code)
- Fraxtal: [0xCA8d0747B5573D69653C3aC22242e6341C36e4b4](https://fraxscan.com/address/0xCA8d0747B5573D69653C3aC22242e6341C36e4b4#code)
- X Layer: [0x0fE38dCC905eC14F6099a83Ac5C93BF2601300CF](https://www.oklink.com/ru/xlayer/address/0x0fe38dcc905ec14f6099a83ac5c93bf2601300cf/contract)
- Mantle: [0x0fE38dCC905eC14F6099a83Ac5C93BF2601300CF](https://mantlescan.xyz/address/0x0fe38dcc905ec14f6099a83ac5c93bf2601300cf#code)
- CryptoCalcZap (get_dx)
- Ethereum: [0xA72C85C258A81761433B4e8da60505Fe3Dd551CC](https://etherscan.io/address/0xA72C85C258A81761433B4e8da60505Fe3Dd551CC#code)
- Optimism: [0xA72C85C258A81761433B4e8da60505Fe3Dd551CC](https://optimistic.etherscan.io/address/0xA72C85C258A81761433B4e8da60505Fe3Dd551CC#code)
- Gnosis (xDai): [0xA72C85C258A81761433B4e8da60505Fe3Dd551CC](https://gnosisscan.io/address/0xA72C85C258A81761433B4e8da60505Fe3Dd551CC#code)
- Polygon: [0xA72C85C258A81761433B4e8da60505Fe3Dd551CC](https://polygonscan.com/address/0xA72C85C258A81761433B4e8da60505Fe3Dd551CC#code)
- Fantom: [0xA72C85C258A81761433B4e8da60505Fe3Dd551CC](https://ftmscan.com/address/0xA72C85C258A81761433B4e8da60505Fe3Dd551CC#code)
- Moonbeam: [0xA72C85C258A81761433B4e8da60505Fe3Dd551CC](https://moonscan.io/address/0xA72C85C258A81761433B4e8da60505Fe3Dd551CC#code)
- Kava: [0xA72C85C258A81761433B4e8da60505Fe3Dd551CC](https://explorer.kava.io/address/0xA72C85C258A81761433B4e8da60505Fe3Dd551CC/contracts)
- Arbitrum: [0xA72C85C258A81761433B4e8da60505Fe3Dd551CC](https://arbiscan.io/address/0xA72C85C258A81761433B4e8da60505Fe3Dd551CC#code)
- Celo: [0xA72C85C258A81761433B4e8da60505Fe3Dd551CC](https://celoscan.io/address/0xA72C85C258A81761433B4e8da60505Fe3Dd551CC#code)
- Avalanche: [0xA72C85C258A81761433B4e8da60505Fe3Dd551CC](https://snowtrace.io/address/0xA72C85C258A81761433B4e8da60505Fe3Dd551CC#code)
- Aurora: [0xA72C85C258A81761433B4e8da60505Fe3Dd551CC](https://explorer.aurora.dev/address/0xA72C85C258A81761433B4e8da60505Fe3Dd551CC/contracts)
- Base: [0xEfadDdE5B43917CcC738AdE6962295A0B343f7CE](https://basescan.org/address/0xEfadDdE5B43917CcC738AdE6962295A0B343f7CE#code)
- BSC: [0xd6681e74eEA20d196c15038C580f721EF2aB6320](https://bscscan.com/address/0xd6681e74eEA20d196c15038C580f721EF2aB6320#code)
- Fraxtal: [0x69522fb5337663d3B4dFB0030b881c1A750Adb4f](https://fraxscan.com/address/0x69522fb5337663d3B4dFB0030b881c1A750Adb4f#code)
- X Layer: [0x69522fb5337663d3B4dFB0030b881c1A750Adb4f](https://www.oklink.com/xlayer/address/0x69522fb5337663d3b4dfb0030b881c1a750adb4f/contract)
- Mantle: [0xd6681e74eEA20d196c15038C580f721EF2aB6320](https://mantlescan.xyz/address/0xd6681e74eea20d196c15038c580f721ef2ab6320#code)

## Testing and Development

### Dependencies

- [python3](https://www.python.org/downloads/release/python-368/) version 3.10 or greater, python3-dev
- [vyper](https://github.com/vyperlang/vyper) version [0.3.7](https://github.com/vyperlang/vyper/releases/tag/v0.3.7)
- [brownie](https://github.com/iamdefinitelyahuman/brownie) - tested with version [1.19.2](https://github.com/eth-brownie/brownie/releases/tag/v1.19.2)
- [brownie-token-tester](https://github.com/iamdefinitelyahuman/brownie-token-tester) - tested with version [0.3.2](https://github.com/iamdefinitelyahuman/brownie-token-tester/releases/tag/v0.3.2)
- [ganache-cli](https://github.com/trufflesuite/ganache-cli) - tested with version [6.12.2](https://github.com/trufflesuite/ganache-cli/releases/tag/v6.12.2)

### Setup

To get started, first create and initialize a Python [virtual environment](https://docs.python.org/3/library/venv.html). Next, clone the repo and install the developer dependencies:

```bash
git clone https://github.com/curvefi/curve-zaps.git
cd curve-zaps
pip install -r requirements.txt
```

### Running the Tests

#### To run the entire suite:

```bash
brownie test --network -fork

# network_name: mainnet (ethereum), optimism, xdai, polygon, fantom, arbitrum, avalanche
```

#### To run for particular pools:

```bash
brownie test --pools 3pool,compound,aave --network mainnet-fork
```

#### The list of available pools:

**mainnet (ethereum)**
```bash
PLAIN: 3pool,hbtc,link,sbtc2,seth,steth,susd,eurs,eurt,fraxusdc + aeth,reth (use rate)
LENDING: aave,saave,ib,usdt,compound
META: gusd,usdk,musd,rsv,dusd,usdp + rai (use rate)
FACTORY PLAIN: factory-v2-283,factory-v2-66,factory-v2-235 + factory-v2-303 (pool_type 10)
FACTORY META: tusd + factory-v2-9,factory-v2-144,factory-v2-247

#---------------

CRYPTO PLAIN: tricrypto2,eursusd,crveth,cvxeth,spelleth,teth,factory-crypto-37,factory-crypto-204
CRYPTO META: eurtusd,euroc,factory-crypto-116,factory-crypto-136
```

**optimism**
```bash
PLAIN: 3pool + wsteth (uses rate)
```

**xdai**
```bash
PLAIN: 3pool
META: rai (uses rate)

#---------------

CRYPTO META: eureusd
TRICRYPTO META: tricrypto
```

**polygon**
```bash
LENDING: aave
FACTORY META: factory-v2-107,factory-v2-339

#---------------

TRICRYPTO META: atricrypto3
TRICRYPTO DOUBLE META: crv-tricrypto, wmatic-tricrypto
```

**fantom**
```bash
PLAIN: 2pool
META: fusdt
LENDING: ib,geist

#---------------

CRYPTO: tricrypto,factory-crypto-7
```

**arbitrum**
```bash
PLAIN: 2pool + wsteth (uses rate)

#---------------

CRYPTO PLAIN: tricrypto
CRYPTO META: eursusd
```

**avalanche**
```bash
LENDING: aave,aaveV3
FACTORY META: factory-v2-99,factory-v2-66

#---------------

TRICYPTO META: atricrypto,avaxcrypto
```

### Deploy
```bash
brownie run deploy --network
```

## License

This project is licensed under the [MIT license](LICENSE).