An unofficial python client for Uniswap V3, built for human beings.
- version 0.0.1 - swaps
You are here
- Base classes
- Original scenarios from an official documentations
- "Creating a Pool instance"
- "Fetching Spot Prices"
- "Creating a Trade"
- (Extra) Execute a Trade
- version 0.0.2 - Position NFTs
- Mint
- Increase liquidity
- Decrease liquidity
- Collect
- Position info
- "Swap and Add Liquidity Atomically" (?)
- version 0.0.3 - multicall support
- multicall interface
- version 0.0.4 - Position NFT for humans
- Mint
- Increase liquidity
- Decrease liquidity
- Collect
- Position info
- version 0.0.5 - library design - client to BaseContract
- send_transaction to BaseContract
- multicall2 to decrease RPS of provider
- multiple providers
- version 0.0.6 - Position NFT for humans
- mint for Humans with the corner cases with ETH -> WETH
- test for the mint for Humans around pair with different decimals like ETH-USDT (18 vs 6?)
- increase liquidity with the corner cases with ETH -> WETH
- decrease liquidity with the corner cases with ETH -> WETH
- collect liquidity with the corner cases with ETH -> WETH
-
version 0.0.7 - PYPI publishing and docs
-
version 0.0.8 - finish with tests
-
version 0.0.9 - smart-routing / similar to AlphaRouter
- "Integrating the Auto Router"
Use export $(cat _.env | xargs)
to load yours _.env
file in the terminal.
END
Before testing run pip install -r requirements_dev.txt
.
Runs with pytest -vs tests/test_3.py -m devel --cov uniswap
.
For main branch releases will be executed via pytest tests -m release --cov uniswap
.
Please check tests/conftest.py
and pytest.ini
for details.
Notes:
- To collect docs from docstrings:
sphinx-apidoc -o source ../uniswap -M -f
- To clean and build docs:
make clean && make html