NOTE: Work In Progress
Uniswap V2 Usage:
>>> from uniswap_sdk import v2
>>> factory = v2.Factory()
>>> for pair in factory.get_all_pairs():
... print(pair) # WARNING: Will take 6 mins or more to fetch
>>> len(list(factory)) # Cached, almost instantaneous afterwards
396757
>>> from ape_tokens import tokens
>>> yfi = tokens["YFI"]
>>> for pair in factory.get_pairs_by_token(yfi):
... print(pair) # WARNING: Will take 12 mins or more to index
>>> len(factory["YFI"]) # Already indexed, almost instantaneous
73
>>> pair = factory.get_pair(yfi, tokens["USDC"]) # Single contract call
<uniswap_sdk.v2.Pair address=0xdE37cD310c70e7Fa9d7eD3261515B107D5Fe1F2d>
>>> for route in factory.find_routes(yfi, usdc, depth=3):
... # WARNING: For tokens with lots of pairs, exploring at depth of 3
... # or more will take a long time -- use the default of 2
... # Routes can be used for path planning now!
- python3 version 3.9 or greater, python3-dev
You can install the latest release via pip
:
pip install uniswap_sdk
You can clone the repository and use setuptools
for the most up-to-date version:
git clone https://github.com/SilverBackLtd/uniswap-sdk.git
cd uniswap-sdk
python3 setup.py install
TODO: Describe library overview in code
This project is in development and should be considered a beta. Things might not be in their final state and breaking changes may occur. Comments, questions, criticisms and pull requests are welcomed.
This project is licensed under the Apache 2.0.