Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/curvefi/curve-zaps
- Owner: curvefi
- Created: 2023-04-11T13:19:55.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-05-30T13:32:37.000Z (7 months ago)
- Last Synced: 2024-05-30T15:41:00.714Z (7 months ago)
- Language: Python
- Size: 232 KB
- Stars: 15
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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).